{"version":3,"file":"static/js/main.bdf02341.js","mappings":"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,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,E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I,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,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ACVmE,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,SACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,QACf1N,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,eACfpc,MAAO,YAEX,CACImO,QAASihM,EAAIhzL,EAAE,WACfpc,MAAO,SAGfukB,MAAO,CACH0tJ,SACI,+CAER0uE,kBAAkB,EAClBx4O,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,MACN+J,QAAS,MACThG,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,mBACN+J,QAASihM,EAAIhzL,EAAE,cACfjU,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,UACN+J,QAASihM,EAAIhzL,EAAE,WACfjU,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,QACN+J,QAASihM,EAAIhzL,EAAE,SACfmI,MAAO,CACH25C,QAAS,CACLl+D,MAAO,+BACPm3I,QACI,6DAGZhvI,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,gBACN+J,QAASihM,EAAIhzL,EAAE,iBACfjU,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,QACN+J,QAASihM,EAAIhzL,EAAE,SACfjU,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,MACN+J,QAAS,MACThG,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,YACNR,KAAM,OACN+J,QAAS,OACThG,GAAI,EACJD,GAAI,GAER,CACItD,KAAM,WACNR,KAAM,QACN+J,QAASihM,EAAIhzL,EAAE,SACfqyJ,KAAM,IAGdjhE,QAAS,CACL,CACIxlB,OAAe,OAARk+K,QAAQ,IAARA,GAAAA,EAAUuF,OACjB7mQ,KAAM,OACNuhF,QAAS4gC,EAAKi6F,cAAcyM,GArKhCA,KACR,OAARy4C,QAAQ,IAARA,GAAAA,EAAU/uP,GACVmvX,EAAe/hQ,OAAO,CAAEptH,GAAY,OAAR+uP,QAAQ,IAARA,OAAQ,EAARA,EAAU/uP,GAAIiL,OAAQqrM,IAE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AAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,UACvBiyL,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACNh1F,OAAQ,CACJ,CACIntB,KAAM,SACNR,KAAM,SACN+J,QAASihM,EAAIhzL,EAAE,UACf1N,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,UAEX,CACImO,QAASihM,EAAIhzL,EAAE,YACfpc,MAAO,aAGf2gP,kBAAkB,EAClBx4O,GAAI,EACJF,GAAI,GAER,CACIrD,KAAM,OACNR,KAAM,UACN+J,QAASihM,EAAIhzL,EAAE,WACfjU,GAAI,EACJF,GAAI,GAER,CACIrD,KAAM,OACNR,KAAM,UACN+J,QAASihM,EAAIhzL,EAAE,WACfjU,GAAI,EACJF,GAAI,GAER,CACIrD,KAAM,SACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,QACf1N,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,QACfpc,MAAO,QAEX,CACImO,QAASihM,EAAIhzL,EAAE,SACfpc,MAAO,SAEX,CAAEmO,QAAS,OAAQnO,MAAO,QAC1B,CACImO,QAAS,WACTnO,MAAO,YAEX,CAAEmO,QAAS,OAAQnO,MAAO,SAE9B2gP,kBAAkB,EAClBx4O,GAAI,EACJF,GAAI,GAER,CACIrD,KAAM,QACNR,KAAM,MACN+J,QAASihM,EAAIhzL,EAAE,SACfjU,GAAI,EACJF,GAAI,GAER,CACIrD,KAAM,SACNR,KAAM,cACN+J,QAASihM,EAAIhzL,EAAE,YACf1N,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EACT,uBAEJpc,MAAO,uBAEX,CACImO,QAASihM,EAAIhzL,EACT,uBAEJpc,MAAO,uBAEX,CACImO,QAASihM,EAAIhzL,EACT,uBAEJpc,MAAO,uBAEX,CACImO,QAASihM,EAAIhzL,EACT,uBAEJpc,MAAO,uBAEX,CACImO,QAASihM,EAAIhzL,EACT,uBAEJpc,MAAO,uBAEX,CACImO,QAASihM,EAAIhzL,EACT,uBAEJpc,MAAO,uBAEX,CACImO,QAASihM,EAAIhzL,EACT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U,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,UACN+J,QAASihM,EAAIhzL,EAAE,WACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,OACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,QACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,SACN+J,QAASihM,EAAIhzL,EAAE,UACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,UACNR,KAAM,UACN+J,QAASihM,EAAIhzL,EAAE,WACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,UACNR,KAAM,eACN+J,QAASihM,EAAIhzL,EAAE,gBACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,gBACN+J,QAASihM,EAAIhzL,EAAE,iBACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,cACN+J,QAASihM,EAAIhzL,EAAE,eACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,gBACN+J,QAASihM,EAAIhzL,EAAE,iBACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,cACN+J,QAASihM,EAAIhzL,EAAE,eACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,YACN+J,QAASihM,EAAIhzL,EAAE,aACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,gBACN+J,QAASihM,EAAIhzL,EAAE,iBACflU,GAAI,EACJD,GAAI,IAER,CACIrD,KAAM,YACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,QACflU,GAAI,EACJD,GAAI,KAGZulG,QAAS,CACL,CACI5oG,KAAM,OACNuhF,QAAS4gC,EAAKi6F,cAAcyM,GACxB6oM,EAAkB7oM,MAG1B,CACIzlI,OAAS,OAAFia,QAAE,IAAFA,GAAAA,EAAIwpK,OACX7mQ,KAAM,SACNuhF,QAASA,IAAMigT,EAAe7hQ,OAAO,CAAEptH,GAAM,OAAF8qF,QAAE,IAAFA,OAAE,EAAFA,EAAI9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SihM,EAAIhzL,EAAE,UACfhY,KAAM,SACN+D,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,YACfhY,KAAM,WACN+D,GAAI,GAER,CACIvD,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,YACfhY,KAAM,WACN+D,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,KACfhY,KAAM,IACN+D,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,KACfhY,KAAM,IACN+D,GAAI,GAER,CACIvD,KAAM,SACNR,KAAM,SACN+J,QAASihM,EAAIhzL,EAAE,UACf1N,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,UAEX,CACImO,QAASihM,EAAIhzL,EAAE,YACfpc,MAAO,YAEX,CACImO,QAASihM,EAAIhzL,EAAE,eACfpc,MAAO,eAEX,CACImO,QAASihM,EAAIhzL,EAAE,cACfpc,MAAO,eAGf2gP,kBAAkB,EAClBx4O,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,OACfhY,KAAM,MACN+D,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACN+D,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,cACfhY,KAAM,aACN+D,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,WACfhY,KAAM,UACN+D,GAAI,GAER,CACIgG,QAASihM,EAAIhzL,EAAE,aACfhY,KAAM,YACN+D,GAAI,GAER,CACIvD,KAAM,SACNR,KAAM,QACN+J,QAASihM,EAAIhzL,EAAE,SACf1N,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,iBACfpc,MAAO,GAEX,CACImO,QAASihM,EAAIhzL,EAAE,eACfpc,MAAO,GAEX,CACImO,QAASihM,EAAIhzL,EAAE,qBACfpc,MAAO,IAGf2gP,kBAAkB,EAClBx4O,GAAI,GAER,CACIvD,KAAM,QACNuJ,QAASihM,EAAIhzL,EAAE,aACfhY,KAAM,YACN+D,GAAI,IAGZqlG,QAAS,CACL,CACIxlB,OAAgB,OAAT86W,QAAS,IAATA,GAAe,QAANP,EAATO,EAAWj/a,YAAI,IAAA0+a,GAAM,QAANC,EAAfD,EAAiB9pN,YAAI,IAAA+pN,GAArBA,EAAuB/2L,OAC9B7mQ,KAAM,OACNuhF,QAAS4gC,EAAKi6F,cAAc2yO,GAnMpC9va,KAChB,IAAIjL,EACAiL,EAAKjL,WAELA,EAAWiL,EAAKjL,UAEpB0tX,EAAe/hQ,OAAO,CAAEptH,GAAI22R,EAAQ1rR,OAAQ,IAAKyB,EAAMjL,aAAa,EA8LxC4mQ,CAAWm0K,MAGnB,CACI3rW,MACa,OAAT86W,QAAS,IAATA,GAAe,QAANL,EAATK,EAAWj/a,YAAI,IAAA4+a,GAAM,QAANC,EAAfD,EAAiBhqN,YAAI,IAAAiqN,OAAZ,EAATA,EAAuBvrb,OACb,OAAT2rb,QAAS,IAATA,GAAe,QAANH,EAATG,EAAWj/a,YAAI,IAAA8+a,GAAM,QAANC,EAAfD,EAAiBlqN,YAAI,IAAAmqN,GAArBA,EAAuBn3L,OAC5B7mQ,KAAM,SACNuhF,QAASA,IACLigT,EAAe7hQ,OAAO,CAAEptH,GAAI22R,cAQhE,CCvVA,SANA,SAAqB9hS,GAAM,MAAHA,EAGpB,OAFA0+N,GAAc,YAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAA2B13W,GAAM,MAAHA,EAG1B,OAFA0+N,GAAc,kBAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAiC13W,GAAM,MAAHA,EAGhC,OAFA0+N,GAAc,wBAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,EAAGusW,aAAa,SACvC,ECEA,SANA,SAAkC13W,GAAM,MAAHA,EAGjC,OAFA0+N,GAAc,yBAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAoB13W,GAAM,MAAHA,EAGnB,OAFA0+N,GAAc,WAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAkD13W,GAAM,MAAHA,EAGjD,OAFA0+N,GAAc,6CAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAmD13W,GAAM,MAAHA,EAGlD,OAFA0+N,GAAc,6CAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAoB13W,GAAM,MAAHA,EAGnB,OAFA0+N,GAAc,WAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAgC13W,GAAM,MAAHA,EAG/B,OAFA0+N,GAAc,uBAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAkB13W,GAAM,MAAHA,EAGjB,OAFA0+N,GAAc,SAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECEA,SANA,SAAoB13W,GAAM,MAAHA,EAGnB,OAFA0+N,GAAc,WAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,EAAGusW,aAAa,SACvC,ECEA,SANA,SAA+B13W,GAAM,MAAHA,EAG9B,OAFA0+N,GAAc,sBAEP73C,EAAAA,GAAAA,KAACwwL,GAAM,CAAClsW,GAAI,GAAIusW,aAAa,SACxC,ECMe,SAAS6hF,GAAoBv5b,GAOxC,IAPyC,SACzC4iY,EAAQ,WACR42D,EAAU,OACVpwU,EAAM,SACN2rC,EAAQ,SACRn9I,EAAQ,SACR0wI,GACHtoJ,EACG,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBmhN,EAAc1B,KACd1oB,GAAiBjhQ,EAAAA,GAAAA,cAClB/iH,GAAWouY,EAAYZ,eAAqB,OAANxtY,QAAM,IAANA,OAAM,EAANA,EAAQjL,KAC/C,CACIq+G,UAAW8+B,IAGbgyO,GAAiBnhQ,EAAAA,GAAAA,cAClB/iH,GAAWouY,EAAYb,eAAqB,OAANvtY,QAAM,IAANA,OAAM,EAANA,EAAQjL,GAAU,OAANiL,QAAM,IAANA,OAAM,EAANA,EAAQA,SAC3D,CACIozG,UAAW5xG,IAGb4/O,GAAiBr+H,EAAAA,GAAAA,cAClB/iH,GAAWouY,EAAYd,eAAqB,OAANttY,QAAM,IAANA,OAAM,EAANA,EAAQA,SAC/C,CACIozG,UAAY3xG,IAAI,IAAA4hb,EAAA,OAAK1kS,EAAa,OAAJl9I,QAAI,IAAJA,GAAc,QAAV4hb,EAAJ5hb,EAAM+qX,gBAAQ,IAAA62D,OAAV,EAAJA,EAAgBtub,GAAG,IAGnD4vG,EAAOo8F,MACN,CAAEu2B,GAAUrP,GAAU,CACzB+7J,EAAehxQ,OACfkxQ,EAAelxQ,OACfouI,EAAepuI,SAqCnB,OApBA3xD,EAAAA,EAAAA,YAAU,KACS,YAAX2xD,GAAwBw5Q,EACxB7nR,EAAKliF,MAAM,CACP1tB,GAAY,OAARy3X,QAAQ,IAARA,OAAQ,EAARA,EAAUz3X,GACduub,UAAWF,EACXphc,KAAc,OAARwqY,QAAQ,IAARA,OAAQ,EAARA,EAAUxqY,KAChB2oN,YAAqB,OAAR6hL,QAAQ,IAARA,OAAQ,EAARA,EAAU7hL,YACvB8hL,QAAiB,OAARD,QAAQ,IAARA,OAAQ,EAARA,EAAUC,UAGvB9nR,EAAKliF,MAAM,CACP1tB,GAAI,GACJuub,UAAWF,EACXphc,KAAM,GACN2oN,YAAa,GACb8hL,QAAS,IAEjB,GACD,CAACD,KAGAroK,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACD7mD,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACN63I,YAAwB,YAAXxpI,EACbrjG,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,KACN+J,QAAS,KACTnK,UAAU,GAEd,CACIY,KAAM,SACNR,KAAM,YACN+J,QAASihM,EAAIhzL,EAAE,WACf1N,QAAS,CACL,CAAEP,QAAS,KAAMnO,MAAO,GACxB,CAAEmO,QAAS,KAAMnO,MAAO,IAE5B2gP,kBAAkB,EAClB38O,UAAU,GAEd,CACIY,KAAM,YACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,SAEnB,CACIxX,KAAM,YACNR,KAAM,cACN+J,QAASihM,EAAIhzL,EAAE,gBAEnB,CACIxX,KAAM,WACNR,KAAM,UACN+J,QAASihM,EAAIhzL,EAAE,WACfqyJ,KAAM,KAGdjhE,QAAS,CACL,CACIxlB,OAAe,OAAR4mT,QAAQ,IAARA,GAAAA,EAAUnjI,OACjB7mQ,KAAM,OACNuhF,QAAS4gC,EAAKi6F,cAAcyM,GA5ExBA,KACR,OAARmhL,QAAQ,IAARA,GAAAA,EAAUz3X,GACVmvX,EAAe/hQ,OAAO,CAAEptH,GAAY,OAARy3X,QAAQ,IAARA,OAAQ,EAARA,EAAUz3X,GAAIiL,OAAQqrM,IAElD+1C,EAAej/H,OAAO,CAAEniH,OAAQqrM,GACpC,EAwEoBk4O,CAAel4O,MAGvB,CACIzlI,MAAc,OAAR4mT,QAAQ,IAARA,OAAQ,EAARA,EAAUz3X,OAAe,OAARy3X,QAAQ,IAARA,GAAAA,EAAUnjI,OACjC7mQ,KAAM,SACNuhF,QAASA,IACLigT,EAAe7hQ,OAAO,CAAEptH,GAAY,OAARy3X,QAAQ,IAARA,OAAQ,EAARA,EAAUz3X,WAMlE,CC/He,SAASyub,GAA2B55b,GAO/C,IAPgD,WAChD65b,EAAU,cACVC,EAAa,QACbh7R,EAAO,SACP/J,EAAQ,SACRn9I,EAAQ,SACR0wI,GACHtoJ,EACG,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBmhN,EAAc1B,KACd/nS,EAAOo8F,MACNh2L,EAAU8S,IAAeyjC,EAAAA,EAAAA,UAASoiY,GACnC1/D,GAAiBjhQ,EAAAA,GAAAA,cAClB/iH,GAAWouY,EAAYT,uBAA6B,OAAN3tY,QAAM,IAANA,OAAM,EAANA,EAAQjL,KACvD,CACIq+G,UAAW8+B,IAGbgyO,GAAiBnhQ,EAAAA,GAAAA,cAClB/iH,GACGouY,EAAYV,uBAA6B,OAAN1tY,QAAM,IAANA,OAAM,EAANA,EAAQjL,GAAU,OAANiL,QAAM,IAANA,OAAM,EAANA,EAAQA,SAC3D,CACIozG,UAAY3xG,IACRD,EAASC,GACToc,EAAgB,OAAJpc,QAAI,IAAJA,OAAI,EAAJA,EAAMkib,iBAAiB,IAIzCviM,GAAiBr+H,EAAAA,GAAAA,cAClB/iH,GACGouY,EAAYX,uBAA6B,OAANztY,QAAM,IAANA,OAAM,EAANA,EAAQjL,GAAU,OAANiL,QAAM,IAANA,OAAM,EAANA,EAAQA,SAC3D,CACIozG,UAAY3xG,IACRk9I,EAASl9I,GACToc,EAAgB,OAAJpc,QAAI,IAAJA,OAAI,EAAJA,EAAMkib,iBAAiB,KAIxC,CAAErsN,GAAUrP,GAAU,CACzB+7J,EAAehxQ,OACfkxQ,EAAelxQ,OACfouI,EAAepuI,SA8CnB,OA5BA3xD,EAAAA,EAAAA,YAAU,KACFt2C,EACA45F,EAAKliF,MAAM,CACP1tB,GAAY,OAARgW,QAAQ,IAARA,OAAQ,EAARA,EAAUhW,GACd86O,QAAiB,OAAR9kO,QAAQ,IAARA,OAAQ,EAARA,EAAU8kO,QACnBrtP,KAAc,OAARuoB,QAAQ,IAARA,OAAQ,EAARA,EAAUvoB,KAChBR,KAAc,OAAR+oB,QAAQ,IAARA,OAAQ,EAARA,EAAU4qC,MAChBg1J,YAAqB,OAAR5/L,QAAQ,IAARA,OAAQ,EAARA,EAAU4/L,cAG3BhmG,EAAKliF,MAAM,CACP1tB,GAAI,GACJ86O,QAAS,IAAI/uO,KACbte,KAAM,GACNR,KAAM,GACN2oN,YAAa,IAErB,GACD,CAAC5/L,KAMJs2C,EAAAA,EAAAA,YAAU,KACNxjC,EAAY6la,EAAc,GAC3B,CAACA,KAGAjzQ,EAAAA,GAAAA,KAACq9C,GAAS,CACN9kE,MAAOgkC,EAAIhzL,EAAE,YACbuZ,SAAS,KACTqyI,KAAmB,OAAb76I,EACN29I,QAASA,EACTyC,SACIg5D,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACD7mD,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACNh1F,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,KACN+J,QAAS,KACTnK,UAAU,GAEd,CACIY,KAAM,OACNR,KAAM,UACN+J,QAASihM,EAAIhzL,EAAE,WACfpY,UAAU,GAEd,CACIY,KAAM,YACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,SAEnB,CACIxX,KAAM,YACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,SAEnB,CACIxX,KAAM,YACNR,KAAM,cACN+J,QAASihM,EAAIhzL,EAAE,sBAMnCoxF,QAAS,CACL,CACI5oG,KAAM,OACNuhF,QAAS4gC,EAAKi6F,cAAcyM,GArFpBA,KACR,OAARtgM,QAAQ,IAARA,GAAAA,EAAUhW,GACVmvX,EAAe/hQ,OAAO,CAAEptH,GAAY,OAARgW,QAAQ,IAARA,OAAQ,EAARA,EAAUhW,GAAIiL,OAAQqrM,IAElD+1C,EAAej/H,OAAO,CAAEptH,GAAI0ub,EAAYzjb,OAAQqrM,GACpD,EAiFgBu4O,CAAev4O,MAGvB,CACI7oN,KAAM,SACNuhF,QAASA,IAAMigT,EAAe7hQ,OAAO,CAAEptH,GAAY,OAARgW,QAAQ,IAARA,OAAQ,EAARA,EAAUhW,QAKzE,CCrJe,SAAS8ub,GAAuBj6b,GAAgB,IAAf,SAAE4iY,GAAU5iY,EACxD,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBliL,EAAU8S,IAAeyjC,EAAAA,EAAAA,UAAS,MACnCsgE,GAAcD,EAAAA,GAAAA,kBACdysR,EAAc1B,KAEpB,OACIvoL,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACH2wP,WAAY,CACR73Q,KAAM,SACNuJ,QAASihM,EAAIhzL,EAAE,UACf+pE,QAASA,IAAMlmD,EAAY,CAAC,OAMpC4yJ,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUuhH,GACVhiH,QAAUrwG,GACNouY,EAAYf,YAAkB,OAANrtY,QAAM,IAANA,OAAM,EAANA,EAAQjL,GAAI,CAAC,GAAGkpG,MAAMx8F,IAAI,IAAA4hb,EAAAS,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,MAAM,CACpDtrb,MAAW,OAAJ0I,QAAI,IAAJA,GAAc,QAAV4hb,EAAJ5hb,EAAM+qX,gBAAQ,IAAA62D,GAAY,QAAZS,EAAdT,EAAgBxva,kBAAU,IAAAiwa,GAA1BA,EAA4Bz3R,KACzB,OAAJ5qJ,QAAI,IAAJA,GAAc,QAAVsib,EAAJtib,EAAM+qX,gBAAQ,IAAAu3D,GAAY,QAAZC,EAAdD,EAAgBlwa,kBAAU,IAAAmwa,GAAM,QAANC,EAA1BD,EAA4B33R,YAAI,IAAA43R,OAA5B,EAAJA,EAAkC7hc,OAClC,EACNiqK,KAAU,OAAJ5qJ,QAAI,IAAJA,GAAc,QAAVyib,EAAJzib,EAAM+qX,gBAAQ,IAAA03D,GAAY,QAAZC,EAAdD,EAAgBrwa,kBAAU,IAAAswa,GAA1BA,EAA4B93R,KACxB,OAAJ5qJ,QAAI,IAAJA,GAAc,QAAV2ib,EAAJ3ib,EAAM+qX,gBAAQ,IAAA43D,GAAY,QAAZC,EAAdD,EAAgBvwa,kBAAU,IAAAwwa,OAAtB,EAAJA,EAA4Bh4R,KAC5B,GACT,IAEL09E,aAAc,CACV5yH,UAAmB,OAARq1Q,QAAQ,IAARA,IAAAA,EAAUz3X,KAAuB,YAAT,OAARy3X,QAAQ,IAARA,OAAQ,EAARA,EAAUz3X,KAEzC+kP,YAAa,CACT/kP,GAAY,OAARy3X,QAAQ,IAARA,OAAQ,EAARA,EAAUz3X,IAElB88P,WAAa/O,GAAQjlO,EAAYilO,GACjCz/E,YAAa,IACb3/E,QAAS,CACL,CACIslE,MAAO,OACPrzG,MAAO,OACP/3D,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIskQ,EAAI9gQ,QAE5B,CACIgnK,MAAO,cACPrzG,MAAO,cACPsS,MAAO,QAEX,CACI+gG,MAAO,OACPrzG,MAAO,YAMnB86H,EAAAA,GAAAA,KAAC+yQ,GAA2B,CACxBC,WAAoB,OAARj3D,QAAQ,IAARA,OAAQ,EAARA,EAAUz3X,GACtB2ub,cAAe34a,EACf29I,QAASA,IAAM7qI,EAAY,MAC3B8gI,SAAUA,IACN/8B,EAAYnE,kBACR40G,IAGR7wN,SAAUA,IACNogH,EAAYnE,kBACR40G,IAGRngF,SAAUA,KACNr0H,EAAY,MACZ+jG,EAAYnE,kBACR40G,GACH,MAKrB,CC5Ee,SAASiyN,GAAa16b,GAA+B,IAAD26b,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAA7B,GAAE7vb,EAAE,WAAEqub,EAAU,QAAE16R,GAAS9+J,EAC7D,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBrrE,GAAcD,EAAAA,GAAAA,kBACdysR,EAAc1B,MACb+2C,EAAYoB,IAAiBvjY,EAAAA,EAAAA,UAASvsD,GACvC+vb,GAAgBp8T,EAAAA,GAAAA,UAClB,CAAC0pG,GAAsB,CAAEr9N,GAAI0ub,KAC7B,IAAMr1C,EAAYf,YAAYo2C,IAC9B,CAAEtsU,UAAWssU,GAA6B,WAAfA,IAU/B,OAJApiY,EAAAA,EAAAA,YAAU,KACNwjY,EAAc9vb,EAAG,GAClB,CAACA,KAGA07K,EAAAA,GAAAA,KAAC6oD,GAAa,CACV1zE,KAAqB,OAAf69R,EACN/6R,QAASA,EACTM,MAEiB,OAAb87R,QAAa,IAAbA,GAAAA,EAAeriU,UACT,GACa,OAAbqiU,QAAa,IAAbA,GAAmB,QAANP,EAAbO,EAAerjb,YAAI,IAAA8ib,GAAU,QAAVC,EAAnBD,EAAqB/3D,gBAAQ,IAAAg4D,GAA7BA,EAA+Bzvb,GAChB,OAAb+vb,QAAa,IAAbA,GAAmB,QAANL,EAAbK,EAAerjb,YAAI,IAAAgjb,GAAU,QAAVC,EAAnBD,EAAqBj4D,gBAAQ,IAAAk4D,OAAhB,EAAbA,EAA+B1ic,KAC/BgrM,EAAIhzL,EAAE,0BACjBxb,UAEDiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJC,KAAM,CACF,CACIz1U,QAASihM,EAAIhzL,EAAE,UACflb,WACI2xL,EAAAA,GAAAA,KAAC0yQ,GAAoB,CACjB32D,SAAuB,OAAbs4D,QAAa,IAAbA,GAAmB,QAANH,EAAbG,EAAerjb,YAAI,IAAAkjb,OAAN,EAAbA,EAAqBn4D,SAC/B42D,WAAYA,EACZpwU,OAAqB,OAAb8xU,QAAa,IAAbA,OAAa,EAAbA,EAAe9xU,OACvB2rC,SAAUkmS,EACVrjb,SAAWC,IAAI,IAAA4hb,EAAA,OACXzhU,EAAYrF,aACR,CACI61G,GACA,CAAEr9N,GAAQ,OAAJ0M,QAAI,IAAJA,GAAc,QAAV4hb,EAAJ5hb,EAAM+qX,gBAAQ,IAAA62D,OAAV,EAAJA,EAAgBtub,KAE1B0M,EACH,EAELywI,SAAUwW,KAItB,CACI38J,QAASihM,EAAIhzL,EAAE,cACf4rE,KAAqB,WAAf69W,EACN3kc,WACI2xL,EAAAA,GAAAA,KAACozQ,GAAuB,CACpBr3D,SAAuB,OAAbs4D,QAAa,IAAbA,GAAmB,QAANF,EAAbE,EAAerjb,YAAI,IAAAmjb,OAAN,EAAbA,EAAqBp4D,oBAUvE,gBCzEe,SAASu4D,GAAyBn7b,GAI7C,IAJ8C,gBAC9Co7b,EAAe,QACft8R,EAAO,SACP/J,GACH/0J,EACG,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjB0uD,EAAa9Q,KACblmI,EAAOo8F,MACNkkP,EAAYC,IAAiB5jY,EAAAA,EAAAA,UAAS0jY,GACvC5jM,GAAiBr+H,EAAAA,GAAAA,cAClB/iH,GACG27O,EAAWhQ,qBAA2B,OAAN3rO,QAAM,IAANA,OAAM,EAANA,EAAQgtO,KAAY,OAANhtO,QAAM,IAANA,OAAM,EAANA,EAAQ4rO,YAC1D,CACIx4H,UAAY3xG,IACRk9I,EAASl9I,GACTyjb,EAAkB,OAAJzjb,QAAI,IAAJA,OAAI,EAAJA,EAAMs/O,cAAc,KAIvC,CAAEzpB,GAAUrP,GAAU,CAACm5B,EAAepuI,SA2B7C,OAtBA3xD,EAAAA,EAAAA,YAAU,KACW,IAAD8jY,EAAAC,EAAZH,EACAtgV,EAAKliF,MAAM,CACPuqN,KAAgB,OAAVi4M,QAAU,IAAVA,GAAc,QAAJE,EAAVF,EAAYplW,UAAE,IAAAslW,OAAJ,EAAVA,EAAgBpwb,GACtB62O,UAAqB,OAAVq5M,QAAU,IAAVA,GAAuB,QAAbG,EAAVH,EAAYhkM,mBAAW,IAAAmkM,OAAb,EAAVA,EAAyBrwb,KAGxC4vG,EAAKliF,MAAM,CACPuqN,KAAM,GACNpB,UAAW,IAEnB,GACD,CAACq5M,KAMJ5jY,EAAAA,EAAAA,YAAU,KACN6jY,EAAcF,EAAgB,GAC/B,CAACA,KAGA7gO,EAAAA,GAAAA,MAACmV,GAAa,CACV1zE,KAAqB,OAAfq/R,EACNv8R,QAASA,EACTM,MAAOgkC,EAAIhzL,EAAE,wBAAwBxb,SAAA,CAEpC84O,GACD7mD,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACNh1F,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,SAEnB,CACIxX,KAAM,YACNR,KAAM,YACN+J,QAASihM,EAAIhzL,EAAE,eAGvBoxF,QAAS,CACL,CACI5oG,KAAM,OACNuhF,QAAS4gC,EAAKi6F,cAAcyM,GACxB+1C,EAAej/H,OAAO,IAAKkpF,gBAS/D,CCOA,MAAMj8L,IAAY/S,EAAAA,GAAAA,GAAW,CACzBsjU,aAAc,CACV,UAAW,CACPtuL,OAAQ,UACRzyJ,MAAO,6CCxGnB,MAAMwwB,GAAY/S,IAAW,MACzBgpb,SAAU,CACNjlc,MAAO,QACPC,OAAQ,OACR4lB,OAAQ,oBACR7Z,aAAc,MACd8Z,OAAQ,MACRC,QAAS,MACT,UAAW,CACPkrI,OAAQ,UACRxiE,gBAAiB,gCAUd,SAASy2W,GAAe17b,GAAyB,IAAxB,QAAE8nP,EAAO,SAAElhK,GAAU5mF,EACzD,MAAMnL,EAAU2wB,KAMhB,OACIqhK,EAAAA,GAAAA,KAACa,GAAG,CAAC5yL,UAAWD,EAAQ4mc,SAAUthX,QAASyM,EAAShyF,UAChD2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAACtC,MAAO,CAAEhhB,OAAQ,QAAU8xB,WAAW,SAAQ3zB,SAAA,EAC1DiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAGwb,MAAO,CAAEwU,UAAW,UAAWr3B,UAC7CiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SAAEkzP,EAAQ76O,UAEtC45K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAGwb,MAAO,CAAEwU,UAAW,UAAWr3B,UAC7CiyL,EAAAA,GAAAA,KAAC80Q,GAAAA,EAAU,OAEf90Q,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAGwb,MAAO,CAAEwU,UAAW,UAAWr3B,UAC7C2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CACAjwK,MAAO,CACHwtE,gBAE+B,IAA3B6iK,EAAQ+3I,QAAQrnY,OACV,MAC2B,IAA3BsvP,EAAQ+3I,QAAQrnY,OACd,QACA,SACZ+jB,QAAS,EACT/Z,aAAc,GAChB5N,SAAA,CAEDkzP,EAAQ+3I,QAAQrnY,OAAO,cAMhD,kFChCe,SAASojc,GAAqB57b,GAAmB,IAAlB,GAAEmL,EAAE,QAAE2zJ,GAAS9+J,EACzD,MAAMnL,EAAU2wB,MACV,UAAEixC,GAAc0oK,MACfwpB,EAAa4qE,GAAkB9+T,EAAAA,SAAe,OAOrD,OACIoyL,EAAAA,GAAAA,KAAC6oD,GAAa,CACV1zE,KAAa,OAAP7wJ,EACN2zJ,QAASA,EACTM,MAAO3oG,EAAU,WACjBo5K,eACIhpD,EAAAA,GAAAA,KAAChwC,GAAS,CAAAjiJ,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAGkrB,eAAe,SAAQ1zB,SAAA,EAC/CiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAEvH,UACrB2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CACAhxL,QAAQ,OACR+xB,SAAU,EACVH,eAAe,aACfC,WAAW,SACXH,cAAc,MAAKxzB,SAAA,EAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SAAC,YACzBiyL,EAAAA,GAAAA,KAACa,GAAG,CAACvwC,WAAY,EAAEviJ,UACfiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,KACRhmI,MAAO,CACHziB,MAAO,QACPmM,WAAY,QACdvM,SACL,sBAMb2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAACoN,MAAI,EAAC/pB,QAAS,EAAGnB,GAAI,GAAIE,GAAI,EAAEvH,SAAA,EAC3CiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAAvyB,UACNiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5nK,EAAG,EACHppB,QAAQ,OACR4xB,eAAe,SACfC,WAAW,SACXzzB,UAAW,GAAGD,EAAQgnc,mBAAmBhnc,EAAQinc,YAAYlnc,UAE7D2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACk1Q,GAAkBA,EAAI,OAE3Bl1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACRp/E,MAAM,SAAQzpE,SACjB,yCAOjBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAAvyB,UACNiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5nK,EAAG,EACHppB,QAAQ,OACR4xB,eAAe,SACfC,WAAW,SACXzzB,UAAW,GAAGD,EAAQgnc,mBAAmBhnc,EAAQinc,YAAYlnc,UAE7D2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACm1Q,GAA4BA,EAAI,OAErCn1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACRp/E,MAAM,SAAQzpE,SACjB,oCAOjBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAAvyB,UACNiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5nK,EAAG,EACHppB,QAAQ,OACR4xB,eAAe,SACfC,WAAW,SACXzzB,UAAW,GAAGD,EAAQgnc,mBAAmBhnc,EAAQinc,YAAYlnc,UAE7D2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACo1Q,GAAgBA,EAAI,OAEzBp1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACRp/E,MAAM,SAAQzpE,SACjB,iCAUhCA,UAEDiyL,EAAAA,GAAAA,KAAChwC,GAAS,CAAAjiJ,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAGkrB,eAAe,SAAQ1zB,SAAA,EAC/CiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAEvH,UACrBiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,EACAiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SAAC,0CAGzBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,YACRhmI,MAAO,CACHziB,MAAO,MACPmM,WAAY,QACdvM,SACL,0BAGDiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,UAAS7oJ,SAAC,sCAQ9CiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAEvH,UACrBiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAChxL,QAAQ,OAAO2xB,SAAS,OAAOvI,EAAG,EAAElrB,SAAA,EACrC2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAGoK,EAAG,EAAGp1B,UAAWD,EAAQqnc,SAAStnc,SAAA,EACzC2lO,EAAAA,GAAAA,MAACz1C,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTtI,UAAWD,EAAQinc,UAAUlnc,SAAA,EAE7BiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACroC,GAAM,CAAA5pJ,SAAC,SAEZiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACa,GAAG,CAACjwK,MAAO,CAAEkS,SAAU,KAAM/0B,UAC1BiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,iDAM3BiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACT,oCAKTiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTkrB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAACs1Q,GAAqBA,EAAI,cAM1C5hO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAGoK,EAAG,EAAGp1B,UAAWD,EAAQqnc,SAAStnc,SAAA,EACzC2lO,EAAAA,GAAAA,MAACz1C,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTtI,UAAWD,EAAQinc,UAAUlnc,SAAA,EAE7BiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACroC,GAAM,CAAA5pJ,SAAC,SAEZiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACa,GAAG,CAACjwK,MAAO,CAAEkS,SAAU,KAAM/0B,UAC1BiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,iDAM3BiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACT,oCAKTiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTkrB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAACs1Q,GAAqBA,EAAI,cAM1C5hO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAGoK,EAAG,EAAGp1B,UAAWD,EAAQqnc,SAAStnc,SAAA,EACzC2lO,EAAAA,GAAAA,MAACz1C,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTtI,UAAWD,EAAQinc,UAAUlnc,SAAA,EAE7BiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACroC,GAAM,CAAA5pJ,SAAC,SAEZiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACa,GAAG,CAACjwK,MAAO,CAAEkS,SAAU,KAAM/0B,UAC1BiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,iDAM3BiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACT,oCAKTiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTkrB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAACs1Q,GAAqBA,EAAI,cAM1Ct1Q,EAAAA,GAAAA,KAACa,GAAG,CACA5nK,EAAG,EACHoK,EAAG,EACHxzB,QAAQ,OACR4xB,eAAe,SACfC,WAAW,SACXzzB,UAAW,GAAGD,EAAQunc,eAAevnc,EAAQinc,YAAYlnc,UAEzD2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACw1Q,GAAwBA,EAAI,OAEjCx1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,qCAU3CiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAEvH,UACrBiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAChxL,QAAQ,OAAO2xB,SAAS,OAAOvI,EAAG,EAAElrB,SAAA,EACrC2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAGoK,EAAG,EAAGp1B,UAAWD,EAAQqnc,SAAStnc,SAAA,EACzC2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACy1Q,GAAqBA,EAAI,OAE9Bz1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACa,GAAG,CAACjwK,MAAO,CAAEkS,SAAU,KAAM/0B,UAC1BiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,yBAK3BiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACT,yBAKT2lO,EAAAA,GAAAA,MAACz1C,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTkrB,eAAe,SACfC,WAAW,SAAQ3zB,SAAA,EAEnBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAAC01Q,GAAcA,EAAI,SAG3B11Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,UAAS7oJ,SAAC,SAIlCiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAAC21Q,GAAWA,EAAI,eAMhCjiO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAGoK,EAAG,EAAGp1B,UAAWD,EAAQqnc,SAAStnc,SAAA,EACzC2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACy1Q,GAAqBA,EAAI,OAE9Bz1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,uBAIvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACT,yBAKT2lO,EAAAA,GAAAA,MAACz1C,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTkrB,eAAe,SACfC,WAAW,SAAQ3zB,SAAA,EAEnBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAAC01Q,GAAcA,EAAI,SAG3B11Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,UAAS7oJ,SAAC,SAIlCiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAAC21Q,GAAWA,EAAI,eAMhCjiO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAGoK,EAAG,EAAGp1B,UAAWD,EAAQqnc,SAAStnc,SAAA,EACzC2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACy1Q,GAAqBA,EAAI,OAE9Bz1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,uBAIvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACT,yBAKT2lO,EAAAA,GAAAA,MAACz1C,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTkrB,eAAe,SACfC,WAAW,SAAQ3zB,SAAA,EAEnBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAAC01Q,GAAcA,EAAI,SAG3B11Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,UAAS7oJ,SAAC,SAIlCiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,EACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPnqJ,MAAO,CAAEziB,MAAO,WAAYJ,UAE5BiyL,EAAAA,GAAAA,KAAC21Q,GAAWA,EAAI,eAMhC31Q,EAAAA,GAAAA,KAACa,GAAG,CACA5nK,EAAG,EACHoK,EAAG,EACHxzB,QAAQ,OACR4xB,eAAe,SACfC,WAAW,SACXzzB,UAAW,GAAGD,EAAQunc,eAAevnc,EAAQinc,YAAYlnc,UAEzD2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAACw1Q,GAAwBA,EAAI,OAEjCx1Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD/qK,WAAS,EACToN,MAAI,EACJlrB,GAAI,GACJqsB,eAAe,SACfC,WAAW,SAAQ3zB,UAEnBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACK,QAAM,EAAA3jL,SAAC,sCAU3CiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAEvH,UACrB2lO,EAAAA,GAAAA,MAACzf,GAAK,CAACK,SAAS,OAAMvmN,SAAA,EAClBiyL,EAAAA,GAAAA,KAAC0jQ,GAAU,CAAA31b,SAAC,0CAEC,gRAYzC,CAEA,MAAM4wB,GAAY/S,IAAYnc,IAAK,CAC/Bmmc,iBAAkB,CACd,QAAS,CACLjmc,MAAO,SACPC,OAAQ,WAGhBqlc,UAAW,CACPt5b,aAAc,MACd,UAAW,CACPilJ,OAAQ,UACRxiE,gBAAiB,4BAGzBi3W,SAAU,CAENzlc,OAAQ,IACRzB,MAAO,UAEPwN,aAAc,MACdyiF,gBAAiB,UACjBtlE,KAAM,GAcVy8a,YAAa,CACTz8a,KAAM,EAENlpB,OAAQ,IACRzB,MAAO,UACPwN,aAAc,MACdyiF,gBAAiB,WAErB42W,gBAAiB,CACbrlc,MAAO,IACPC,OAAQ,GACRzB,MAAO,UACPwN,aAAc,MACdyiF,gBAAiB,eCtuBzB,MAAMz/D,GAAY/S,IAAW,MACzBquX,UAAW,CACPrqY,OAAQ,OACR6lB,OAAQ,EACRC,QAAS,GAEbwkX,aAAc,CACVl3W,UAAW,OACXk0D,UAAW,OACXC,UAAW,YAoEb0+W,GAAqB,CACvBvxb,GAAI,GACJ8B,KAAM,QACN0vb,qBAAsB,EACtB98D,QAAS,GACTh5I,KAAM,CACF,CACI6zI,MAAO,GACP30I,MAAO,KAEX,CACI20I,MAAO,EACP30I,MAAO,MAKb62M,GAAqB,CACvBztb,MAAO,GACPszJ,KAAM,CAnFiB,CACvBt3J,GAAI,GACJ8B,KAAM,QACN0vb,qBAAsB,EACtB98D,QAAS,CACL,CACI10X,GAAI,EACJ/S,KAAM,aAEV,CACI+S,GAAI,EACJ/S,KAAM,aAEV,CACI+S,GAAI,EACJ/S,KAAM,aAEV,CACI+S,GAAI,EACJ/S,KAAM,cAGdyuP,KAAM,CACF,CACI6zI,MAAO,GACP30I,MAAO,KAEX,CACI20I,MAAO,EACP30I,MAAO,MAKQ,CACvB56O,GAAI,GACJ8B,KAAM,QACN0vb,qBAAsB,EACtB98D,QAAS,CACL,CACI10X,GAAI,EACJ/S,KAAM,aAEV,CACI+S,GAAI,EACJ/S,KAAM,aAEV,CACI+S,GAAI,EACJ/S,KAAM,cAGdyuP,KAAM,CACF,CACI6zI,MAAO,GACP30I,MAAO,KAEX,CACI20I,MAAO,EACP30I,MAAO,MA2BX22M,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,KCvHR,MAAMl3a,GAAY/S,IAAW,MACzBquX,UAAW,CACPrqY,OAAQ,OACR6lB,OAAQ,EACRC,QAAS,GAEbwkX,aAAc,CACVl3W,UAAW,OACXk0D,UAAW,OACXC,UAAW,YClDnB,IAAel1E,EAAAA,GAAaA,GAAerU,EAAAA,cAAoB,OAAQ,CACrEme,EAAG,8DACD,mfCUE4S,GAAY/S,IAAYnc,IAAK,CAC/Bumc,cAAe,CACX,CAACvmc,EAAMyF,YAAYW,GAAG,MAAO,CACzBitB,SAAU,MACVwtH,WAAY,KACZpyD,YAAa,MAEjB,CAACzuF,EAAMyF,YAAYW,GAAG,MAAO,CACzBitB,SAAU,MACVwtH,WAAY,MACZpyD,YAAa,OAEjB,CAACzuF,EAAMyF,YAAYW,GAAG,OAAQ,CAC1BitB,SAAU,MACVwtH,WAAY,MACZpyD,YAAa,OAEjB,CAACzuF,EAAMyF,YAAYW,GAAG,OAAQ,CAC1BitB,SAAU,MACVwtH,WAAY,MACZpyD,YAAa,QAGrBhrE,UAAW,CACPkrE,gBAAiB,UACjBziF,aAAc,QAElB48J,MAAO,CACHl/J,WAAY,SACZiB,WAAY,MACZnM,MAAO,QACP,CAACsB,EAAMyF,YAAYiB,KAAK,MAAO,CAC3B3H,SAAU,MACVgM,cAAe,OAEnB,CAAC/K,EAAMyF,YAAYW,GAAG,MAAO,CACzBrH,SAAU,MACVgM,cAAe,QAGvBoyQ,SAAU,CACNvzQ,WAAY,SACZlL,MAAO,QACPmM,WAAY,OACZ,CAAC7K,EAAMyF,YAAYiB,KAAK,MAAO,CAC3B3H,SAAU,MACVgM,cAAe,OAEnB,CAAC/K,EAAMyF,YAAYW,GAAG,MAAO,CACzBrH,SAAU,MACVgM,cAAe,QAGvBy7b,SAAU,CACN58b,WAAY,SACZlL,MAAO,QACPmM,WAAY,OACZ9L,SAAU,QACVgM,cAAe,OAEnB07b,mBAAoB,CAChBl4W,aAAc,QAElBm4W,cAAe,CACX98b,WAAY,SACZlL,MAAO,QACPmM,WAAY,OACZ9L,SAAU,QACVgM,cAAe,MACfwjF,aAAc,OACd54D,UAAW,UAEfgxa,cAAe,CACXp4W,aAAc,QAElB5mF,KAAM,CACFiC,WAAY,SACZlL,MAAO,QACPi3B,UAAW,SACX44D,aAAc,MACd,CAACvuF,EAAMyF,YAAYiB,KAAK,MAAO,CAC3B3H,SAAU,MACVgM,cAAe,QAGvB67b,UAAW,CACP,CAAC5mc,EAAMyF,YAAYiB,KAAK,MAAO,CAC3BvG,OAAQ,QACRD,MAAO,SAEX,CAACF,EAAMyF,YAAYW,GAAG,MAAO,CACzBjG,OAAQ,QACRD,MAAO,UAGf2mc,oBAAqB,CACjB,CAAC7mc,EAAMyF,YAAYiB,KAAK,MAAO,CAC3BivB,UAAW,SACXx1B,OAAQ,OACRD,MAAO,QAEX,CAACF,EAAMyF,YAAYW,GAAG,MAAO,CACzBuvB,UAAW,SACXx1B,OAAQ,MACRD,MAAO,QAGf4mc,WAAY,CACRlrS,UAAW,OACX71I,OAAQ,oBACR,CAAC/lB,EAAMyF,YAAYiB,KAAK,MAAO,CAC3BvG,OAAQ,QACRD,MAAO,SAEX,CAACF,EAAMyF,YAAYW,GAAG,MAAO,CACzBjG,OAAQ,QACRD,MAAO,UAGf6mc,cAAe,CACXnrS,UAAW,OACX71I,OAAQ,oBACR,CAAC/lB,EAAMyF,YAAYiB,KAAK,MAAO,CAC3BvG,OAAQ,QACRD,MAAO,SAEX,CAACF,EAAMyF,YAAYW,GAAG,MAAO,CACzBjG,OAAQ,QACRD,MAAO,UAGfoB,OAAQ,CACJqtF,gBAAiB,WAErBq4W,cAAe,CACXprS,UAAW,MACX31I,QAAS,OACT9lB,OAAQ,OACR+L,aAAc,QAElB+6b,YAAa,CACT,CAACjnc,EAAMyF,YAAYW,GAAG,MAAO,CACzBjG,OAAQ,MACRD,MAAO,MACPgM,aAAc,QAElB,CAAClM,EAAMyF,YAAYiB,KAAK,MAAO,CAC3BvG,OAAQ,OACRD,MAAO,OACPgM,aAAc,SAGtBg/F,QAAS,CACLhrG,MAAO,MACPy1B,UAAW,UAEfuxa,iBAAkB,CACdtrS,UAAW,2BCtKnB,MAAMypE,GAAW,uBAKF,SAAS8hO,KACpB,MAAM,cAAE7yN,IAAkB/wJ,EAAAA,EAAAA,YAAWwpH,KAC9Bud,GAAWmb,GAAO6O,GA0BzB,MAAO,IAzBUkU,GAAenjB,IA2B5B+hO,oCArBJ,WACI,OAAO98O,EAAQ,OAAQ,GAAG+a,aAC9B,EAoBIgiO,wBAdJ,SAAiCxyb,EAAIoiV,GACjC,OAAO3sI,EAAQ,MAAO,GAAG+a,MAAYxwN,IAAMoiV,EAC/C,EAaIqwG,wBAPJ,SAAiCzyb,GAC7B,OAAOy1M,EAAQ,SAAU,GAAG+a,MAAYxwN,IAC5C,EAOJ,CC/Be,SAAS0yb,GAAiB79b,GAQrC,IARsC,QACtC8+J,EAAO,SACPlnJ,EAAQ,kBACRkmb,GAKH99b,EACG,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjB06P,EAA4BN,MAC5B,UAAEhnY,GAAc0oK,MAChB,MAAE13B,KAAU1sF,GAASo8F,GAAQ,CAAE7Q,cAAew3P,IAC9CE,GAAkC7kU,EAAAA,GAAAA,cAEpCx1G,IAAA,IAAC,GAAExY,EAAE,YAAEoiV,GAA2D5pU,EAAA,OAE9Do6a,EAA0BJ,wBAAwBxyb,EAAIoiV,EAAY,GACtE,CACI/jO,UAAY1rC,IACL,OAAHslH,QAAG,IAAHA,GAAAA,EAAKq4B,YAAY,IAAK+P,GAAaoY,QAAQ6E,qBAC3C1tI,EAAKliF,MAAU,OAAJilD,QAAI,IAAJA,OAAI,EAAJA,EAAMggX,mBACjBlmb,GAAU,IAKhBqmb,GAAkC9kU,EAAAA,GAAAA,cAEpC,IAEI4kU,EAA0BH,wBACL,OAAjBE,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB3yb,KAE3B,CACIq+G,UAAWA,KACJ,OAAH45E,QAAG,IAAHA,GAAAA,EAAKq4B,YAAY,IAAK+P,GAAaoY,QAAQ6E,qBAC3C7wO,IACAknJ,GAAS,KAId,CAAE4uE,GAAUrP,GAAU,CAAC2/N,EAAgC50U,SACxDk9E,EAAgBmB,IAEtB,OACI8yB,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACD7mD,EAAAA,GAAAA,KAAC6oD,GAAa,CACVtwE,MAAwB,OAAjB0+R,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBjgO,SAC1B7hE,MAAuB,OAAjB8hS,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmB3yb,KAAM,EAC/B2zJ,QAASA,IAAMA,IAAUlqK,UAEzBiyL,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACN63I,YACgD,aAAb,OAA/BorM,QAA+B,IAA/BA,OAA+B,EAA/BA,EAAiC50U,QAErCrjG,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,WACN+J,QAASs0D,EAAU,YACnBziE,MAAoB,OAAbsyM,QAAa,IAAbA,OAAa,EAAbA,EAAeu3B,SACtB3hO,GAAI,GAER,CACIiG,QAASs0D,EAAU,UACnB79D,KAAM,SACNR,KAAM,SACN8D,GAAI,EACJwG,QAAS,CACL,CACIP,QAAS,MACTnO,MAAO,OAEX,CACImO,QAAS,OACTnO,MAAO,QAEX,CACImO,QAAS,MACTnO,MAAO,OAEX,CACImO,QAAS,SACTnO,MAAO,YAInB,CACI4E,KAAM,OACN6pK,KAAM,GACNrqK,KAAM,mBACNpE,MAAoB,OAAbsyM,QAAa,IAAbA,OAAa,EAAbA,EAAe43P,iBACtB/7b,QAAS,MACTjG,GAAI,GAER,CACItD,KAAM,OACN6pK,KAAM,GACNrqK,KAAM,sBACNpE,MAAoB,OAAbsyM,QAAa,IAAbA,OAAa,EAAbA,EAAe63P,oBACtBh8b,QAAS,MACTjG,GAAI,GAER,CACItD,KAAM,WACN6pK,KAAM,GACNrqK,KAAM,QACNpE,MAAoB,OAAbsyM,QAAa,IAAbA,OAAa,EAAbA,EAAeq+C,MACtBxiP,QAASs0D,EAAU,SACnBv6D,GAAI,IAGZslG,QAAS,CACL,CACIr/F,QAASs0D,EAAU,QACnB79D,KAAM,OACNsD,GAAI,EACJi+E,QAASA,KACL6jX,EAAgCzlU,OAAO,CACnCptH,GAAI4vG,EAAK43F,UAAgB,MACzB46I,YAAa,CACT1vH,SACI9iH,EAAK43F,UACD,YAERh/D,OAAQ54B,EAAK43F,UACT,UAEJgyC,MAAO5pI,EAAK43F,UAAmB,SAC/ByrP,SACIrjV,EAAK43F,UACD,YAERwrP,oBACIpjV,EAAK43F,UACD,uBAERurP,iBACInjV,EAAK43F,UACD,sBAGd,GAGV,CACI/5M,KAAM,SACNuJ,QAASs0D,EAAU,UACnBv6D,GAAI,EACJi+E,QAASA,KACL8jX,EAAgC1lU,QAAQ,UAQxE,CC5JA,MAAM/yG,GAAY/S,GAAW,CACzByoZ,mBAAoB,CAChB,UAAW,CACPzzQ,OAAQ,YAGhB0zQ,yBAA0B,CACtBnma,MAAO,UACP,UAAW,CACPA,MAAO,4BAGfoma,2BAA4B,CACxBpma,MAAO,UACP,UAAW,CACPA,MAAO,8BCvBnB,MAAM2mO,GAAW,aCSF,SAAS0iO,GAAkBr+b,GAMb,IANc,SACvC4+T,EAAQ,SACRhnT,EAAQ,OACR4jP,EAAM,SACNlzG,EAAQ,QACRwW,GACsB9+J,EACtB,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBtoF,EAAOo8F,GAAQ,CACjB7Q,cAAe,CACXluM,KAAc,OAARwmU,QAAQ,IAARA,OAAQ,EAARA,EAAUxmU,KAChBymU,mBAA4B,OAARD,QAAQ,IAARA,OAAQ,EAARA,EAAUC,sBAIhCy/H,EDnBK,WACX,MAAM,cAAE1zN,IAAkB/wJ,EAAAA,EAAAA,YAAWwpH,KAC9Bud,GAAWmb,GAAO6O,GAoCzB,MAAO,CACH2zN,kBAhCJ,SACIv+M,GAWA,OAAO7mH,EAAAA,GAAAA,cAFHn5H,IAAA,IAAC,GAAEmL,EAAE,OAAEiL,GAAQpW,EAAA,OAAK4gN,EAAQ,MAAO,GAAG+a,MAAYxwN,IAAMiL,EAAO,GAEpC4pO,EACnC,EAoBIw+M,kBAfJ,SACIx+M,GASA,OAAO7mH,EAAAA,GAAAA,cAH0DhuH,GAC7Dy1M,EAAQ,SAAU,GAAG+a,MAAYxwN,MAEN60O,EACnC,EAMJ,CCvB4By+M,GAGlBC,EAFaz9M,KAE0B4B,kBAAkB,CAC3Dr5H,UAAY3xG,IACF,OAAN2jP,QAAM,IAANA,GAAAA,EAAS3jP,EAAK+mT,UACdx7H,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,mBAAmB,EAElDm6E,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAI9C6mc,EAAyBL,EAAgBC,kBAAkB,CAC7D/0U,UAAY3xG,IACA,OAARD,QAAQ,IAARA,GAAAA,EAAWC,EAAK+mT,UAChBx7H,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,mBAAmB,EAElDm6E,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAI9C8mc,EAAyBN,EAAgBE,kBAAkB,CAC7Dh1U,UAAY3xG,IACA,OAARywI,QAAQ,IAARA,GAAAA,EAAWzwI,EAAK+mT,UAChBx7H,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,mBAAmB,EAElDm6E,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,KAqC7C0/U,EAAoBC,GAAmBp5G,GAAU,CACpDqgO,EAA0Bt1U,OAC1Bu1U,EAAuBv1U,OACvBw1U,EAAuBx1U,SAG3B,OAAIouN,EACOC,GAIP5wJ,EAAAA,GAAAA,KAACq9C,GAAS,CACN9kE,MAAOw/J,EAAWA,EAASxmU,KAAOgrM,EAAIhzL,EAAE,eACxC4rJ,MAAI,EACJ8C,QAASA,EACTyC,SACIslB,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACN83I,eAAgB,CACZz1P,QAAS,GAEb2oB,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,QACfmI,MAAO,CACH0tJ,UAAU,IAGlB,CACIrtK,KAAM,cACNR,KAAM,qBACN6rL,WAAY,CACR9f,cACI0iB,EAAAA,GAAAA,KAACE,GAAc,CAACr9J,SAAS,MAAK90B,SAAC,OAKvC2jB,MAAO,CACH0tJ,UAAU,GAEdhqK,GAAI,MAKpBulG,QAAS,CACL,CACI5oG,KAAM,OACNuhF,QAASA,KAnFrB4gC,EAAKi6F,cAAarxL,IAAmC,IAAlC,KAAEvrB,EAAI,mBAAEymU,GAAoBl7S,EAC3C,QAAaztB,IAATkC,QAA6ClC,IAAvB2oU,EACtB,OAGJ,MAAMzoT,EAAS,CACXhe,OACAymU,sBAGAD,EACA+/H,EAAuBpmU,OAAO,CAC1BptH,GAAIyzT,EAASzzT,GACbiL,WAGJsob,EAA0BnmU,OAAO,CAC7BptH,GAAIi4L,EAAIntG,GAAI9qF,GACZiL,UAER,GApBJ2kG,EAoFQ,GACA,CACI/+B,OAAQ4iP,IAAaA,EAASn/D,MAC9B7mQ,KAAM,SACNuhF,QAASA,KA/DhBykP,GAILggI,EAAuBrmU,OAAOqmM,EAASzzT,GA4D/B,KAIhB,yBC3JA,MAAMqa,GAAY/S,IAAW,MACzB3c,KAAM,CACFY,QAAS,OACTD,OAAQ,aAID,SAASooc,KACpB,MAAM,UAAEpoY,GAAc0oK,KAChBtqO,EAAU2wB,KAEhB,OACIqhK,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACR4xB,eAAe,SACfC,WAAW,SACXzzB,UAAWD,EAAQiB,KAAKlB,UAExB2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC/3F,GAAI,GAAIj0E,GAAI,EAAE9mB,SAAA,EACfiyL,EAAAA,GAAAA,KAACmnE,GAAQ,KACTnnE,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAASkzC,GAAI,EAAE5mE,UAC9CiyL,EAAAA,GAAAA,KAACspD,GAAS,CACNhuO,QAASs0D,EAAU,WACnB0jB,QAASA,KACLxvE,OAAOV,SAASmlD,OAAOzkD,OAAOV,SAAS6yF,KAAK,UAOxE,CChCO,IAMHgiW,GAAiCrqc,EAAAA,YAAiB,SAA2BC,EAAOC,GACtF,OAAoBF,EAAAA,cAAoByjL,IAAYtiL,EAAAA,EAAAA,GAAS,CAC3DV,UAAW,IACXuoJ,QAAS,QACTzoJ,MAAO,gBACPL,IAAKA,GACJD,GACL,IAkBA,UAAe2B,EAAAA,GAAUA,GA/BL,CAElBP,KAAM,CACJ+uF,aAAc,KA4BgB,CAChCzsF,KAAM,wBADR,CAEG0mc,IC1BI,SAASnrL,GAAe3zQ,GAA8C,IAA7C,QAAEm6E,KAAYmsD,GAA4BtmI,EACtE,MAAM,UAAEy2D,GAAc0oK,KAEtB,OACIt4C,EAAAA,GAAAA,KAACiB,GAAM,CACHrqC,QAAQ,WACRtjE,QAASA,EACTiuG,WAAWvB,EAAAA,GAAAA,KAACg0B,GAAS,OACjBv0E,EAAI1xI,SAEP6hE,EAAU,WAGvB,CCnBA,MAAMjxC,GAAY/S,IAAW,MACzB3c,KAAOpB,IAA4B,CAC/BM,MAAON,EAAMgpM,UACb,qBAAsB,CAClB1oM,MAAON,EAAMgpM,iBAclB,SAASk2E,GAAc5zQ,GAIL,IAJM,UAC3BqkK,EAAS,QACTlqF,EAAO,UACPujH,EAAY,WACM19L,EAClB,MAAM,UAAEy2D,GAAc0oK,KAChBtqO,EAAU2wB,GAAU,CAAEk4K,cAE5B,OACI7W,EAAAA,GAAAA,KAACiB,GAAM,CACHzjB,UAAWA,EACX5mB,QAAQ,WACRzoJ,MAAM,UACNozL,WAAWvB,EAAAA,GAAAA,KAACg0B,GAAAA,EAAS,IACrB1gI,QAASA,EACTrlF,UAAWD,EAAQiB,KAAKlB,SAEvB6hE,EAAU,UAGvB,CC1CA,UAAe3tD,EAAAA,GAAaA,GAAerU,EAAAA,cAAoB,OAAQ,CACrEme,EAAG,oLACD,UCQG,SAASihQ,GAAoB7zQ,GAGL,IAHM,QACjCm6E,KACGmsD,GACqBtmI,EACxB,MAAM,UAAEy2D,GAAc0oK,KAEtB,OACIt4C,EAAAA,GAAAA,KAACiB,GAAM,IACCxhD,EACJmX,QAAQ,YACRzoJ,MAAM,YACNF,UAAU,gBACVszL,WAAWvB,EAAAA,GAAAA,KAACgzC,GAAM,IAClB1/I,QAASA,EAAQvlF,SAEhB6hE,EAAU,gBAGvB,CCjBO,SAASq9M,GAAiB9zQ,GAIL,IAJM,QAC9BmC,EAAO,QACPg4E,KACGmsD,GACkBtmI,EACrB,MAAM,UAAEy2D,GAAc0oK,KAEtB,OACIt4C,EAAAA,GAAAA,KAACiB,GAAM,IACCxhD,EACJmX,QAAQ,YACRzoJ,MAAM,UACNozL,WAAWvB,EAAAA,GAAAA,KAACwvI,GAAa,IACzBl8O,QAASA,EAAQvlF,SAEhBuN,GAAWs0D,EAAU,aAGlC,CCsBO,SAASsoY,GAAW/+b,GAML,IANM,MACxBo/J,EAAK,SACLq0G,EAAQ,KACRz3G,EAAI,QACJ8C,EAAO,QACPt9D,GACexhG,EAsGf,OACIu6N,EAAAA,GAAAA,MAACxwC,GAAM,CACH/tB,KAAMA,EACN8C,QAASA,EACT,kBAAgB,qBAChB,mBAAiB,2BAA0BlqK,SAAA,CAE1CwqK,IACGynB,EAAAA,GAAAA,KAACszC,GAAW,CAAChvN,GAAG,qBAAoBvW,SAAEwqK,IAGzCq0G,IACG5sF,EAAAA,GAAAA,KAACyC,GAAa,CAAC7xK,MAAO,CAAEwtE,gBAAiB,SAAUrwF,UAC/CiyL,EAAAA,GAAAA,KAACi4Q,GAAiB,CAAC3zb,GAAG,2BAA0BvW,SAC3C6+Q,OAKb5sF,EAAAA,GAAAA,KAACsC,GAAa,CAAAv0L,SACT4sG,EAAQroG,KAAI,CAAC+I,EAAQg/H,IAtHb8uG,EAAC9tO,EAAsBg/H,KACxC,GAAIh/H,EAAQ,CACR,IAAIq/J,EAEJ,IAAoB,IAAhBr/J,EAAO85E,KAAgB,CACvB,GAAI95E,EAAOhN,UACPqsK,EAAUr/J,EAAOhN,eAEjB,OAAQgN,EAAOtJ,MACX,IAAK,SACD2oK,GACIslB,EAAAA,GAAAA,KAACi6D,GAAe,CACZz8E,WAAS,EACTrsK,SAAUkK,EAAOlK,SACjBmK,QAASD,EAAOC,QAChBg4E,QAASj4E,EAAOi4E,UAGxB,MACJ,IAAK,SACDonF,GACIslB,EAAAA,GAAAA,KAAC8sF,GAAe,CACZtvG,WAAS,EACTlqF,QAASj4E,EAAOi4E,UAGxB,MACJ,IAAK,QACDonF,GACIslB,EAAAA,GAAAA,KAAC+sF,GAAc,CACXvvG,WAAS,EACTlqF,QAASj4E,EAAOi4E,UAGxB,MACJ,IAAK,SACDonF,GACIslB,EAAAA,GAAAA,KAACopD,GAAe,CACZ5rE,WAAS,EACTliK,QAASD,EAAOC,QAChBg4E,QAASj4E,EAAOi4E,QAChB0hJ,eAAgB35N,EAAO25N,eAG/B,MACJ,IAAK,UACDt6D,GACIslB,EAAAA,GAAAA,KAACm6D,GAAgB,CACb38E,WAAS,EACTlqF,QAASj4E,EAAOi4E,UAGxB,MACJ,IAAK,OACDonF,GACIslB,EAAAA,GAAAA,KAACqpD,GAAa,CACV7rE,WAAS,EACTlqF,QAASj4E,EAAOi4E,QAChBokJ,QAASr8N,EAAOq8N,QAChBvmO,SAAUkK,EAAOlK,WAGzB,MACJ,IAAK,cACDupK,GACIslB,EAAAA,GAAAA,KAACgtF,GAAoB,CACjBxvG,WAAS,EACTlqF,QAASj4E,EAAOi4E,UAGxB,MACJ,IAAK,WACDonF,GACIslB,EAAAA,GAAAA,KAACitF,GAAiB,CACdzvG,WAAS,EACTlqF,QAASj4E,EAAOi4E,UAGxB,MACJ,QACIonF,GACIslB,EAAAA,GAAAA,KAACiB,GAAM,CACH3tG,QAASj4E,EAAOi4E,QAChBiuG,UAAWlmL,EAAOhD,KAClBlK,MAAM,UAASJ,SAEdsN,EAAOC,UAO5B,OAAO0kL,EAAAA,GAAAA,KAACa,GAAG,CAAA9yL,SAAY2sK,GAANrgC,EACrB,CACJ,GAuBsC8uG,CAAa9tO,EAAQg/H,SAInE,CCtKe,SAAS89T,GAAch/b,GAAyB,IAAxB,IAAEwsP,GAAmBxsP,EACxD,MAAM48R,EAAap9C,KACbp8C,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACV,UAAEr+E,GAAc0oK,MAGlB5mG,OAAQ0mU,EAAe,KACvBpnb,EAAI,OACJuxG,GACAwzK,EAAWt8C,qBAAqB,CAChC/1J,QAAUzyF,IACDmoC,GAASnoC,IAAyC,kBAAtBA,EAAMipN,aAIvC3d,EAAIq4B,YAAY,IAAKhlK,EAAU3+D,EAAMipN,aAAc,IAAK,KAIhEtpJ,EAAAA,EAAAA,YAAU,KACNwnY,EAAgB,CACZ9zb,GAAIqhP,EAAIrhP,IACV,GACH,CAACqhP,EAAKyyM,IAkBT,GAAe,UAAX71U,EACA,OAAOy9D,EAAAA,GAAAA,KAACg4Q,GAAgB,IAG5B,GAAe,YAAXz1U,EACA,OAAOy9D,EAAAA,GAAAA,KAAC43C,GAAkB,IAG9B,IAAK5mN,EACD,OAAO,KAGX,MAAM,eAAEqnb,GAAmBrnb,EAE3B,OACIgvK,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACR0xB,cAAc,SACd3Q,MAAO,CACHhhB,OAAQ,QACRwuF,gBA/BwBk6W,MAAO,IAADC,EACtC,MACS,oBADU,QAAnBA,EAAQ5yM,EAAIia,eAAO,IAAA24L,OAAA,EAAXA,EAAa94M,MAEN,UAIA,OACf,EAuByB64M,IACnBvqc,SAEDsqc,IACGr4Q,EAAAA,GAAAA,KAACk4Q,GAAW,CACR3/R,MAAO3oG,EAAU,sBACjBulG,MAAI,EACJx6D,QAAS,CACL,CACItiG,MAAM2nL,EAAAA,GAAAA,KAACw4Q,GAAaA,EAAI,IACxBl9b,QAAS,UACTg4E,QAASA,KACL8yD,EAAQhyI,KAAK,IAAI,GAGzB,CACIiE,MAAM2nL,EAAAA,GAAAA,KAACy4Q,GAAmBA,EAAI,IAC9Bn9b,QAAS,UACTg4E,QAASA,KACLxvE,OAAOV,SAASiP,QAAQgmb,EAAe,IAKnDzrL,UACIl5C,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK6hE,EAAU,sBAAuB,KAClCowH,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,KAAO,IAADolX,EAKN,QAJLA,EAAA50b,OACKqxJ,KACG,qEACA,iBACH,IAAAujS,GAJLA,EAKMzgc,OAAO,EACflK,SAED6hE,EAAU,8BAQ3C,gBC1Ge,SAAS+oY,GAA4Bx/b,GAAyB,IAAxB,IAAEwsP,GAAmBxsP,EACtE,MAAM48R,EAAap9C,KACbp8C,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACV,UAAEr+E,GAAc0oK,MAEd5mG,OAAQ0mU,EAAe,OAAE71U,GAAWwzK,EAAWt8C,qBACnD,CACI/1J,QAAUzyF,IAEDmoC,GAASnoC,IACqB,kBAAtBA,EAAMipN,aAKnB3d,EAAIq4B,YAAY,IAAKhlK,EAAU3+D,EAAMipN,aAAc,IAAK,EAE5Dv3F,UAAWA,KACPyjB,EAAQhyI,KAAK,SAASuxP,EAAIrhP,YAAY,IAqBlD,MAAe,UAAXi+G,GACOy9D,EAAAA,GAAAA,KAACg4Q,GAAgB,IAGb,YAAXz1U,GACOy9D,EAAAA,GAAAA,KAAC43C,GAAkB,KAI1B53C,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACR0xB,cAAc,SACd3Q,MAAO,CACHhhB,OAAQ,QACRwuF,gBAzBwBk6W,MAAO,IAADC,EACtC,MACS,oBADU,QAAnBA,EAAQ5yM,EAAIia,eAAO,IAAA24L,OAAA,EAAXA,EAAa94M,MAEN,UAIA,OACf,EAiByB64M,IACnBvqc,UAEFiyL,EAAAA,GAAAA,KAACk4Q,GAAW,CACR3/R,MAAO3oG,EAAU,mBACjBulG,MAAI,EACJx6D,QAAS,CACL,CACItiG,MAAM2nL,EAAAA,GAAAA,KAAC44Q,GAAiBA,EAAI,IAC5Bt9b,QAASs0D,EAAU,kBACnB0jB,QAASA,IAAM8yD,EAAQhyI,KAAK,MAEhC,CACIiE,MAAM2nL,EAAAA,GAAAA,KAACy4Q,GAAmBA,EAAI,IAC9Bn9b,QAASs0D,EAAU,OACnB0jB,QAASA,IACL8kX,EAAgB,CACZ9zb,GAAIqhP,EAAIrhP,OAKxBsoQ,UACIl5C,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC7iG,aAAc,EAAEjwF,SAAA,CAChBwuM,EAAIhzL,EAAE,6BACPmqN,EAAAA,GAAAA,MAAA,UAAA3lO,SAAA,CAAQ,IAAEuyS,GAAY36C,EAAIzG,cAG9BxrB,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,CACC6hE,EAAU,sBAAsB,QACjCowH,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,IAELxvE,OACKqxJ,KACG,qEACA,UAEHl9J,QACRlK,SAEA6hE,EAAU,wBACR,aAQnC,2DClHe,SAASipY,GAAqB1/b,GAIb,IAJc,OAC1CpI,GAAS,EAAK,MACd5C,EAAQ,UAAS,QACjBm2I,EAAU,IACenrI,EACzB,OAAOpI,GACH2iO,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,UACPiyL,EAAAA,GAAAA,KAACxmD,KAAO,CAACjoI,KAAK,eAAepD,MAAOA,MAG3B,KAAZm2I,IACG07C,EAAAA,GAAAA,KAACa,GAAG,CAAA9yL,UACAiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,WAAU7oJ,SAAEu2I,SAI5C,IACR,CCgOA,SAASw0T,GAAS3/b,GAAkC,IAAjC,MAAEo/J,EAAK,KAAEvnJ,EAAI,OAAE5e,EAAM,MAAEswC,GAAOvpC,EAC7C,MAiBMnL,EAjBY4d,GAAW,CACzBwkK,OAAQ,CACJvgL,QAAS,OACT6xB,WAAY,SACZ4uH,WAAY,IAEhByoT,IAAK,CACDppc,MAAO,GACPC,OAAQ,GACRsuF,YAAa,GAEjB9mF,KAAM,CACF5I,SAAU,GACVL,MAAO,YAICwwB,GAEhB,OACIqhK,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,EACN2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAACj4F,GAAI,EAAG/4F,QAAQ,OAAM9B,SAAA,EACtBiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIwqK,KACJynB,EAAAA,GAAAA,KAAAe,GAAAA,SAAA,CAAAhzL,SACK20C,EAAMpwC,KAAI,CAACqwC,EAAMrvC,KAEdogO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5yL,UAAWD,EAAQoiL,OAAOriL,SAAA,EAC3BiyL,EAAAA,GAAAA,KAAA,OACI/xL,UAAWD,EAAQ+qc,IACnBnob,MAAO,CACHwtE,gBAAiBhsF,EAAOkB,OAGhC0sL,EAAAA,GAAAA,KAAA,QAAM/xL,UAAWD,EAAQoJ,KAAKrJ,SAAE40C,MAPCrvC,WAajD0sL,EAAAA,GAAAA,KAACa,GAAG,CAACjwK,MAAO,CAAEhhB,OAAQ,KAAM7B,UACxBiyL,EAAAA,GAAAA,KAAC//F,GAAAA,MAAK,CACF3+E,SAAO,EACP4uD,OAAQ,CACJn+D,KAAM,OAEVgoF,eAAiB7pB,IAAM,CACnB/hE,MAAOiE,EAAO89D,EAAO19D,SAEzBwe,KAAMA,EACNsuE,KAAM,CACF,CACI7uF,SAAS,EACTsB,KAAM,UACN8wB,SAAU,UAEd,CACIA,SAAU,OACV9wB,KAAM,SACNwmF,SAAS,cAS7C,CAKA,SAASygX,GAAQl8a,GAAoC,IAAnC,MAAEy7I,EAAK,SAAEq0G,EAAQ,MAAEjuL,EAAK,KAAEtmF,GAAMykB,EAC9C,OACI42M,EAAAA,GAAAA,MAACv2B,GAAI,CAAApvM,SAAA,EACDiyL,EAAAA,GAAAA,KAACopM,GAAU,CACP7wN,MAAOA,EACPsR,UAAW+iG,EACXzrH,QACI6+B,EAAAA,GAAAA,KAACroC,GAAM,CACH/mI,MAAO,CAAEwtE,gBAAiB,QAASjwF,MAAO,SAAUJ,SAEnDsK,OAKb2nL,EAAAA,GAAAA,KAAC2pM,GAAW,CAAA57X,UACRiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAGlkD,MAAO,CAAEpiB,SAAU,GAAI42B,UAAW,UAAWr3B,SACpD4wF,QAKrB,CC1UO,SAASs6W,GAAW9/b,GAQvB,IARwB,MACxBo/J,EAAK,MACLoT,EAAK,MACLqpF,EAAK,SACLvzG,EAAQ,SACRphC,EAAQ,cACR64U,EAAa,oBACbC,GACHhgc,EACG,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChB0vK,EAAeC,IAAoBt7S,EAAAA,EAAAA,WAAS,IAC5CuoY,EAAeC,IAAoBxoY,EAAAA,EAAAA,UAAS,MAE7CyoY,GAAgBrhU,EAAAA,GAAAA,UAClB,CAAC5X,IACD,IACI64U,EAAcC,GACT3rV,MAAMwsG,IAAc,IAADu/O,EAChB,MAAMC,EAAwB,OAARx/O,QAAQ,IAARA,GAAc,QAANu/O,EAARv/O,EAAUp+C,YAAI,IAAA29R,OAAN,EAARA,EAAgBlgb,QACjCogb,KACS,OAAL9tR,QAAK,IAALA,GAAAA,EAAOr8G,MAAM/lD,GAAMA,EAAEjF,KAAOm1b,EAAan1b,QAElD+0b,EAAiBG,EAAc,IAElCr3U,OAAOlxH,IACJsrM,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAO,OAALtY,QAAK,IAALA,OAAK,EAALA,EAAOmsC,KAAK,KAEnD,CAAEspF,SAAS,IAiBf,OAAiB,OAAb4yU,QAAa,IAAbA,GAAAA,EAAetnU,WAEXguD,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAASoC,SAAU,GAAG91B,UACrDiyL,EAAAA,GAAAA,KAACkJ,GAAgB,OAMzBwqC,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACuoE,GAAO,CACJhwF,MAAOA,EACPy8F,MAAOA,KAzBfm3G,GAAiB,EAyBmB,EAC5B1qN,SAAWnhI,GAASmhI,EAAa,OAAJnhI,QAAI,IAAJA,OAAI,EAAJA,EAAMhc,IACnC0M,KACI26J,GACAA,EAAMr5K,KAAKguB,IAAI,CACXhlB,QAAS,GAAO,OAAJglB,QAAI,IAAJA,OAAI,EAAJA,EAAM/uB,OAClBi3P,YAAaloO,SAIzBozM,EAAAA,GAAAA,MAACxwC,GAAM,CACHjrB,QAASA,IAAMk0M,GAAiB,GAChCh3M,KAAM+2M,EAAcn+W,SAAA,EAEpBiyL,EAAAA,GAAAA,KAACszC,GAAW,CAAAvlO,SAAEwuM,EAAIhzL,EAAEgvJ,MACpBynB,EAAAA,GAAAA,KAACtW,GAAI,CAAA37K,SACa,OAAbqrc,QAAa,IAAbA,OAAa,EAAbA,EAAe9mc,KAAKguB,IACjBozM,EAAAA,GAAAA,MAAC1zD,GAAQ,CACL3kK,QAAM,EAENi4E,QAASA,IA1CjC,SAAoBhzD,GAChB6rV,GAAiB,GACjBktF,EACiB,OAAbD,QAAa,IAAbA,OAAa,EAAbA,EAAe//a,QACVogb,IAA6B,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAcn1b,OAAW,OAAJgc,QAAI,IAAJA,OAAI,EAAJA,EAAMhc,OAGrD0wP,EAAU,OAAJ10O,QAAI,IAAJA,OAAI,EAAJA,EAAMhc,GAChB,CAkCuCo1b,CAAWp5a,GAAMvyB,SAAA,GAE1B,OAAJuyB,QAAI,IAAJA,GAAAA,EAAMhc,MACJ07K,EAAAA,GAAAA,KAACooD,GAAY,CAAAr6O,UACTiyL,EAAAA,GAAAA,KAAC+yI,GAAAA,EAAO,OAIhB/yI,EAAAA,GAAAA,KAAC6pD,GAAY,CAACp5O,QAAS,GAAO,OAAJ6vB,QAAI,IAAJA,OAAI,EAAJA,EAAM/uB,WATvB,OAAJ+uB,QAAI,IAAJA,OAAI,EAAJA,EAAMhc,aAgBvC,CCvFe,SAASq1b,GAAiBxgc,GAIb,IAAD2+R,EAAA,IAJe,KACtCx3Q,EAAI,OACJq0O,EAAM,QACN18F,GACqB9+J,EACrB,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjB6rN,EAAiBtC,KACjB76J,EAAa9Q,MACZkI,EAAas3M,IAAkB/oY,EAAAA,EAAAA,UAAsBvwC,IACtD,UAAEsvC,GAAc0oK,KAChBuhO,EAA4BxxC,EAAe/B,qBAAqB,CAClE3jS,UAAYq3F,IACR4/O,EAAe5/O,EAASsoC,aACxBqS,GAAQ,EAEZjxK,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAG9C6oc,EAA4BzxC,EAAe7B,qBAAqB,CAClE7jS,UAAWA,KACPgyI,IACA18F,GAAS,EAEbv0E,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAG9C8oc,EAA4B1xC,EAAejC,qBAAqB,CAClEzjS,UAAYq3F,IACR4/O,EAAuB,OAAR5/O,QAAQ,IAARA,OAAQ,EAARA,EAAUsoC,aACzBqS,GAAQ,EAEZjxK,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAI9C+oc,EACF3xC,EAAe3B,2BAA2B,CACtC/jS,UAAYq3F,IACR4/O,EAAe5/O,EAASsoC,aACxBqS,GAAQ,EAEZjxK,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAGlDgpc,EACF5xC,EAAe1B,2BAA2B,CACtChkS,UAAYq3F,IACR4/O,EAAe5/O,EAASsoC,aACxBqS,GAAQ,EAEZjxK,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAGxD,OACI8oc,EAA0B/nU,WAC1B6nU,EAA0B7nU,WAGtBguD,EAAAA,GAAAA,KAACq9C,GAAS,CACNv6M,SAAS,KACTqyI,MAAI,EACJuF,SACIslB,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAASoC,SAAU,GAAG91B,UACrDiyL,EAAAA,GAAAA,KAACkJ,GAAgB,MAGzB3wB,WAAOlpK,EACP4oK,aAAS5oK,EACTsrG,aAAStrG,KAMjB2wL,EAAAA,GAAAA,KAAC6oD,GAAa,CACV1zE,OAAQ70I,EACRi4I,OACwB,IAApB+pF,EAAYh+O,GACK,OAAXg+O,QAAW,IAAXA,OAAW,EAAXA,EAAa/wP,KACbgrM,EAAIhzL,EAAEo7N,GAAaoY,QAAQkD,SAErChoF,QAASA,EACT8wE,cAAe,CACX,CACIztO,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNuhF,QAASA,KAAO,IAADsmL,GACO,KAAV,OAAJt5O,QAAI,IAAJA,OAAI,EAAJA,EAAMhc,IACNy1b,EAA0BroU,OAAO,CAC7B20R,cAAkB,OAAH9pN,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,GAAPA,EAASt1P,GAAKi4L,EAAIntG,GAAG9qF,IAAM,EAC1CiL,OAAQ,CACJ2qb,gBACI53M,EAAY43M,gBAChB3oc,KAAM+wP,EAAY/wP,QAI1Bsoc,EAA0BnoU,OAAO,CAC7B60R,cAAmB,OAAJjmY,QAAI,IAAJA,OAAI,EAAJA,EAAMhc,GACrBiL,OAAQ,CACJizO,gBACIF,EAAYE,gBAChB03M,gBACI53M,EAAY43M,kBAEtB,GAGd,CACI5+b,QAASihM,EAAIhzL,EAAE,UACfxX,KAAM,SACNojF,MAA2B,KAAV,OAAXmtK,QAAW,IAAXA,OAAW,EAAXA,EAAah+O,IACnBgvE,QAASA,KACLwmX,EAA0BpoU,OAAO,CAC7B60R,cAA0B,OAAXjkK,QAAW,IAAXA,OAAW,EAAXA,EAAah+O,IAC9B,IAGZvW,UAEF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CACAjwK,MAAO,CACH8E,QAAS,GACT7lB,QAAS,OACT0xB,cAAe,OACjBxzB,SAAA,EAEFiyL,EAAAA,GAAAA,KAACa,GAAG,CACAjwK,MAAO,CACHkI,KAAM,EACNjpB,QAAS,OACT0xB,cAAe,SACf48D,WAAY,IACdpwF,UAEFiyL,EAAAA,GAAAA,KAAC8wE,GAAO,CACJE,aAAcl0O,IAAA,IAAC,KAAEvrB,EAAI,MAAEpE,GAAO2vB,EAAA,OAC1B88a,EAAe,IACRt3M,EACH,CAAC/wP,GAAOpE,GACV,EAEN4jQ,SAAU,CACN,CACI37P,GAAI,EACJkG,QAASs0D,EAAU+0K,GAAaoY,QAAQxrP,MACxCA,KAAM,OACN4jF,MAA2B,KAAV,OAAXmtK,QAAW,IAAXA,OAAW,EAAXA,EAAah+O,IACnBnX,MAAkB,OAAXm1P,QAAW,IAAXA,OAAW,EAAXA,EAAa/wP,MAExB,CACI6D,GAAI,EACJkG,QAASs0D,EACL+0K,GAAa2d,YAAYC,iBAE7BhxP,KAAM,kBACNpE,MAAkB,OAAXm1P,QAAW,IAAXA,OAAW,EAAXA,EAAa43M,gBAAgBvwb,YAExC,CACIvU,GAAI,EACJkG,QAASs0D,EACL+0K,GAAa2d,YAAYE,iBAE7BjxP,KAAM,kBACN4jF,MAA2B,KAAV,OAAXmtK,QAAW,IAAXA,OAAW,EAAXA,EAAah+O,IACnBnX,MAAkB,OAAXm1P,QAAW,IAAXA,OAAW,EAAXA,EAAaE,gBAAgB74O,aAG5CgxF,QAAS,QAGjBqlF,EAAAA,GAAAA,KAACa,GAAG,CACAjwK,MAAO,CACHkI,KAAM,EACNjpB,QAAS,OACT0xB,cAAe,UACjBxzB,UAEmB,IAApBu0P,EAAYh+O,KACT07K,EAAAA,GAAAA,KAACi5Q,GAAW,CACR1gS,MAAO3oG,EAAU+0K,GAAaoY,QAAQkD,SACtCt0E,MAAO22E,EAAYrC,QACnB+U,MAAQr2H,IACAA,GACAq7T,EAAgCtoU,OAAO,CACnC60R,cAA0B,OAAXjkK,QAAW,IAAXA,OAAW,EAAXA,EAAah+O,GAC5Bq6H,YAER,EAEJ8iB,SAAW9iB,IACHA,GACAs7T,EAAgCvoU,OAAO,CACnC60R,cAA0B,OAAXjkK,QAAW,IAAXA,OAAW,EAAXA,EAAah+O,GAC5Bq6H,YAER,EAEJte,SjkBlIiB,4BikBmIjB64U,cAAehuM,EAAWpO,eAC1Bq8M,oBAAqB,CACjB70b,GAAO,OAAHi4L,QAAG,IAAHA,GAAAA,EAAKntG,GAAQ,OAAHmtG,QAAG,IAAHA,GAAO,QAAJu7F,EAAHv7F,EAAKntG,UAAE,IAAA0oM,OAAJ,EAAHA,EAASxzR,IAAM,EAC7BiL,OAAQ,CAAC,WAQzC,CChFO,MAAM8zH,GAAQ,CAIjB,CACI/+H,GAAI,OACJpC,KAAM,QACN7T,UCjKO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IAevB,OAAOxc,EAAAA,GAAAA,KAAAe,GAAAA,SAAA,CAAAhzL,SARCwuM,EAAIqpC,MAA0B,gBAAlBrpC,EAAIqpC,KAAKt2O,MACd0wL,EAAAA,GAAAA,KAACm6Q,GAAM,IAEd59P,EAAIqpC,MAA0B,UAAlBrpC,EAAIqpC,KAAKt2O,MACd0wL,EAAAA,GAAAA,KAACykQ,GAAS,SADrB,GAMR,GDsJI,CACIngb,GAAI,aACJpC,KAAM,cACNk4b,WAAW,EACX/rc,UpBDO,WACX,MAAML,EAAU2wB,MACT07a,EAAaC,IAAkBzpY,EAAAA,EAAAA,UAAS,IACxC0pY,EAAWC,IAAgB3pY,EAAAA,EAAAA,UAAS,OACrC,UAAEjB,GAAc0oK,KAGhBmiO,EAAQ,EACV/mO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAI8d,WAAS,EAACuO,eAAe,SAASjpB,UAAU,MAAKzK,SAAA,EAChEiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTjlB,UAAWD,EAAQkoc,mBACnBz0a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQmoc,cAAcpoc,SACxC6hE,EAAU,8BAGnBowH,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJnH,UAAWD,EAAQooc,cACnBljb,WAAS,EACTuO,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQoJ,KAAKrJ,SAC/B6hE,EAAU,6BAGnBowH,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAG8d,WAAS,EAACuO,eAAe,SAAQ1zB,UAC/CiyL,EAAAA,GAAAA,KAAA,KAAG/pF,KAAK,uJAAsJloG,UAC1JiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQqoc,UACnBhoc,UAAU,MACVytH,IAAI,qEAIhBkkE,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAG8d,WAAS,EAACuO,eAAe,SAAQ1zB,UAC/CiyL,EAAAA,GAAAA,KAAA,KAAG/pF,KAAK,sDAAqDloG,UACzDiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQqoc,UACnBhoc,UAAU,MACVytH,IAAI,wEAKpB43G,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAI8d,WAAS,EAACuO,eAAe,SAASjpB,UAAU,SAAQzK,SAAA,EACnEiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTjlB,UAAWD,EAAQkoc,mBACnBz0a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQmoc,cAAcpoc,SACxC6hE,EAAU,8BAGnBowH,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJnH,UAAWD,EAAQooc,cACnBljb,WAAS,EACTuO,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQoJ,KAAKrJ,SAC/B6hE,EAAU,6BAGnB8jK,EAAAA,GAAAA,MAACz1C,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACT1a,UAAU,MACVipB,eAAe,SAAQ1zB,SAAA,EAEvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJpN,WAAS,EACT9d,GAAI,EACJnH,UAAWD,EAAQsoc,oBACnB70a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQuoc,WACnBloc,UAAU,MACVytH,IAAK4+U,GACLpnX,QAASA,IAAMknX,EAAaE,SAGpC16Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJpN,WAAS,EACT9d,GAAI,EACJnH,UAAWD,EAAQsoc,oBACnB70a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQuoc,WACnBloc,UAAU,MACVytH,IAAK6+U,GACLrnX,QAASA,IAAMknX,EAAaG,eAK5CjnO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAI8d,WAAS,EAACuO,eAAe,SAASjpB,UAAU,SAAQzK,SAAA,EACnEiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTjlB,UAAWD,EAAQkoc,mBACnBz0a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQmoc,cAAcpoc,SACxC6hE,EAAU,8BAGnBowH,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAACryB,UAAWD,EAAQooc,cAAehhc,GAAI,GAAGrH,UAChDiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQoJ,KAAKrJ,SAC/B6hE,EAAU,6BAInB8jK,EAAAA,GAAAA,MAACz1C,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTuO,eAAe,SACfjpB,UAAU,MAAKzK,SAAA,EAEfiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAGnH,UAAWD,EAAQsoc,oBAAoBvoc,UACrDiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQuoc,WACnBloc,UAAU,MACVytH,IAAK8+U,GACLtnX,QAASA,IAAMknX,EAAaI,SAGpC56Q,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAGnH,UAAWD,EAAQsoc,oBAAoBvoc,UACrDiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQuoc,WACnBloc,UAAU,MACVytH,IAAK++U,GACLvnX,QAASA,IAAMknX,EAAaK,eAK5CnnO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAI8d,WAAS,EAACuO,eAAe,SAASjpB,UAAU,SAAQzK,SAAA,EACnEiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTjlB,UAAWD,EAAQkoc,mBACnBz0a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQmoc,cAAcpoc,SACxC6hE,EAAU,8BAGnBowH,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAACryB,UAAWD,EAAQooc,cAAehhc,GAAI,GAAGrH,UAChDiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQoJ,KAAKrJ,SAC/B6hE,EAAU,6BAGnB8jK,EAAAA,GAAAA,MAACz1C,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTuO,eAAe,SACfjpB,UAAU,MAAKzK,SAAA,EAEfiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAGnH,UAAWD,EAAQsoc,oBAAoBvoc,UACrDiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQuoc,WACnBloc,UAAU,MACVytH,IAAKg/U,GACLxnX,QAASA,IAAMknX,EAAaM,SAGpC96Q,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAGnH,UAAWD,EAAQsoc,oBAAoBvoc,UACrDiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQuoc,WACnBloc,UAAU,MACVytH,IAAKi/U,GACLznX,QAASA,IAAMknX,EAAaO,eAK5CrnO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAI8d,WAAS,EAACuO,eAAe,SAASjpB,UAAU,SAAQzK,SAAA,EACnEiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTjlB,UAAWD,EAAQkoc,mBACnBz0a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQmoc,cAAcpoc,SACxC6hE,EAAU,8BAGnB8jK,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAACryB,UAAWD,EAAQooc,cAAehhc,GAAI,GAAGrH,SAAA,EAChD2lO,EAAAA,GAAAA,MAACriD,GAAU,CAACpjL,UAAWD,EAAQoJ,KAAKrJ,SAAA,EAChCiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAG,OAAM,IAAE6hE,EAAU,8BAEzB8jK,EAAAA,GAAAA,MAACriD,GAAU,CAACpjL,UAAWD,EAAQoJ,KAAKrJ,SAAA,EAChCiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAG,OAAM,IAAE6hE,EAAU,iCAG7BowH,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACT1a,UAAU,MACVipB,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJpN,WAAS,EACT9d,GAAI,EACJnH,UAAWD,EAAQsoc,oBACnB70a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQwoc,cACnBnoc,UAAU,MACVytH,IAAKk/U,aAOzB,OACIh7Q,EAAAA,GAAAA,KAAAe,GAAAA,SAAA,CAAAhzL,SACKwsc,GACGv6Q,EAAAA,GAAAA,KAAC/B,GAAI,CAAC/qK,WAAS,EAACuO,eAAe,SAAQ1zB,UACnCiyL,EAAAA,GAAAA,KAACa,GAAG,CACA5yL,UAAWD,EAAQ0oc,YACnBroc,UAAU,MACVytH,IAAKy+U,EACLjnX,QAASA,IAAMknX,EAAa,WAIpC9mO,EAAAA,GAAAA,MAACz1C,GAAI,CACDhwL,UAAWD,EAAQgoc,cACnB9ib,WAAS,EACT1a,UAAU,SACVjC,QAAS,EAAExI,SAAA,EAEX2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAI8d,WAAS,EAACjlB,UAAWD,EAAQklB,UAAUnlB,SAAA,EACtDiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAI8d,WAAS,EAACuO,eAAe,SAAQ1zB,UAChDiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQuqK,MAAMxqK,SAAC,kBAI1CiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACTjlB,UAAWD,EAAQitc,kBACnBx5a,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQ4+Q,SAAS7+Q,SACnC6hE,EAAU,+BAIvB8jK,EAAAA,GAAAA,MAACz1C,GAAI,CACD39J,MAAI,EACJlrB,GAAI,GACJ8d,WAAS,EACT1a,UAAU,SACVipB,eAAe,SAAQ1zB,SAAA,EAEvBiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAACv4K,UAAWD,EAAQyoc,cAAc1oc,SACnC0sc,EAAMJ,MAEXr6Q,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJryB,UAAWD,EAAQ2oc,iBACnBrhc,GAAI,GACJ4d,WAAS,EACTuO,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5yL,UAAWD,EAAQ2sG,QAAQ5sG,UAC5BiyL,EAAAA,GAAAA,KAACspD,GAAS,CACNjxO,KACIgic,EAAcI,EAAM9oc,OAAS,GACzBquL,EAAAA,GAAAA,KAACk7Q,GAAY,KAEbl7Q,EAAAA,GAAAA,KAACwyI,GAAS,IAGlBrkU,MAAM,UACNyoJ,QAAQ,YACRt7I,QACI++b,EAAcI,EAAM9oc,OAAS,EACvB,YACA,SAEV2hF,QAASA,KAEDgnX,EADAD,EAAcI,EAAM9oc,OAAS,EACd0oc,EAAc,EACX,EAAE,eAUhE,GoB9TI,CACI/1b,GAAI,SACJpC,KAAM,UACNk4b,WAAW,EACX/rc,UE/JO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,UAAE5sI,GAAc0oK,KAChBl1N,EAAW8qI,KACX9H,EAAU6H,KAEV/5B,EAAOo8F,KACP6qP,EAAejnV,EAAK0sF,MAAM,YACzBouI,EAASosH,IAAcvqY,EAAAA,EAAAA,UAAS,KACjC,SAAEwqY,EAAQ,UAAEC,GvkBkiBf,WAAiE,IAA5C16P,EAAKlvM,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,IAAAA,UAAA,GAAUo/S,EAAQp/S,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG2lO,GAClD,MAAOx0M,EAAU6hZ,IAAe7zW,EAAAA,EAAAA,UAM7B,CAAC,IACG5/D,EAAOyuL,IAAY7uH,EAAAA,EAAAA,UAAwB,MAE5C0tB,EAAWrgE,IAAiD,IAAhD,OAAE+zX,EAAM,UAAEvvL,GAAgCxkM,EACxDwmZ,EAAY,CACR22B,SAAUppD,EAAOopD,SACjBC,UAAWrpD,EAAOqpD,UAClBC,SAAUtpD,EAAOspD,SACjBC,MAAOvpD,EAAOupD,MACd94O,aACF,EAGAh/H,EAAW9pE,IACb8lK,EAAS9lK,EAAI0qH,QAAQ,EAgCzB,OA7BA1zE,EAAAA,EAAAA,YAAU,KACN,IAAK2oD,YAAcA,UAAUkiV,YAEzB,YADA/7Q,EAAS,gCAIb,IAAIg8Q,EAAyB,KAe7B,OAdI96P,EACA86P,EAAUniV,UAAUkiV,YAAYE,cAC5Bp9W,EACAmF,EACAotN,GAGJv3L,UAAUkiV,YAAYG,mBAClBr9W,EACAmF,EACAotN,GAID,KACC4qJ,GACAniV,UAAUkiV,YAAYI,WAAWH,EACrC,CACH,GAEF,CAAC5qJ,EAASx5E,mBAAoBw5E,EAASzuS,QAASyuS,EAASv5E,aAErD,IAAK10M,EAAU5xB,QAC1B,CukBxlBoC6qc,EAAY,GAEtChY,EAAYH,KACZoY,GAAmBzpU,EAAAA,GAAAA,cAAa/iH,GAClCu0a,EAAUF,SAAe,OAANr0a,QAAM,IAANA,OAAM,EAANA,EAAQA,WAGvBmiH,OAAQsqU,GAAmBD,EAC7BE,EAAY1/P,EAAIqpC,KAAKthO,GAiB3B,OAfAssD,EAAAA,EAAAA,YAAU,KACN,MAAM26U,EAAen0K,GAAgBh0N,EAASuC,QAE1C4lY,GAAgBA,EAAatiX,IAC7Bmya,EAAW7vD,EAAatiX,GACxBirF,EAAKliF,MAAM,CAAEg9S,QAASu8D,EAAatiX,IACvC,GACD,CAACirF,EAAM9wG,EAASuC,UAEnBirD,EAAAA,EAAAA,YAAU,KACFyqY,GAAYC,GAAa/+P,EAAI8qC,QAAU40N,GACvCD,EAAe,CAAEzsb,OAAQ,CAAEoK,EAAG0hb,EAAU73a,EAAG83a,IAC/C,GACD,CAAC/+P,EAAI8qC,OAAQg0N,EAAUC,EAAWU,EAAgBC,KAGjDvoO,EAAAA,GAAAA,MAAC1jF,GAAS,CAACltH,SAAS,KAAI/0B,SAAA,EACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAAQ1zB,UACvCiyL,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACNh1F,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,UACN+J,QAASs0D,EAAU,UACnBx1D,KAAM,SACNgjL,WAAY,CACR9f,cACI0iB,EAAAA,GAAAA,KAACE,GAAc,CAACr9J,SAAS,MAAK90B,UAC1BiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPznF,QAASA,UAEgBjkF,IAAjB8rc,IAEAC,EAAWD,GACX/0T,EAAQhyI,KACJ,GAAGywB,GACC,eACGs2a,KAEf,EACFptc,UAEFiyL,EAAAA,GAAAA,KAAC8oE,GAAAA,EAAU,SAK3BvpE,WAAapyL,SACKkC,IAAVlC,IACAiuc,EAAWjuc,GACXi5I,EAAQhyI,KACJ,GAAGywB,GAAQ,eAAe13B,KAElC,SAOpB6yL,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJtzK,WAAS,EACTuzK,KAAM,CACF,CACIz1U,QAASs0D,EAAU,WACnBvhE,WAAW2xL,EAAAA,GAAAA,KAACk8Q,GAAa,CAAC3sb,OAAQ,CAAEy/T,cAExC,CACI1zU,QAASs0D,EAAU,cACnBvhE,WAAW2xL,EAAAA,GAAAA,KAACm8Q,GAAmB,CAAC5sb,OAAQ,CAAEy/T,cAE9C,CACI1zU,QAASs0D,EAAU,UACnBvhE,WAAW2xL,EAAAA,GAAAA,KAACmvN,GAAgB,CAAC5/X,OAAQ,CAAEy/T,mBAM/D,GF8DI,CACI1qU,GAAI,UACJpC,KAAM,WACNk4b,WAAW,EACX/rc,UAAWygY,IAEf,CACIxqX,GAAI,QACJpC,KAAM,SACNk4b,WAAW,EACX36O,QAAQ,EACRpxN,UGxKO,SAAeR,GAC1B,MAAM0uM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACTq9G,EAAO8wM,IAAYvrY,EAAAA,EAAAA,UAAS,KAC5B9qD,EAAUs2b,IAAexrY,EAAAA,EAAAA,UAAS,KACnC,MAAE1xB,EAAK,SAAEs3L,GAAax+F,MACrBqkU,EAAcC,IAAmB1rY,EAAAA,EAAAA,WAAS,IAC1C2rY,EAAeC,IAAoB5rY,EAAAA,EAAAA,WAAS,IAC5Cu1L,EAASs2M,IAAc7rY,EAAAA,EAAAA,UAAS,OACjC,UAAEjB,GAAc0oK,KAEhBqkO,EAAwBlxL,KAAkBE,iBAIhDi+H,GAAO,CAAC,UAAU,KACdD,GAAS,IAGb,MAAMizD,EAAuB5iP,IAEzB,GADAuiP,GAAgB,GACZviP,EAAS4rB,KACT,GAAI5rB,EAAS4rB,KAAKt2O,OAASitM,EAAIs4B,UAAUiJ,UACrCvhC,EAAIypC,cAAchsB,EAAS4rB,WAK3B,OAAQ5rB,EAAS4rB,KAAKrjH,QAClB,IAAK,aAED6jB,EAAQhyI,KAAK,oBAAqB,CAC9BwxO,KAAM5rB,EAAS4rB,OAEnB,MACJ,IAAK,cAEDx/F,EAAQhyI,KACJ,yBAAyB4lN,EAAS4rB,KAAKthO,MAAM01M,EAAS4rB,KAAK+6F,aAE/D,MACJ,IAAK,SACDpkI,EAAIypC,cAAchsB,EAAS4rB,WAOhC5rB,EAAS6iP,oBAChBJ,GAAiB,GACjBC,EAAW1iP,EAASosC,SACxB,EAMEujJ,EAAUA,KACZ4yD,GAAgB,GAChBhgQ,EAAIo4B,IAAI,OAAQ,SAAU,CACtBplN,OAAQ,CACJ+7O,QACAvlP,YAEJ9U,MAAQoY,IACJkzL,EAAIq4B,YAAY,IAAKvrN,EAAEpY,MAAMmsC,KAC7Bm/Z,GAAgB,EAAM,EAE1Bn/b,QAAUiM,IACNuzb,EAAoBvzb,EAAE,GAE5B,EA6DN,OA5CAunD,EAAAA,EAAAA,YAAU,KACF2rI,EAAIqpC,MAAQrpC,EAAIqpC,KAAKthO,KACjBmyN,EACArwF,EAAQhyI,KAAK0kL,mBAAmB29C,IAEhC5oO,EAAMuV,SAASwB,OACf/W,EAAMuV,SAASwB,MAAMwD,MACrBva,EAAMuV,SAASwB,MAAMwD,KAAKo7H,SAE1B4C,EAAQhyI,KAAKvG,EAAMuV,SAASwB,MAAMwD,KAAKo7H,UAEvC4C,EAAQhyI,KAAK,KAErB,GACD,CAACmoM,EAAIqpC,QA+BJlS,EAAAA,GAAAA,MAAC1jF,GAAS,CAACltH,SAAS,KAAI/0B,SAAA,EACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACm6M,GAAW,CACR7+X,QAASihM,EAAIhzL,EAAE,yBAKvBy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACX,GAAW,CACR1oF,WAAS,EACTplG,KAAK,QACL+J,QAASihM,EAAIhzL,EAAE,2BACf+1K,OAAQgsE,EACR/sK,SAAUplF,IAAA,IAAC,MAAEhM,GAAOgM,EAAA,OAAKijc,EAASjvc,EAAM,OAGhD6yL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAAC6pN,GAAe,CACZt4Y,KAAK,WACL+J,QAASihM,EAAIhzL,EAAE,YACf+1K,OAAQv5K,EACRw4E,SAAUzhE,IAAA,IAAC,MAAE3vB,GAAO2vB,EAAA,OAAKu/a,EAAYlvc,EAAM,OAKnD6yL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNozL,WAAWvB,EAAAA,GAAAA,KAAC88Q,GAAqBA,EAAI,IACrC3rc,SAAUmrc,EACV5kO,QAAS4kO,EACThpX,QAASA,IAAMq2T,IAAU57Y,SAExBwuM,EAAIhzL,EAAE,yBAKfy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACa,GAAG,CAAA9yL,UACAiyL,EAAAA,GAAAA,KAAClxC,GAAI,CAAC74C,KAAK,WAAW2gD,QAAQ,QAAO7oJ,SAChCwuM,EAAIhzL,EAAE,0BAMnBy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACa,GAAG,CAAA9yL,UACAiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACD74C,KAAM,GAAGpxE,GACL,sBACU4xM,IACd7/E,QAAQ,QAAO7oJ,SAEd,GAAGwuM,EAAIhzL,EACJ,0BACCgzL,EAAIhzL,EAAE,gCAQtCizb,IACGx8Q,EAAAA,GAAAA,KAACo6M,GAAQ,CACLh0I,QAASA,EACTuO,OAASnvO,IACLm3a,EAAsBjrU,OAClB,CACIniH,OAAQ,CACJwtb,cAAevoc,OAAO/B,SAAS+yB,GAC/B8lO,UAGR,CACI5nK,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAK3jO,EAAMmsC,IAAI,EAEnCulF,UAAYq3F,IACR4iP,EAAoB5iP,EAAS,GAGxC,EAELqgL,aAAcA,KACVsiE,EAAsBjrU,OAClB,CACIniH,OAAQ,CACJytb,eAAe,EACf1xM,UAGR,CACI5nK,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAK3jO,EAAMmsC,IAAI,EAEnCulF,UAAWA,KACP45E,EAAIq4B,YACA,IACAhlK,EACI+0K,GAAaiB,KAAKygB,kBAEzB,GAGZ,EAELpuF,QAASA,IAAMwkS,GAAiB,OAKpD,GHtFI,CACIn4b,GAAI,SACJpC,KAAM,UACNk4b,WAAW,EACX36O,QAAQ,EACRpxN,U3O9JO,WAAqB,IAAD4uc,EAAAC,EAC/B,MAAM3gQ,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBxuM,EAAU2wB,KACVynH,EAAU6H,MACV,SAAEwoF,GAAax+F,MACdklU,EAAgBC,IAAqBvsY,EAAAA,EAAAA,UAAS,SAC9C,CAAEg2K,GAAUrP,GAAU2lO,GAEvBE,EAAc,OAAH9gQ,QAAG,IAAHA,GAAAA,EAAKh9I,KAAOg9I,EAAIh9I,KAAKzpD,IAAMypD,IAGrChwC,EAAQmiP,IAAa7gM,EAAAA,EAAAA,UAAS,CACjCt/D,KAAM,GACNgtP,SAAU,GACVC,SAAU,GACV14O,MAAO,GACPC,SAAU,GACVymQ,OAAQ,aAIL8wL,EAAgBC,IAAqB1sY,EAAAA,EAAAA,WAAS,IAC9C2sY,EAAaC,IAAkB5sY,EAAAA,EAAAA,WAAS,GAG/C,SAASk3M,EAAY5uQ,GAAmB,IAAlB,KAAE5H,EAAI,MAAEpE,GAAOgM,EACjCu4P,EAAU,IAAKniP,EAAQ,CAAChe,GAAOpE,GACnC,CAoEA,OAlEAyjE,EAAAA,EAAAA,YAAU,KACN,GAAI2rI,EAAIt/J,QAAUs/J,EAAIt/J,OAAO+lM,UACzB,GAAIzjL,IAAQA,KAASg8U,GAAc,CAC/B,MAAMmiE,EAAWn+Y,GAAKpsD,MAAM,KAEtBwqc,EAAcphQ,EAAIt/J,OAAO+lM,UAAU1zK,MACpCsuY,GAAYA,EAAQ9nc,MAAQ4nc,EAAS,KAGtCC,GACAphQ,EAAI6qC,QAAQu2N,GAGhBpiE,GAAeh8U,EACnB,MACI02K,aAAakP,WAAW,kBAEhC,GACD,CAAC5oC,KAyCJ3rI,EAAAA,EAAAA,YAAU,KACF2rI,EAAIqpC,MAAQrpC,EAAIqpC,KAAKthO,IAAMmyN,GAC3BrwF,EAAQhyI,KAAK0kL,mBAAmB29C,GACpC,GACD,CAACl6B,EAAIqpC,KAAMx/F,EAASqwF,KAInB/C,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACD7mD,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACm6M,GAAW,CACR7+X,QAASihM,EACJhzL,EAAE,sBACF/H,mBAGbw+K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACS,GAAa,CACVlvL,KAAK,WACL+J,QAASihM,EAAIhzL,EAAE,YACf+1K,OAAQ+9Q,EACRxhc,QACO,OAAH0gM,QAAG,IAAHA,GAAW,QAAR0gQ,EAAH1gQ,EAAKt/J,cAAM,IAAAgga,GAAXA,EAAaj6N,UACJ,OAAHzmC,QAAG,IAAHA,GAAW,QAAR2gQ,EAAH3gQ,EAAKt/J,cAAM,IAAAiga,OAAR,EAAHA,EAAal6N,UACb,GAEVzkJ,SAAWh4E,GA1C/C,SAA2Bs3b,GACvB,MAAMF,EAAcphQ,EAAIt/J,OAAO+lM,UAAU1zK,MACpCmwP,GAASA,EAAK3pT,MAAQ+nc,EAAa1wc,QAGxCovM,EAAI6qC,QAAQu2N,EAChB,CAqCwCG,CAAkBv3b,QAI9By5K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACX,GAAW,CACR9tL,KAAK,OACL+J,QAASihM,EAAIhzL,EAAE,QACf+1K,OAAQ/vK,EAAOhe,KACfgtF,SAAWh4E,GACPwhQ,EAAaxhQ,QAIzBy5K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACX,GAAW,CACR9tL,KAAK,WACL+J,QAASihM,EAAIhzL,EAAE,YACf+1K,OAAQ/vK,EAAOgvO,SACfhgK,SAAWh4E,GACPwhQ,EAAaxhQ,QAIzBy5K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACX,GAAW,CACR9tL,KAAK,WACL+J,QAASihM,EAAIhzL,EAAE,YACf+1K,OAAQ/vK,EAAOivO,SACfjgK,SAAWh4E,GACPwhQ,EAAaxhQ,QAIzBy5K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACX,GAAW,CACR9tL,KAAK,QACL+J,QAASihM,EAAIhzL,EAAE,SACf+1K,OAAQ/vK,EAAOzJ,MACfy4E,SAAWh4E,GACPwhQ,EAAaxhQ,QAIzBy5K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAAC6pN,GAAe,CACZt4Y,KAAK,WACL+J,QAASihM,EAAIhzL,EAAE,YACf+1K,OAAQ/vK,EAAOxJ,SACfw4E,SAAWh4E,GACPwhQ,EAAaxhQ,QAKzBmtN,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,SAAA,EACdiyL,EAAAA,GAAAA,KAACkd,GAAY,CACT5hM,SACIo4N,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CACKwuM,EAAIhzL,EACD,6BACD,KACHy2K,EAAAA,GAAAA,KAAClxC,GAAI,CAAC74C,KAAK,WAAUloG,SAChBwuM,EAAIhzL,EACD,kCAKhBygF,QAASszW,EACT/+W,SAAUzhE,IAAA,IAAC,MAAE3vB,GAAO2vB,EAAA,OAChBygb,EAAkBpwc,EAAM,KAGhC6yL,EAAAA,GAAAA,KAACkd,GAAY,CACT5hM,QAASihM,EAAIhzL,EACT,2BAEJygF,QAASwzW,EACTj/W,SAAUrgE,IAAA,IAAC,MAAE/wB,GAAO+wB,EAAA,OAChBu/a,EAAetwc,EAAM,KAG7B6yL,EAAAA,GAAAA,KAACa,GAAG,CAAA9yL,UACAiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtBwuM,EAAIhzL,EACD,wCAKhBy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACiB,GAAM,CACHzjB,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNF,UAAWD,EAAQqtY,OACnB95M,WAAWvB,EAAAA,GAAAA,KAAC+9Q,GAAQA,EAAI,IACxBzqX,QAAU/sE,IAxKrC+2b,GAAmBE,GAGpBJ,EAAkB,WAClB7gQ,EAAIo4B,IAAI,OAAQ,SAAU,CACtBplN,OAAQ,IACDA,EACH+0N,SAAU+4N,GAEdjgc,QAAU48M,IACNojP,EAAkB,QACdpjP,EAAS4rB,MAETx/F,EAAQ/zH,QAAQ,oBAAqB,CACjCuzN,KAAM5rB,EAAS4rB,MAEvB,EAEJ30O,MAAQ+oN,IACJojP,EAAkB,QACdpjP,EAAS/oN,OACTsrM,EAAIq4B,YAAY,IAAK5a,EAAS/oN,MAAMmsC,IACxC,KArBRm/J,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,4BAuKqC,EAAAxb,SAEnCwuM,EAAIhzL,EAAE,0BAGfy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACa,GAAG,CACAx2G,GAAI,EACJx6E,QAAQ,OACR4xB,eAAe,WAAU1zB,UAEzBiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACD74C,KAAK,SACL2gD,QAAQ,QAAO7oJ,SACjB,GAAGwuM,EAAIhzL,EACL,8BACCgzL,EAAIhzL,EACL,2CAW5C,G2OvFI,CACIjF,GAAI,kBACJpC,KAAM,WACNk4b,WAAW,EACX36O,QAAQ,EACRpxN,UIvLO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,cAAEunC,GAAkBxnC,GACnBwd,GAAWmb,GAAO6O,IAClBj+N,EAAOk4b,IAAYntY,EAAAA,EAAAA,UAAiB,IAgB3C,OACImvH,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACm6M,GAAW,CACR7+X,QAASihM,EAAIhzL,EACT,mCAIZy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPvhK,wBAAyB,CACrBC,OAAQwsL,EAAIhzL,EACR,2CAKhBy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UAEdiyL,EAAAA,GAAAA,KAACX,GAAW,CACR/jL,QAASihM,EAAIhzL,EACT,uCAEJ+1K,OAAQx5K,EACRy4E,SAAUplF,IAAA,IAAC,MAAEhM,GAAsBgM,EAAA,OAC/B6kc,EAAS7wc,EAAM,OAI3B6yL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACa,GAAG,CAACz7J,UAAU,SAAQr3B,UACnBiyL,EAAAA,GAAAA,KAACiB,GAAM,CACHrwK,MAAO,CAAEjhB,MAAO,KAChBinJ,QAAQ,YACRzoJ,MAAM,UACNozL,WAAWvB,EAAAA,GAAAA,KAACglM,GAAIA,EAAI,IACpB1xS,QAvDpC,WACSxtE,GAILi0M,EAAQ,MAAO,WAAY,CAAEj0M,UACxB0nG,MAAK,KACF+uF,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,kCAAkC,IAEhE44G,OAAO63F,IACJzd,EAAIq4B,YAAY,IAAK5a,EAAS/oN,MAAMmsC,IAAI,GAEpD,EA2CkDrvC,SAEbwuM,EAAIhzL,EAAE,eAInBy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACa,GAAG,CAACz7J,UAAU,SAAQr3B,UACnBiyL,EAAAA,GAAAA,KAAClxC,GAAI,CAAC74C,KAAK,SAAQloG,SACdwuM,EAAIhzL,EAAE,8BAU/C,GJyGI,CACIjF,GAAI,eACJpC,KAAM,oBACNk4b,WAAW,EACX/rc,UK1MO,SAAsBR,GACjC,MAAM0uM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBopC,EAAM41B,IAAW3qM,EAAAA,EAAAA,YA8BxB,OA3BAD,EAAAA,EAAAA,YAAU,KACF/iE,EAAMuV,UAAYvV,EAAMuV,SAASwB,OACjC42P,EAAQ3tQ,EAAMuV,SAASwB,MAAMghO,KACjC,GACD,KAwBC5lD,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACm6M,GAAW,CACR7+X,QAASihM,EAAIhzL,EAAE,gCAGvBy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtBwuM,EAAIhzL,EAAE,gCAGfy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtBwuM,EAAIhzL,EAAE,gCAGfy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACd2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIC,GAAI,EAAEtH,UACrBiyL,EAAAA,GAAAA,KAACa,GAAG,CAACz7J,UAAU,SAAQr3B,UACnBiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDl+H,MAAO,CAAEgwI,OAAQ,WACjB3qD,KAAK,SAAQloG,UAEbiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtBwuM,EAAIhzL,EAAE,mBAKvBy2K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIC,GAAI,EAAEtH,UACrBiyL,EAAAA,GAAAA,KAACa,GAAG,CAACz7J,UAAU,SAAQr3B,UACnBiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDl+H,MAAO,CAAEgwI,OAAQ,WACjBttE,QA5D5C,WACSsyJ,EAKLrpC,EAAIo4B,IAAI,OAAQ,8BAA+B,CAC3CplN,OAAQ,CACJkkR,OAAQ7tD,EAAKthO,IAEjBlH,QAAUoW,IACFA,EAAO1N,OACPy2L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,kCAEd,IAdJgzL,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,wBAiBnC,EAyC0Dxb,UAEdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtBwuM,EAAIhzL,EACD,kDAcxD,GLmHI,CACIjF,GAAI,mBACJpC,KAAM,uCACNk4b,WAAW,EACX/rc,UrOlMO,SAA0BR,GACrC,MAAM0uM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACT23F,EAAM41B,IAAW3qM,EAAAA,EAAAA,UAAS,OAC1BotY,EAAeC,IAAoBrtY,EAAAA,EAAAA,WAAS,IAC5CstY,EAAaC,IAAkBvtY,EAAAA,EAAAA,WAAS,GAiE/C,OA/DAD,EAAAA,EAAAA,YAAU,MAaV,WACI,MAAM,GAAEtsD,EAAE,UAAEq8T,GAAc9yU,EAAMwE,MAAMkd,OAGlCjL,GAAMq8T,EACNpkI,EAAIo4B,IAAI,MAAO,UAAUrwN,yBAA2B,CAChDiL,OAAQ,CACJoxT,aAEJvjU,QAAUiM,IACFA,EAAEu8N,OACoB,WAAlBv8N,EAAEu8N,KAAKrjH,OACP6jB,EAAQ/zH,QAAQwS,GAAQ,UAExB22O,EAAQnyP,EAAEu8N,MAElB,IAMRx/F,EAAQ/zH,QAAQwS,GAAQ,QAEhC,CApCIw5a,EAAc,GACf,KAEHztY,EAAAA,EAAAA,YAAU,KACFg1K,GAAQA,EAAK04N,OAAS,GACtBJ,GAAiB,EACrB,GACD,CAACt4N,IAuDCA,GAKD5lD,EAAAA,GAAAA,KAAChwC,GAAS,CAAC3hJ,UAAU,OAAOy0B,SAAS,KAAI/0B,UACrCiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,EACN2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,EACA2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAChxL,QAAQ,OAAO6xB,WAAW,SAAQ3zB,SAAA,EACnCiyL,EAAAA,GAAAA,KAACa,GAAG,CAACt2G,GAAI,EAAEx8E,UACPiyL,EAAAA,GAAAA,KAACu+Q,GAAoB,CAAC/vc,SAAS,aAEnCwxL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SACnBwuM,EAAIhzL,EAAE,qBAAqB/H,oBAGpCw+K,EAAAA,GAAAA,KAAC27M,GAAS,QAEdjoK,EAAAA,GAAAA,MAACriD,GAAU,CAACz6B,QAAQ,QAAO7oJ,SAAA,CACtB,GAAGwuM,EAAIhzL,EAAE,cACVy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAI63O,EAAKr0O,WAEbyuL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG8zB,GAAI,EAAE76F,UACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtBwuM,EAAIhzL,EAAE,yBAGfy2K,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG8zB,GAAI,EAAE76F,UACd2lO,EAAAA,GAAAA,MAAChqD,GAAI,CAAC/I,OAAO,EAAM5yK,SAAA,EACf2lO,EAAAA,GAAAA,MAAC1zD,GAAQ,CAACpvJ,MAAO,CAAE8E,QAAS,GAAI3nB,SAAA,EAC5BiyL,EAAAA,GAAAA,KAACooD,GAAY,CAAAr6O,UACTiyL,EAAAA,GAAAA,KAAC6N,GAAU,OAEf7N,EAAAA,GAAAA,KAAC6pD,GAAY,CACTp5O,QAAS,GAAG8rM,EAAIhzL,EACZ,8BAIZmqN,EAAAA,GAAAA,MAAC1zD,GAAQ,CAACpvJ,MAAO,CAAE8E,QAAS,GAAI3nB,SAAA,EAC5BiyL,EAAAA,GAAAA,KAACooD,GAAY,CAAAr6O,UACTiyL,EAAAA,GAAAA,KAAC6N,GAAU,OAEf7N,EAAAA,GAAAA,KAAC6pD,GAAY,CACTp5O,QAAS,GAAG8rM,EAAIhzL,EACZ,8BAIZmqN,EAAAA,GAAAA,MAAC1zD,GAAQ,CAACpvJ,MAAO,CAAE8E,QAAS,GAAI3nB,SAAA,EAC5BiyL,EAAAA,GAAAA,KAACooD,GAAY,CAAAr6O,UACTiyL,EAAAA,GAAAA,KAAC6N,GAAU,OAEf7N,EAAAA,GAAAA,KAAC6pD,GAAY,CACTp5O,QAAS,GAAG8rM,EAAIhzL,EACZ,8BAIZmqN,EAAAA,GAAAA,MAAC1zD,GAAQ,CAACpvJ,MAAO,CAAE8E,QAAS,GAAI3nB,SAAA,EAC5BiyL,EAAAA,GAAAA,KAACooD,GAAY,CAAAr6O,UACTiyL,EAAAA,GAAAA,KAAC6N,GAAU,OAEf7N,EAAAA,GAAAA,KAAC6pD,GAAY,CACTp5O,QAAS,GAAG8rM,EAAIhzL,EACZ,mCAMpBy2K,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG8zB,GAAI,EAAE76F,UACd2lO,EAAAA,GAAAA,MAACriD,GAAU,CAACz6B,QAAQ,QAAO7oJ,SAAA,EACvB2lO,EAAAA,GAAAA,MAAA,KAAA3lO,SAAA,CAAIwuM,EAAIhzL,EAAE,QAAQ,SAClBmqN,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAOwuM,EAAIhzL,EAAE,0BAA0B,SACvCmqN,EAAAA,GAAAA,MAAC5kF,GAAI,CAAC74C,KAAK,WAAUloG,SAAA,CAChBwuM,EAAIhzL,EAAE,mBAAmB,YAIrB,IAAhBq8N,EAAK04N,SACFt+Q,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG8zB,GAAI,EAAE76F,UACdiyL,EAAAA,GAAAA,KAACkd,GAAY,CACT/uM,MAAM,UACNmN,SACIo4N,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIwuM,EAAIhzL,EAAE,wBAA0B,QAEpCy2K,EAAAA,GAAAA,KAAClxC,GAAI,CAAC74C,KAAK,WAAUloG,SAChBwuM,EAAIhzL,EAAE,qBACJ,OAIfygF,QAASi0W,EACT1/W,SAAUplF,IAAA,IAAC,UAAE9J,EAAS,MAAElC,GAAOgM,EAAA,OAC3B+kc,EAAiB/wc,EAAM,OAKvC6yL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG8zB,GAAI,EAAE76F,UACdiyL,EAAAA,GAAAA,KAACkd,GAAY,CACT/uM,MAAM,UACNmN,SACIo4N,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIwuM,EAAIhzL,EAAE,wBAA2B,KACrCy2K,EAAAA,GAAAA,KAAA,QAAAjyL,SACKwuM,EAAIhzL,EACD,iCAED,IACL,KACFy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SACKwuM,EAAIhzL,EACD,8CAKhBygF,QAASm0W,EACT5/W,SAAUzhE,IAAA,IAAC,UAAEztB,EAAS,MAAElC,GAAO2vB,EAAA,OAC3Bshb,EAAejxc,EAAM,OAIjC6yL,EAAAA,GAAAA,KAAC27M,GAAS,KACVjoK,EAAAA,GAAAA,MAAC7yC,GAAG,CACA/rH,GAAI,EACJ8zB,GAAI,EACJ/4F,QAAQ,OACR4xB,eAAe,gBAAe1zB,SAAA,EAE9BiyL,EAAAA,GAAAA,KAACi6D,GAAe,CAAC3mK,QA/JzC,WAEI,GAAI2qX,EAAe,CACf,MAAM,GAAE35b,EAAE,UAAEq8T,GAAc9yU,EAAMwE,MAAMkd,OAEtCgtL,EAAIo4B,IAAI,MAAO,UAAUrwN,YAAc,CACnCiL,OAAQ,CACJoxT,YACA69H,OAAQL,GAEZ/gc,QAAU48M,IACNzd,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,oBAC3B7G,YAAW,KACP0jI,EAAQ/zH,QAAQwS,GAAQ,SAAS,GAClC,IAAK,GAKpB,MACI03K,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,uBAEnC,KA0IwBy2K,EAAAA,GAAAA,KAACspD,GAAS,CACNhuO,QAASihM,EAAIhzL,EAAE,WACflR,MAAM2nL,EAAAA,GAAAA,KAACy+Q,GAAiB,IACxBrkc,KAAK,QACLk5E,QAASA,IAAM8yD,EAAQhyI,KAAKywB,GAAQ,0BA3IrD,IAmJf,GqOtBI,CACIvgB,GAAI,UACJpC,KAAM,WACNk4b,WAAW,EACX/rc,UpOnNO,SAAiBR,GAC5B,MAAMG,EAAU2wB,KAEhB,OACIqhK,EAAAA,GAAAA,KAAA,OAAAjyL,UACI2lO,EAAAA,GAAAA,MAAA,OAAKzlO,UAAWD,EAAQ0C,KAAK3C,SAAA,EACzBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,6BAER2lO,EAAAA,GAAAA,MAAA,KAAGzlO,UAAWD,EAAQ6wL,KAAK9wL,SAAA,EACvBiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,eACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,wFAE0B,KAC5BiyL,EAAAA,GAAAA,KAAA,KAAG/pF,KAAK,0BAAyBloG,SAAC,uBAAuB,IAAI,uIAG7CiyL,EAAAA,GAAAA,KAAA,SAAM,KAACA,EAAAA,GAAAA,KAAA,SAAM,6dASZA,EAAAA,GAAAA,KAAA,SAAM,KAACA,EAAAA,GAAAA,KAAA,SAAM,sMAIvBA,EAAAA,GAAAA,KAAA,SAAM,KAACA,EAAAA,GAAAA,KAAA,SAAM,yNAICA,EAAAA,GAAAA,KAAA,SAAM,KAACA,EAAAA,GAAAA,KAAA,aAGhCA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,iCACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,8pBAaFiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,oLAINA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,aAGJA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,2BACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,66BAkBFiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,kcASNA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,aAGJA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,2CACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,8eAUFiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,6bASNA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,2aASNA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,aAGJA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,wCACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,8sBAeFiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,2mBAYNA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,wSAONA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,ijBAYNA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,aAGJA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,6DAGJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,uSAOFiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,oXAQNA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,aAGJA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,qCACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,0MAKFiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,kVAQNA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,aAGJA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,yDACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,oVAMuCiyL,EAAAA,GAAAA,KAAA,SAAM,KAACA,EAAAA,GAAAA,KAAA,aAGpDA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,gCACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,0SAMQ,KACViyL,EAAAA,GAAAA,KAAA,KAAG/pF,KAAK,0BAAyBloG,SAAC,uBAAuB,IAAI,kOAIR,KACrD2lO,EAAAA,GAAAA,MAAA,KAAGz9H,KAAK,2BAA0BloG,SAAA,CAC7B,IAAI,oBACa,OACjB,KACLiyL,EAAAA,GAAAA,KAAA,SAAM,KAACA,EAAAA,GAAAA,KAAA,aAGXA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,gCAEJiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,sBACJiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SAAM,iPAQNiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,mDACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,sYAO4C,KAC9C2lO,EAAAA,GAAAA,MAAA,KAAGz9H,KAAK,sCAAqCloG,SAAA,CACxC,IAAI,mBACY,OACjB,uYAO2BiyL,EAAAA,GAAAA,KAAA,aAGnCA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,gCACJiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SAAM,wrBAgBNiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,4BACJiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SAAM,2SASNiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,iEAGJiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SAAM,+hCAsBNiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,gCACJ2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,khBAWFiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAM,ooBAeVA,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,eACJiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SAAM,uOAONiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,oBACJiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SAAM,uGAINiyL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,UACA0zC,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,cACQiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAG,2BAMrC,GoOlLI,CACIuW,GAAI,YACJpC,KAAM,qBACN7T,UAAWg8Y,IAEf,CACI/lY,GAAI,OACJpC,KAAM,QACN7T,UjOtNO,SAAa8K,GAAM,MAAHA,EAE3B,MAEMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhBkiQ,EAAMC,IAAW9tY,EAAAA,EAAAA,aACjB+tY,EAAUC,IAAehuY,EAAAA,EAAAA,UAAS,KAClCx3C,EAAQw4O,IAAahhM,EAAAA,EAAAA,UAAS,CAAC,IAC/BqrU,EAAa4iE,IAAkBjuY,EAAAA,EAAAA,aAC/BulS,EAAYU,IAAiBjmS,EAAAA,EAAAA,UAAS,KACtCsrU,EAAQ4iE,IAAaluY,EAAAA,EAAAA,UAAS,KAC9BmuY,EAAWC,IAAgBpuY,EAAAA,EAAAA,UAAS,MAwDrCulQ,EAAat5S,IAAsB,IAArB,KAAEvrB,EAAI,MAAEpE,GAAO2vB,EAC/B+0O,EAAU,IAAKx4O,EAAQ,CAAC9nB,GAAOpE,GAAQ,GAM3CyjE,EAAAA,EAAAA,YAAU,KACFv3C,EAAOsc,UA1DX4mK,EAAIo4B,IAAI,MAAO,QAAS,CACpBplN,OAAQ,CACJsjb,UAAWx5a,EAAOsc,QAAQrxB,GAC1B8E,KAAM,EACNwyJ,KAAM,KAEVx+J,QAAUiM,IACNs1b,EAAQt1b,GAGR61b,EAAU71b,EAAEuyJ,KAAK,IAGjB,MAAMujS,EAAU,GAChB91b,EAAEuyJ,KAAKliJ,SAASi7M,IACPwqO,EAAQpwY,SAAS4lK,EAAI8hI,WACtB0oG,EAAQ/qc,KAAKugO,EAAI8hI,SAAS,IAElC0oG,EAAQzlb,SAAS29U,IACbjB,EAAWhiW,KAAK,CACZjH,MAAOkqW,EACP/7V,QAAS+7V,GACX,GACJ,IAuCN96J,EAAIo4B,IAAI,MAAO,eAAgB,CAC3BplN,OAAQ,CAAEomB,QAAStc,EAAOsc,QAAQrxB,IAClClH,OAAAA,CAAQiM,GACJ01b,EAAU11b,EACd,IAER,GACD,CAACgQ,EAAOsc,WAKXi7B,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CACVznD,MAAO,UA5CXgkC,EAAIo4B,IAAI,MAAO,iBAAkB,CAC7Bv3N,QAAUiM,IACNw1b,EAAYx1b,EAAEuyJ,MAIdi2F,EAAU,CACN76B,SAAU,GACVlqF,OAAQ,MACRn3G,QAAStsB,EAAEuyJ,KAAKtsG,MAAMhmD,GAAgB,MAAVA,EAAEkc,QAChC,IAwCVqsO,EAAU,CACNl8N,QAAS,KACTqhM,SAAU,GACVlqF,OAAQ,OACV,GACH,IAKH,MASMsvP,EAAeniV,IACjBglZ,EAAahlZ,EAAM,EAMjBilZ,EAAavqO,IACfp4B,EAAIo4B,IAAI,MAAO,SAASA,EAAIrwN,KAAM,CAC9BlH,QAAUiM,IACNy1b,EAAez1b,EAAEsrN,IAAI,GAE3B,EAIN,OACIjB,EAAAA,GAAAA,MAAC1jF,GAAS,CAAAjiJ,SAAA,EACNiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,gCAEJiyL,EAAAA,GAAAA,KAACa,GAAG,CAAClsH,GAAI,EAAE5mE,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,CACLsrB,IACGq6M,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAACS,GAAa,CACVrqK,MAAI,EACJ9gB,GAAI,EACJ/D,KAAK,UACL+J,QAASihM,EAAIhzL,EAAE,WACf+1K,OAAQjmK,EAAOsc,SAAWtc,EAAOsc,QAAQrxB,GACzCi6E,SAxCRrgE,IAAsB,IAArB,KAAE3sB,EAAI,MAAEpE,GAAO+wB,EACpC2zO,EAAU,CACNl8N,QAASipa,EAAStvY,MAAMhmD,GAAMA,EAAEhF,IAAMnX,KACxC,EAsC0B0O,QAAS+ic,EAAStsc,KAAKqjC,IAAO,CAC1Br6B,QAASq6B,EAAQnQ,KACjBr4B,MAAOwoC,EAAQrxB,UAIvB07K,EAAAA,GAAAA,KAACS,GAAa,CACVrqK,MAAI,EACJsqK,WAAS,EACTprL,GAAI,EACJ/D,KAAK,WACL+J,QAASihM,EAAIhzL,EAAE,YACf+1K,OAAQjmK,EAAOo9U,SACfl4Q,SAAU63O,EACVv6T,QAASu6V,KAGbp2K,EAAAA,GAAAA,KAACS,GAAa,CACVrqK,MAAI,EACJ9gB,GAAI,EACJ/D,KAAK,SACL+J,QAASihM,EAAIhzL,EAAE,UACf+1K,OAAQjmK,EAAOyzH,OACfvuD,SAAU63O,EACVv6T,QA7KhB,CAAC,MAAO,OAAQ,MAAO,UA6KUvJ,KAAK+wB,IAAC,CACnB/nB,QAAS+nB,EACTl2B,MAAOk2B,SAIf28J,EAAAA,GAAAA,KAACX,GAAW,CACRjpK,MAAI,EACJ9gB,GAAI,EACJ/D,KAAK,WACL+J,QAAQ,WACRgkL,OAAQjmK,EAAO29M,SACfz4I,SAAU63O,OAKrBsoI,IACGhrO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAEvH,SACZ2wc,IACG1+Q,EAAAA,GAAAA,KAACuoE,GAAO,CACJhwF,MAAM,QACNx4E,SAAUm/W,EACVlub,KAAM0tb,EAAK9iS,KACNviJ,QACIs7M,GACGt7M,EAAOyzH,QACP6nF,EAAI7nF,SAEXzzH,QACIs7M,IAGS,GAFNA,EAAIqC,SAASlkO,QACTumB,EAAO29M,YAGlB39M,QACIs7M,IACIt7M,EAAOo9U,UACR9hI,EAAI8hI,UACAp9U,EAAOo9U,WAElBnkW,KAAKqiO,IAAG,CACLr5N,QAAS,GAAGq5N,EAAI7nF,UAAU6nF,EAAIqC,WAC9B5/N,KAAMu9N,EAAIpjO,KACVi3P,YAAa7zB,EACb98N,SACIqkY,GACAA,EAAY53X,IACRqwN,EAAIrwN,WAM/B43X,IACGxoK,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAEvH,SAAA,EACbiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAKmuY,EAAYllK,YACjBh3C,EAAAA,GAAAA,KAAA,KAAAjyL,SAAImuY,EAAYhiL,eAEhBl6B,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJC,KAAM,CACF,CACIz1U,QACIihM,EAAIhzL,EAAE,cACVlb,WACI2xL,EAAAA,GAAAA,KAACi8M,GAAc,CACXC,YACIA,EAEJC,OAAQA,EACRC,YACIA,KAKhB,CACI9gY,QAASihM,EAAIhzL,EAAE,aACflb,WACI2xL,EAAAA,GAAAA,KAACw8M,GAAa,CACVN,YACIA,EAEJC,OAAQA,EACRC,YACIA,sBAepDp8M,EAAAA,GAAAA,KAAC47M,GAAc,CACXC,QAASmjE,GAAaA,EAAU16b,GAChC2zJ,QAASA,IAAMgnS,EAAa,UAI5C,GiOlEI,CACI36b,GAAI,cACJpC,KAAM,YACNu9M,QAAQ,EACRpoE,QAAQ,EACR+rC,YAAY,EACZ/0L,UMxOO,WAAwB,IAADokQ,EAClC,MAAMsjC,EAAap9C,KACbp8C,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,GAAEl4L,GAAO6pI,MAEPn9H,KAAMoub,EAAY,UAAEptU,GAAc+jK,EAAW18C,UACjD5mP,SAAS6R,IAGb,OAAI0tH,GACOguD,EAAAA,GAAAA,KAAC43C,GAAkB,IAGzBwnO,EAKiC,aAAlCA,EAAaz5M,IAAIia,QAAQngB,MAChB,QAATgT,EAACl2D,EAAIqpC,YAAI,IAAA6sB,GAARA,EAAUsxL,gBAIR/jQ,EAAAA,GAAAA,KAAC24Q,GAA4B,CAAChzM,IAAiB,OAAZy5M,QAAY,IAAZA,OAAY,EAAZA,EAAcz5M,OAF7C3lE,EAAAA,GAAAA,KAACm4Q,GAAc,CAACxyM,IAAKy5M,EAAaz5M,MAPlC,IAUf,GNkNI,CACIrhP,GAAI,YACJpC,KAAM,mBACNu9M,QAAQ,EACRpoE,QAAQ,EACR+rC,YAAY,EACZ/0L,UO7NO,WAAsB,IAADi/b,EAAA/D,EAAA8V,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChC,MAAMlkQ,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACfl4L,GAAIq0R,GAAUxqJ,KAChB5+H,EAAS2+H,KAAcvoI,OACvB+6b,EAAqB,IAAIjkP,gBAAgBltM,GAAQ1Q,IAAI,WACrDmrP,EAAcrR,MACd,SAAE1f,GAAaV,MACdooO,EAAgBC,IAAqB/vY,EAAAA,EAAAA,WAAS,IAC9CgwY,EAAaC,IAAkBjwY,EAAAA,EAAAA,WAAS,IACxC+jE,EAAiBmsU,IAAsBlwY,EAAAA,EAAAA,UAAS,MAChDmwY,EAAiBC,IAAsBpwY,EAAAA,EAAAA,UAAS,GACjDu6X,GAAWnzT,EAAAA,GAAAA,UACb,CzkBgFuB,gBykBhFL,CAAE3zH,GAAIq0R,KACxB,IAAM3uC,EAAYnrP,IAAI85R,EAAO,CAAE//B,OAAO,KACtC,CACIlyI,QAAmB,OAAViyK,GAA4B,WAAVA,IAAuBgoK,EAClD/rU,kBACAjS,UAAY3xG,IAC4B,IAADkwb,EAAAC,EAAAC,EAAAC,EAAAC,EAA/BN,EAvBA,IAwBAC,EAAmBD,EAAkB,GAGX,kBAAlB,OAAJhwb,QAAI,IAAJA,GAAS,QAALkwb,EAAJlwb,EAAM20O,WAAG,IAAAu7M,OAAL,EAAJA,EAAW1tb,SACN,OAAJxC,QAAI,IAAJA,GAAS,QAALmwb,EAAJnwb,EAAM20O,WAAG,IAAAw7M,GAATA,EAAWvoM,OACU,UAAlB,OAAJ5nP,QAAI,IAAJA,GAAS,QAALowb,EAAJpwb,EAAM20O,WAAG,IAAAy7M,OAAL,EAAJA,EAAW7+U,SACP,OAAJvxG,QAAI,IAAJA,GAAS,QAALqwb,EAAJrwb,EAAM20O,WAAG,IAAA07M,GAAS,QAATC,EAATD,EAAWh+M,eAAO,IAAAi+M,IAAlBA,EAAoBh9b,GAIS,MAAtBo8b,IACPK,GAAmB,GACnBD,GAAe,KAJfF,GAAkB,GAClBE,GAAe,MAMnBC,GAAmB,GACnBD,GAAe,GACnB,EAEJp9W,QAASA,KACLkxC,GAAgB,GAChBksU,GAAe,EAAK,KAKzB,CAAEj6N,GAAUrP,GAAU,CACzB4zN,EAAS7oU,OAAS6oU,EAAS7oU,OAAS,YAexC,IAAIg/U,EA8BJ,OA5BIA,EADAZ,GAEIjtO,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAKwuM,EAAIhzL,EAAE,uBACXy2K,EAAAA,GAAAA,KAAC3O,GAAU,CAACljL,MAAM,gBAAgByoJ,QAAQ,QAAO7oJ,SAC5CwuM,EAAIhzL,EAAE,+BAIC,QAAb+jb,EAAAlC,EAASp6a,YAAI,IAAAs8a,OAAA,EAAbA,EAAe3nM,IAAInyO,UAAWqhN,GAAU8wB,IAAI2a,QAAQC,YAEvD7sC,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAKwuM,EAAIhzL,EAAE,sBACXy2K,EAAAA,GAAAA,KAAC3O,GAAU,CAACljL,MAAM,gBAAgByoJ,QAAQ,QAAO7oJ,SAC5CwuM,EAAIhzL,EAAEo7N,GAAaghB,IAAIC,wBAMhClyB,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAKwuM,EAAIhzL,EAAE,sBACXy2K,EAAAA,GAAAA,KAAC3O,GAAU,CAACljL,MAAM,gBAAgByoJ,QAAQ,QAAO7oJ,SAC5CwuM,EAAIhzL,EAAE,gCAOnBmqN,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC22I,GAAI,EAAEzpU,SAAA,CACN84O,EACAg6N,GACGntO,EAAAA,GAAAA,MAAC1jF,GAAS,CAACltH,SAAS,KAAI/0B,SAAA,EACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC22I,GAAI,EAAEzpU,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAAnlB,SAAA,EACXiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAErH,UACbiyL,EAAAA,GAAAA,KAACspD,GAAS,CACNjxO,MAAM2nL,EAAAA,GAAAA,KAAC2pD,GAAAA,EAAa,IACpBruO,QAASihM,EAAIhzL,EAAE,kBACf+pE,QAASA,KACLxvE,OAAO8N,OAAOxO,SAAS6yF,KAAO,GAAG,MAI5C0qW,IACG3gR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,EAAErH,UACbiyL,EAAAA,GAAAA,KAACwhR,GAAe,CACZhkS,WAAS,EACTlqF,QA3DbmuX,KAAO,IAADvU,EAAAC,EAAAuU,EAAAtU,EAAAC,EAAAsU,EACzB1oO,EACI,aAAqB,OAARmyN,QAAQ,IAARA,GAAc,QAAN8B,EAAR9B,EAAUp6a,YAAI,IAAAk8a,GAAK,QAALC,EAAdD,EAAgBvnM,WAAG,IAAAwnM,GAAS,QAATuU,EAAnBvU,EAAqB9pM,eAAO,IAAAq+M,OAApB,EAARA,EAA8Bp9b,SAC3C,kBACA,KACA,GAAGi4L,EAAIhzL,EAAE,aAAqB,OAAR6hb,QAAQ,IAARA,GAAc,QAANgC,EAARhC,EAAUp6a,YAAI,IAAAo8a,GAAK,QAALC,EAAdD,EAAgBznM,WAAG,IAAA0nM,GAAS,QAATsU,EAAnBtU,EAAqBhqM,eAAO,IAAAs+M,OAApB,EAARA,EAA8Br9b,KACvD,YA4DW07K,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,CACLwzc,GACDvhR,EAAAA,GAAAA,KAACa,GAAG,CAAC22I,GAAI,EAAEzpU,UACPiyL,EAAAA,GAAAA,KAAC4nD,GAAO,CAAChxF,QAAQ,aAKjB,gCADK,OAARw0S,QAAQ,IAARA,GAAc,QAAN7B,EAAR6B,EAAUp6a,YAAI,IAAAu4a,GAAK,QAAL8V,EAAd9V,EAAgB5jM,WAAG,IAAA05M,OAAX,EAARA,EAAqB7rb,UAElBwsK,EAAAA,GAAAA,KAACa,GAAG,CAAC22I,GAAI,EAAEzpU,UACPiyL,EAAAA,GAAAA,KAACi0B,GAAK,CAACK,SAAS,QAAOvmN,SAClBwuM,EAAIhzL,EAAE,gCAMnBmqN,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,EACJD,GAAI,EACJD,GAAI,EACJmjK,MAAOgkC,EAAIhzL,EAAE,iBACbnS,KAAc,OAARg0b,QAAQ,IAARA,GAAc,QAANkU,EAARlU,EAAUp6a,YAAI,IAAAsub,GAAK,QAALC,EAAdD,EAAgB35M,WAAG,IAAA45M,OAAX,EAARA,EAAqBj7b,MAG/B07K,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,EACJD,GAAI,EACJD,GAAI,EACJmjK,MAAOgkC,EAAIhzL,EAAE,WACbnS,MACI4oL,EAAAA,GAAAA,KAAC46I,GAAY,CACT30T,KAAc,OAARmlb,QAAQ,IAARA,GAAc,QAANoU,EAARpU,EAAUp6a,YAAI,IAAAwub,GAAK,QAALC,EAAdD,EAAgB75M,WAAG,IAAA85M,OAAX,EAARA,EAAqBrgN,aAKvCp/D,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,EACJD,GAAI,EACJD,GAAI,EACJmjK,MAAOgkC,EAAIhzL,EAAE,eACbnS,KAAMmlM,EAAIhzL,EAAE,aAGhBy2K,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,GACJD,GAAI,GACJD,GAAI,GACJmjK,MAAOgkC,EAAIhzL,EAAE,WACbnS,KAAc,OAARg0b,QAAQ,IAARA,GAAc,QAANsU,EAARtU,EAAUp6a,YAAI,IAAA0ub,GAAK,QAALC,EAAdD,EAAgB/5M,WAAG,IAAAg6M,OAAX,EAARA,EAAqBhjO,WAG/B38C,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,GACJD,GAAI,GACJD,GAAI,GACJmjK,MAAOgkC,EAAIhzL,EAAE,eACbnS,KAAc,OAARg0b,QAAQ,IAARA,GAAc,QAANwU,EAARxU,EAAUp6a,YAAI,IAAA4ub,GAAK,QAALC,EAAdD,EAAgBj6M,WAAG,IAAAk6M,GAAI,QAAJC,EAAnBD,EAAqBzwW,UAAE,IAAA0wW,OAAf,EAARA,EAAyBvuc,QAGnCyuL,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,GACJD,GAAI,GACJD,GAAI,GACJmjK,MAAOgkC,EAAIhzL,EAAE,SACbnS,KAAc,OAARg0b,QAAQ,IAARA,GAAc,QAAN2U,EAAR3U,EAAUp6a,YAAI,IAAA+ub,GAAK,QAALC,EAAdD,EAAgBp6M,WAAG,IAAAq6M,GAAM,QAANC,EAAnBD,EAAqBp6N,YAAI,IAAAq6N,OAAjB,EAARA,EAA2B1uc,QAGrCyuL,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,EACJD,GAAI,GACJD,GAAI,GACJmjK,MAAOgkC,EAAIhzL,EAAE,SACbnS,KAAM,GAAGwsQ,GACG,OAARwnL,QAAQ,IAARA,GAAc,QAAN8U,EAAR9U,EAAUp6a,YAAI,IAAAkvb,GAAK,QAALC,EAAdD,EAAgBv6M,WAAG,IAAAw6M,OAAX,EAARA,EAAqBjhN,MACb,OAARksM,QAAQ,IAARA,GAAc,QAANgV,EAARhV,EAAUp6a,YAAI,IAAAovb,GAAK,QAALC,EAAdD,EAAgBz6M,WAAG,IAAA06M,GAAY,QAAZC,EAAnBD,EAAqBn8L,kBAAU,IAAAo8L,OAAvB,EAARA,EACMh6X,SACE,OAAR8kX,QAAQ,IAARA,GAAc,QAANmV,EAARnV,EAAUp6a,YAAI,IAAAuvb,GAAK,QAALC,EAAdD,EAAgB56M,WAAG,IAAA66M,GAAY,QAAZC,EAAnBD,EAAqBt8L,kBAAU,IAAAu8L,OAAvB,EAARA,EAAiC1ma,wBAQzDimJ,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACw2D,GAAQ,CAAC5/F,QAAQ,OAAOvhJ,GAAG,IAAIzF,OAAO,aAK3D,GPII,CACI0U,GAAI,iBACJpC,KAAM,kBACN7T,U7KlMO,SAAiB8K,GAAa,IAADyoc,EAAA,IAAX,MAAEvvc,GAAO8G,EACtC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhBuoD,EAAU6lG,EAAY,CAAGr2H,GAAOH,MAChCpmO,EAASwvX,IAAc3sT,EAAAA,EAAAA,UAAS,CAAEvoD,MAAO,EAAGszJ,KAAM,MAClDimS,EAAeC,IAAoBjxY,EAAAA,EAAAA,UAAS,OAC5CkxY,EAAiBC,IAAsBnxY,EAAAA,EAAAA,UAAS,OAChDi2K,EAAYyvB,IAAiB1lM,EAAAA,EAAAA,UAAS,OACtCoxY,EAAYC,IAAiBrxY,EAAAA,EAAAA,UAAS,OACtC4hQ,EAAS4mF,IAAcxoV,EAAAA,EAAAA,aACvB+3I,EAAOqkJ,IAAYp8R,EAAAA,EAAAA,UAAS,IAG7Bo4S,EAASrC,GADD34V,KACqB/Y,YAAYiB,KAAK,OAE9CQ,EAASgoB,KAEf,SAASg/V,IAA6C,IAAjCpuW,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,GAAIxyJ,KAAM,GAC5C,MAAM,GAAE9E,GAAOjS,EAAMkd,OACrBglN,EAAI,eAAejwN,YAAciL,GAAQi+F,MAAMwsG,IACvCA,EAASp+C,MACT4hN,EAAWxjK,EACf,GAER,CAcA,SAAS8zI,IACL,MAAM,GAAExpV,GAAOjS,EAAMkd,OACrBglN,EAAI,eAAejwN,KAAMkpG,MAAMwsG,IACH,IAADmoP,EAAnBnoP,EAAS+qC,WACT6lG,EAAY5wI,EAAS+qC,UAEE,QAAvBo9M,EAAAnoP,EAAS+qC,SAASjE,aAAK,IAAAqhN,GAAvBA,EAAyBzob,SAAS0pM,IAlB9C,IAA2Bg/O,EAmBPh/O,EAAKi/O,YAnBED,EAoBWh/O,EAAKi/O,UAAU/9b,KAfjDiwN,EAAI,aAAa6tO,KAAc50V,MAAMwsG,IAC7BA,EAAS6nC,SACTqgN,EAAcloP,EAAS6nC,QAC3B,GAaQ,IAER,GAER,CAqDA,IA9BAjxL,EAAAA,EAAAA,YAAU,KACG,OAALv+D,QAAK,IAALA,GAAAA,EAAOkd,SACPu+U,IACA6vB,IAxBR,WACI,MAAM,GAAEr5W,GAAOjS,EAAMkd,OAErBglN,EAAI,eAAejwN,WAAYkpG,MAAMwsG,IAC7BA,EAAS1xM,MAAQ,GACjB2kV,EAASjzI,EAASp+C,KACtB,GAER,CAiBQ0mS,GACJ,GAED,KAEH1xY,EAAAA,EAAAA,YAAU,KAEF2rI,EAAI8qC,QACc,gBAAlB9qC,EAAIqpC,KAAKt2O,MACTy1P,GACAA,EAAS31J,IAxBbmlI,EAAI,QAAQwwB,EAAS31J,GAAG9qF,SACnBkpG,MAAMwsG,IACCA,EAASkhB,QACTq7B,EAAcv8C,EAASkhB,MAAM4L,YAC7BuyK,EAAWr/L,EAASkhB,MAAM52N,IAC9B,IAEH69G,OAAM,QAoBX,GAED,CAAC4iI,KAWCA,EACD,OAAO,KAGX,MAAM0iG,EACF1xT,MAASmmB,QAAQnmB,IAAOgvN,EAAS0e,OACjC1tO,MAASomB,SAASpmB,IAAOgvN,EAAS9uP,MAChC64Y,EACF/4W,MAASmmB,QAAQnmB,IAAOgvN,EAASymG,WACjCz1T,MAASomB,SAASpmB,IAAOgvN,EAAS0mG,UAEtC,OACI/3H,EAAAA,GAAAA,MAAC1jF,GAAS,CAACltH,SAAS,KAAI/0B,SAAA,EACpB2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAChxL,QAAQ,OAAO0xB,cAAe0nV,EAAS,SAAW,MAAMl7W,SAAA,EACzD2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,EACA2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAACh+J,SAAS,WAAU90B,SAAA,EACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CACAh+J,SAAS,WACTjN,KAAM,EACNC,IAAK,EACLoD,EAAG,EACH6vE,GAAI,EACJ76F,UAAW0I,EAAOw/Y,MAAMpoZ,UAExBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAW0I,EAAO4/Y,aAAaxoZ,SACtCg3P,EAASxzP,SAGjBwzP,EAASyoG,OAAOlpV,IACb07K,EAAAA,GAAAA,KAACuiR,GAAU,CACPjwD,UAAQ,EACRzwP,MAAO,GAAGkjG,EAASyoG,OAAO5nV,iBAC1BwsY,MAAO,GAAGrtJ,EAASyoG,OAAO5nV,iBAC1Bi3G,IAAKkoI,EAASxzP,QAGlByuL,EAAAA,GAAAA,KAAA,OACInjE,IAAI,eACJ5uH,UACIg7W,EACMtyW,EAAOu/Y,SACPv/Y,EAAOs/Y,YAEjBn6R,IAAK,GAAGygF,EAAIm5B,OAAO9vN,+DAI/Bo6K,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CACA5nK,EAAG,EACHppB,QAAQ,OACR0xB,cAAc,SACdG,WAAW,SACXzzB,UACI6gZ,EAAYn4Y,EAAOy/Y,QAAUz/Y,EAAO0/Y,MACvCtoZ,SAAA,EAEDiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPpjL,UAAW0I,EAAO2/Y,WAClB1/P,QAAQ,UAAS7oJ,SAEhB+gZ,EACKvyM,EAAIhzL,EAAE,4BACNgzL,EAAIhzL,EAAE,gCAEhBy2K,EAAAA,GAAAA,KAAC3O,GAAU,CACPpjL,UAAW0I,EAAO2/Y,WAClB1/P,QAAQ,QAAO7oJ,SACjB,GAAGgoC,IAAOgvN,EAASymG,SAASxgU,OAC1B,4BACG+K,IAAOgvN,EAAS0mG,SAASzgU,OAC5B,iCAIZg1J,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CACA5nK,EAAG,EACHppB,QAAQ,OACR0xB,cAAc,SACdG,WAAW,SACXzzB,UAAWw5V,EAAS9wV,EAAOy/Y,QAAUz/Y,EAAO0/Y,MAAMtoZ,SAAA,EAElDiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPpjL,UAAW0I,EAAO2/Y,WAClB1/P,QAAQ,UAAS7oJ,SAEhB05V,EACKlrJ,EAAIhzL,EAAE,wBACNgzL,EAAIhzL,EAAE,4BAEhBy2K,EAAAA,GAAAA,KAAC3O,GAAU,CACPpjL,UAAW0I,EAAO2/Y,WAClB1/P,QAAQ,QAAO7oJ,SACjB,GAAGgoC,IAAOgvN,EAAS0e,KAAKz4O,OACtB,mBACG+K,IAAOgvN,EAAS9uP,KAAK+0B,OACxB,uBAIX49K,EAAMj3M,OAAS,IACZ+hO,EAAAA,GAAAA,MAAC7yC,GAAG,CAACj4F,GAAI,EAAE76F,SAAA,EACPiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG8zB,GAAI,EAAE76F,UACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,UACvB2lO,EAAAA,GAAAA,MAAA,KAAA3lO,SAAA,CAAIwuM,EAAIhzL,EAAE,aAAa,WAG9Bq/L,EAAMt2M,KAAKmnO,IACR/F,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC22I,GAAI,EAAEzpU,SAAA,EACPiyL,EAAAA,GAAAA,KAAA,OAAAjyL,UACIiyL,EAAAA,GAAAA,KAAA,KAAG/pF,KAAMwjI,EAAK7zN,IAAI7X,SAAE0rO,EAAKloO,UAE7ByuL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtB0rO,EAAKvf,gBALGuf,EAAKn1N,aAYtCovN,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAGH,KAAM,EAAE/qB,SAAA,EAEfiyL,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,UACPiyL,EAAAA,GAAAA,KAAA,OAEIlwK,wBAAyB,CACrBC,OAAQg1O,EAAS7qC,aAErBjsN,UAAW0I,EAAO6/Y,iBAIzByrD,IACGjiR,EAAAA,GAAAA,KAACa,GAAG,CACA22I,GAAI,EACJvpU,UAAW,GAAG0I,EAAO8/Y,mBAAmB9/Y,EAAOy/Y,UAAUroZ,UAEzDiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAW0I,EAAO+/Y,kBAAkB3oZ,SAC3CwuM,EAAIhzL,EAAE,+BAInBy2K,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJC,KAAM,CACF,CACI57P,MACY,OAAR4vK,QAAQ,IAARA,OAAQ,EAARA,EAAUxiI,UACVsyG,GAAUkwB,SAASxiI,OAAOo+I,OAC9BrlQ,QAASihM,EAAIhzL,EAAE,YACflb,WACI2xL,EAAAA,GAAAA,KAACozN,GAAQ,CACLtyJ,MAAOiE,EAASjE,MAChB2uE,WAjKpC,SAAgBrsG,GACRA,EAAKi4H,aACL2mH,EAAmB5+O,GAEnB0+O,EAAiB1+O,EAEzB,EA4JoC0rL,UAAWA,KAIvB,CACIxzY,QAASihM,EAAIhzL,EAAE,YACf4rE,KAAMnnF,EAAQsa,MAAQ,EACtBja,WACI2xL,EAAAA,GAAAA,KAAC2zN,GAAW,CACR3lZ,QAASA,EACTowH,QAASu/P,KAIrB,CACIriX,QAASihM,EAAIhzL,EACTo7N,GAAaoY,QAAQoF,aAEzBhtK,MAGK,QAFDysX,EAAA78M,EAASjE,MAAMznO,QACV+pM,IAAI,IAAAo/O,EAAA,OAAS,OAAJp/O,QAAI,IAAJA,GAAiB,QAAbo/O,EAAJp/O,EAAM++B,mBAAW,IAAAqgN,OAAb,EAAJA,EAAmB7wc,QAAS,CAAC,WAC1C,IAAAiwc,OAAA,EAFDA,EAEGjwc,QAAS,EAChBtD,WACI2xL,EAAAA,GAAAA,KAAC+1N,GAAe,CACZpqO,MAAOo5E,EAASjE,MACXxuP,KAAK8wN,GAAa,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAM++B,cACpBxnE,mBAQhCknR,IACG7hR,EAAAA,GAAAA,KAAC4zN,GAAW,CACRxwL,KAAMy+O,EACN5pS,QAASA,IAAM6pS,EAAiB,MAChCjuD,cAAe,CACX16I,MAAOpU,EAAS31J,GAAGwkK,YACnB9tP,MAAOi/O,EAAS31J,GAAGukK,eAI9BouM,IACG/hR,EAAAA,GAAAA,KAAC60N,GAAW,CACRzxL,KAAM2+O,EACNlrI,KAAM9xE,EAAS31J,GAAG9qF,GAClB2zJ,QAASA,KACL+pS,EAAmB,KAAK,EAE5B9tV,KAAM6wI,EAAS7wI,KACf4yH,WAAYA,EACZnI,aAAcomB,EAASpmB,aACvB8zF,QAASA,MAK7B,G6KzHI,CACInuT,GAAI,YACJpC,KAAM,kBACN7T,UQ9OO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACV,UAAEr+E,GAAc0oK,MAEdh0N,GAAIm+b,GAASt0T,KAIfu0T,EAFatoN,KAEkBK,gBACjCjmP,OAAOiuc,GACP,CACIvkc,MAAO,WACPunU,gBAAgB,EAChB7pK,KAAM,IACNq3M,iBAAiB,EACjBxrB,QAAQ,EACRk7G,UAAU,EACVC,WAAW,GAEf,CACI3mW,OAASjrF,GAA+BA,EAAK4qJ,KAlC5Cx8J,QAAO,CAACgtD,EAAiBrB,KAC9B,MAAM,SAAEh9D,KAAa80c,GAAoB93Y,EAKzC,OAJQ,OAARh9D,QAAQ,IAARA,GAAAA,EAAU6tK,KAAKliJ,SAASi0E,IACpBvhC,EAAOh4D,KAAKu5F,EAAM,IAEtBvhC,EAAOh4D,KAAKyuc,GACLz2Y,CAAM,GACd,MA+BH,OAAIs2Y,EAAkB1wU,WAEdguD,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAAQ1zB,UACvCiyL,EAAAA,GAAAA,KAACkJ,GAAgB,QAM7Bw5Q,EAAkBxwU,SACX8tD,EAAAA,GAAAA,KAACmnE,GAAQ,IAGfu7M,EAAkB1xb,MAKnBgvK,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,SAClB20c,EAAkB1xb,KAAKrf,QAIrBquL,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM,CACF1I,MAAOo6b,EAAkB1xb,KAAKrf,OAC9BiqK,KAAM8mS,EAAkB1xb,MAE5BiiF,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNylE,MAAO,OACPrqE,MAAQklQ,GAAeA,EAAI9gQ,KAC3B+hF,QAAU++K,IACNjsH,EAAQhyI,KACJywB,GAAQ,WAAY,CAChB49a,OACA/1L,QAASra,EAAI/tP,KAEpB,GAGT,CACIi0J,MAAOgkC,EAAIhzL,EAAE,cACbxX,KAAM,OACN5E,MAAQklQ,IAAU,IAAAywM,EAAA,OACdl/L,GACO,OAAHvR,QAAG,IAAHA,OAAG,EAAHA,EAAK+yE,gBAEF,OAAH/yE,QAAG,IAAHA,GAAoB,QAAjBywM,EAAHzwM,EAAK6zF,uBAAe,IAAA48G,OAAjB,EAAHA,EAAsBx8X,SACzB,GAET,CACIiyF,MAAOgkC,EAAIhzL,EAAE,OACbxX,KAAM,OACN5E,MAAQklQ,IAAU,IAAA0wM,EAAA,OACd1wM,EAAIkzE,aACJ,GAAG3hE,GACI,OAAHvR,QAAG,IAAHA,OAAG,EAAHA,EAAK9R,SAEF,OAAH8R,QAAG,IAAHA,GAAa,QAAV0wM,EAAH1wM,EAAKi8E,gBAAQ,IAAAy0H,OAAV,EAAHA,EAAez8X,aACd1W,EAAUyiM,EAAIkzE,cAAc,OA1CjDvlJ,EAAAA,GAAAA,KAACyoE,GAAY,MANd,IAuDf,GRiJI,CACInkP,GAAI,YACJpC,KAAM,mBACN7T,USzOO,SAAmBR,GAAQ,IAADm1c,EACrC,MAAMzmQ,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,KACVg1T,EAAe3yP,KACf4yP,EAAuBD,EAAariQ,MAAM,WAC1CuiQ,EAAY7yP,KACZ8yP,EAAoBD,EAAUviQ,MAAM,YACnCi2H,EAAMwsI,IAAWxyY,EAAAA,EAAAA,aACjBu+B,EAAIsqK,IAAS7oM,EAAAA,EAAAA,aACbutU,EAAcC,IAAmBxtU,EAAAA,EAAAA,UAAS,KAC1CyyY,EAAoBC,IAAyB1yY,EAAAA,EAAAA,UAAS,KACtD2yY,EAAuBC,IAA4B5yY,EAAAA,EAAAA,UAAS,IAE7D6yY,EACFnnQ,EAAIqpC,KAAKt2O,OAASitM,EAAIs4B,UAAUgJ,UAChCthC,EAAIqpC,KAAKt2O,OAASitM,EAAIs4B,UAAUkJ,aAKpCntK,EAAAA,EAAAA,YAAU,KACFw+B,IACIs0W,EACAnnQ,EAAIo4B,IAAI,MAAO,QAAQvlI,EAAG9qF,QAAS,CAC/BlH,QAAUiM,IAAO,IAADs6b,EACP,OAADt6b,QAAC,IAADA,GAAQ,QAAPs6b,EAADt6b,EAAG6xN,aAAK,IAAAyoO,GAARA,EAAU78N,YACVu3J,EAAgBh1X,EAAE6xN,MAAM4L,WAC5B,IAIRvqC,EAAIo4B,IAAI,MAAO,QAAQvlI,EAAG9qF,gBAAiB,CACvClH,QAAUiM,IACN,MAAMu6b,EAAmBv6b,EAAEuyJ,KAAKviJ,QAC3Bw9O,GAAcA,EAAU9lQ,SAG7BstY,ElawUjB,SAAgCvoY,EAAK+tc,GACxC,MAAM7yb,EAAO,GAMb,OAJA6yb,EAAQnqb,SAAS4G,IACTxqB,KAAOwqB,GAAMtP,EAAK5c,KAAKksB,EAAKxqB,GAAK,IAGlCkb,CACX,Cka/U4B8yb,CAAuB,KAAMF,GAChC,IAIjB,GACD,CAACx0W,KAKJx+B,EAAAA,EAAAA,YAAU,IAAMyyY,EAAQx1c,EAAMwE,MAAMkd,OAAOjL,KAAK,CAACzW,EAAMwE,MAAMkd,OAAOjL,MAKpEssD,EAAAA,EAAAA,YAAU,KACK,IAADgpM,EAANi9D,IACAktI,IACAxnQ,EAAIyjB,UAAU,CAAEznD,MAAU,OAAHgkC,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,OAAJ,EAAHA,EAASroQ,OACpC,GACD,CAACslU,IAKJ,MAAMktI,EAASA,KACXxnQ,EAAIo4B,IAAI,MAAO,QAAQkiG,IAAQ,CAC3Bz5T,QAAUiM,IACNqwP,EAAMrwP,EAAE+lF,GAAG,GAEjB,EAGA40W,GACA,OAAF50W,QAAE,IAAFA,GAAW,QAAT4zW,EAAF5zW,EAAI2rC,eAAO,IAAAioU,OAAT,EAAFA,EAAa1zY,MAAM/9D,GAAkB,UAATA,OAAuB,OAAF69F,QAAE,IAAFA,OAAE,EAAFA,EAAIwwK,SAG3B,IAADqkM,EAAAC,EAAAjhE,EAAAC,EAAAC,EAAAC,EAAA+gE,EAAAC,EAA7B,MAAmB,YAAb,OAAFh1W,QAAE,IAAFA,OAAE,EAAFA,EAAImzB,SAEAy9D,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpB2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,EACNiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAGkrB,eAAe,SAAQ1zB,UAC/C2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,GAAGvH,SAAA,EACdiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG0C,MAAM,SAAQzpE,UACtBiyL,EAAAA,GAAAA,KAAA,OACIlkE,IAAKygF,EAAIi8B,YACL,WACe,QADfyrO,EACW,QADXC,EACI90W,EAAG8jK,YAAI,IAAAgxM,OAAA,EAAPA,EAAS5/b,UAAE,IAAA2/b,EAAAA,EAAI,oBAGvBpnV,IAAK,WAAWztB,EAAG79F,YAI3BmiO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC/rH,GAAI,EAAG0C,MAAM,SAAQzpE,SAAA,EACtBiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SACnBqhG,EAAG79F,QAGRmiO,EAAAA,GAAAA,MAACriD,GAAU,CAACz6B,QAAQ,YAAW7oJ,SAAA,CAC1BqhG,EAAGouJ,MAAQpuJ,EAAGouJ,KAAKjsP,KAAM,IACzB69F,EAAGouJ,MACApuJ,EAAGouJ,KAAK+uB,UACR,IAAIn9K,EAAGouJ,KAAK+uB,SAASh7Q,eAG9B,OAAF69F,QAAE,IAAFA,OAAE,EAAFA,EAAIi1W,iBACD3wO,EAAAA,GAAAA,MAAC7yC,GAAG,CACAhxL,QAAQ,OACR6xB,WAAW,SACXD,eAAe,SACftL,IAAK,EAAGpoB,SAAA,EAERiyL,EAAAA,GAAAA,KAAA,OACIlkE,IAAKwoV,GACLznV,IAAI,0BACJltH,MAAM,QACNC,OAAO,UAEXowL,EAAAA,GAAAA,KAAA,OACIlkE,IAAKyoV,GACL1nV,IAAI,sDACJltH,MAAM,QACNC,OAAO,UAEXowL,EAAAA,GAAAA,KAAA,OACIlkE,IAAK0oV,GACL3nV,IAAI,+BACJltH,MAAM,QACNC,OAAO,WAEXowL,EAAAA,GAAAA,KAAA,OACIlkE,IAAK2oV,GACL5nV,IAAI,gCACJltH,MAAM,OACNC,OAAO,aAInBowL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG0C,MAAM,SAAQzpE,UACtBiyL,EAAAA,GAAAA,KAACiB,GAAM,CACH7mL,KAAK,QACLmnL,WAAWvB,EAAAA,GAAAA,KAAC0kR,GAAcA,EAAI,IAC9BpxX,QAASA,IACL8yD,EAAQhyI,KACJywB,GAAQ,YAAa,CACjBvgB,GAAI8qF,EAAG9qF,MAGlBvW,SAEAwuM,EAAIhzL,EAAE,oBAMtB6lF,EAAGqkK,WACAzzE,EAAAA,GAAAA,KAACa,GAAG,CACA/rH,GAAI,EACJ77C,EAAG,EACHzD,OAAQ,EACRuK,YAAY,iBAAgBhyB,SAE3BqhG,EAAGqkK,YAIZzzE,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UAEPiyL,EAAAA,GAAAA,KAAA,OACIlwK,wBAAyB,CACrBC,OAAQq/E,EAAG8qH,kBAKvBl6B,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CACD/qK,WAAS,EACT3c,QAAS,EACTmrB,WAAW,SACXD,eAAe,SAAQ1zB,SAAA,CAGtBqwY,EAAarvU,SAAS,KACnBqgC,EAAG2rC,QAAQzrE,MACN/9D,GAAkB,YAATA,MAEVyuL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJhrB,GAAI0uc,EAAW,EAAI,EACnB5uc,GAAI,GAAGrH,UAEPiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EAAE,QACfg4K,WAAWvB,EAAAA,GAAAA,KAAC9hF,GAAI,IAChB5qB,QAASA,IACL8yD,EAAQhyI,KACJywB,GAAQ,YAAa,CACjBvgB,GAAI8qF,EAAG9qF,UASlC85X,EAAarvU,SAAS,MACjB,OAAFqgC,QAAE,IAAFA,OAAE,EAAFA,EAAIm3I,cACAvmD,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJhrB,GAAI0uc,EAAW,EAAI,EACnB5uc,GAAI,GAAGrH,UAEPiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EAAE,YACfg4K,WAAWvB,EAAAA,GAAAA,KAAC2kR,GAAAA,EAAc,IAC1BrxX,QAASA,IACL8yD,EAAQhyI,KACJywB,GACI,oBACA,CACIvgB,GAAI8qF,EAAG9qF,UAUtC0/b,IACGhkR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGF,GAAI,GAAGrH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACTliK,QAASihM,EAAIhzL,EAAE,eACfg4K,UAEQ,SADG,QAAP0hN,EAAA7zS,EAAGouJ,YAAI,IAAAylJ,GAAS,QAATC,EAAPD,EAASjgJ,eAAO,IAAAkgJ,OAAT,EAAPA,EAAkB58T,WAEX,QADE68T,EACT/zS,EAAGouJ,YAAI,IAAA2lJ,GAAS,QAATC,EAAPD,EAASngJ,eAAO,IAAAogJ,GAAhBA,EAAkB98T,SACP,QADe69X,EACtB/0W,EAAGouJ,YAAI,IAAA2mN,GAAS,QAATC,EAAPD,EAASnhN,eAAO,IAAAohN,OAAT,EAAPA,EAAkB99X,UAElB05G,EAAAA,GAAAA,KAACwgM,GAAI,IAGbltS,QAASA,IACL8yD,EAAQhyI,KACJywB,GAAQ,gBAAiB,CACrBvgB,GAAI8qF,EAAG9qF,WAS/B07K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI0uc,EAAW,EAAI,EAAG5uc,GAAI,GAAGrH,UACpCiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACTliK,QAASihM,EAAIhzL,EAAE,aACfg4K,WAAWvB,EAAAA,GAAAA,KAAC4kR,GAAO,IACnBtxX,QAASA,IACL8yD,EAAQhyI,KACJywB,GAAQ,YAAa,CACjBvgB,GAAI8qF,EAAG9qF,WAQ3B07K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI0uc,EAAW,EAAI,EAAG5uc,GAAI,GAAGrH,UACpCiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACTliK,QAASihM,EAAIhzL,EAAE,SACfg4K,WAAWvB,EAAAA,GAAAA,KAAC6kR,GAAc,IAC1BvxX,QAASA,IACL8yD,EAAQhyI,KACJywB,GAAQ,WAAY,CAChBvgB,GAAI8qF,EAAG9qF,WAQ3B07K,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI0uc,EAAW,EAAI,EAAG5uc,GAAI,GAAGrH,UACpCiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACTliK,QAASihM,EAAIhzL,EAAE,aACfg4K,WAAWvB,EAAAA,GAAAA,KAAC8kR,GAAeA,EAAI,IAC/BxxX,QAASA,IACL8yD,EAAQhyI,KACJywB,GAAQ,cAAe,CACnBvgB,GAAI8qF,EAAG9qF,mBAWvC07K,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJtzK,WAAS,EACTuzK,KAAM,CACF,CACIz1U,QAASihM,EAAIhzL,EAAE,QACflb,WAAW2xL,EAAAA,GAAAA,KAAC8tN,GAAM,CAACvxJ,KAAMs6E,KAE7B,CACIv7T,QAASihM,EAAIhzL,EAAE,cACflb,WACIqlO,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACR4xB,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAM+uV,EACN/jb,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,UACN+J,QACIihM,EAAIhzL,EAAE,UACVnP,KAAM,SACNgjL,WAAY,CACR9f,cACI0iB,EAAAA,GAAAA,KAACE,GAAc,CAACr9J,SAAS,MAAK90B,UAC1BiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPznF,QAASA,KACLmwX,EACIP,EACH,EACHn1c,UAEFiyL,EAAAA,GAAAA,KAAC8oE,GAAAA,EAAU,SAK3BvpE,WAAapyL,IACTs2c,EACIt2c,EACH,SAMrB6yL,EAAAA,GAAAA,KAACm8Q,GAAmB,CAChB5sb,OAAQ,CACJy/T,QAASw0H,EACT3sI,KAAQ,OAAFznO,QAAE,IAAFA,OAAE,EAAFA,EAAI9qF,UAM9B,CACIhJ,QAASihM,EAAIhzL,EAAE,UACflb,WACIqlO,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACR4xB,eAAe,SAAQ1zB,UAEvBiyL,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMivV,EACNjkb,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,UACN+J,QACIihM,EAAIhzL,EAAE,UACVnP,KAAM,SACNgjL,WAAY,CACR9f,cACI0iB,EAAAA,GAAAA,KAACE,GAAc,CAACr9J,SAAS,MAAK90B,UAC1BiyL,EAAAA,GAAAA,KAACjlB,GAAU,CACPznF,QAASA,KACLiwX,EACIH,EACH,EACHr1c,UAEFiyL,EAAAA,GAAAA,KAAC8oE,GAAAA,EAAU,SAK3BvpE,WAAapyL,IACTo2c,EACIp2c,EACH,SAMrB6yL,EAAAA,GAAAA,KAACmvN,GAAgB,CACb5/X,OAAQ,CACJy/T,QAASs0H,EACTzsI,KAAQ,OAAFznO,QAAE,IAAFA,OAAE,EAAFA,EAAI9qF,kBAanC,cAAb,OAAF8qF,QAAE,IAAFA,OAAE,EAAFA,EAAImzB,SACGy9D,EAAAA,GAAAA,KAACw7M,GAAO,IAGZ,IACX,GTzMI,CACIl3X,GAAI,cACJpC,KAAM,qBACN7T,UUzQO,SAAqBR,GAChC,MAAM0uM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChB1yE,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CAAEt/D,KAAM,MACxCstP,EAAW+7H,IAAgB/pT,EAAAA,EAAAA,aAC3Bw6S,EAAYC,IAAiBz6S,EAAAA,EAAAA,YAM9Bk0Y,EAAgB,WAAgC,IAA/B9rb,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACxC2gC,EAAIo4B,IAAI,MAAO,QAAQ9mO,EAAMwE,MAAMkd,OAAOjL,WAAY,CAClDiL,OAAQ,IACDu6G,EACH1gH,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,MAEZx+J,QAAUiM,IACNuxW,EAAavxW,EAAE,GAG3B,EAMA,OAJAunD,EAAAA,EAAAA,YAAU,KACNm0Y,GAAe,GAChB,KAGC/kR,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,EACNiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAK46B,cAAY,EAAAzjL,SAChCwuM,EAAIhzL,EAAE,aAAa/H,iBAExBw+K,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAQ/mJ,QAAQ,QAAQ2hL,cAAY,EAAAzjL,SACnDwuM,EAAIhzL,EAAE,+BAGXy2K,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACfguL,WAAYA,IAAMwlR,MAG1BxmX,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAU4yM,KAGd/kR,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM6tO,EACN5rJ,QAAS,CACL,CACIlhG,KAAM,OACNylE,MAAO,OACP+gG,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,GAAQA,EAAI9gQ,MAAQgrM,EAAIhzL,EAAE,YAG1C60G,QAAS2mV,EACT3jM,WAAa/O,GAAQi5G,EAAcj5G,EAAI/tP,OAG3C07K,EAAAA,GAAAA,KAAC6rL,GAAa,CACVC,OAAQT,EACRpzM,QAASA,IAAMqzM,EAAc,cAOrD,GV6LI,CACIhnW,GAAI,YACJpC,KAAM,mBACN7T,UWxQO,SAAmBR,GAC9B,MAAM0uM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBptG,EAAIsqK,IAAS7oM,EAAAA,EAAAA,UAAS,CACzB+iM,YAAa,GACbD,YAAa,MAEVz/I,EAAM8rN,IAAWnvQ,EAAAA,EAAAA,UAAS,CAAC,IAC3Bk+T,EAAMC,IAAWn+T,EAAAA,EAAAA,WAAS,GAC3Bu1E,EAAU6H,KAyDhB,OAjBAr9E,EAAAA,EAAAA,YAAU,KAlCN2rI,EAAIo4B,IAAI,MAAO,QAAQ9mO,EAAMwE,MAAMkd,OAAOjL,KAAM,CAC5ClH,QAAUiM,IACNqwP,EAAMrwP,EAAE+lF,GAAG,GAiCX,GACT,CAACvhG,EAAMwE,MAAMkd,OAAOjL,MAKvBssD,EAAAA,EAAAA,YAAU,KACF2rI,EAAIqpC,MACJo6F,EAAQ,CACJzuU,KAAMgrM,EAAIqpC,KAAKr0O,KACfuU,MAAOy2L,EAAIqpC,KAAK9/N,MAChBqzP,MAAO58D,EAAIqpC,KAAKyX,QAExB,GACD,KAGCr9D,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACF2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,EACNiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAK46B,cAAY,EAAAzjL,SAChCwuM,EAAIhzL,EAAE,cAEXy2K,EAAAA,GAAAA,KAAC4nD,GAAO,KACRlU,EAAAA,GAAAA,MAAC7yC,GAAG,CAAClsH,GAAI,EAAGm0B,GAAI,EAAE/6F,SAAA,EACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,YAAW7oJ,UAC3B2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC1a,UAAU,MAAMkpB,WAAW,SAAQ3zB,SAAA,EAC/CiyL,EAAAA,GAAAA,KAACglR,GAAKA,EAAI,CAACx2c,SAAS,WACpBklO,EAAAA,GAAAA,MAAC7yC,GAAG,CAACm6E,GAAI,EAAEjtQ,SAAA,CACNwuM,EAAIhzL,EAAE,wBAAwB,QACzBy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIqhG,EAAGwkK,uBAIzB5zE,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,YAAW7oJ,UAC3B2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC1a,UAAU,MAAMkpB,WAAW,SAAQ3zB,SAAA,EAC/CiyL,EAAAA,GAAAA,KAACilR,GAAKA,EAAI,CAACz2c,SAAS,WACpBklO,EAAAA,GAAAA,MAAC7yC,GAAG,CAACm6E,GAAI,EAAEjtQ,SAAA,CACNwuM,EAAIhzL,EAAE,wBAAwB,QACzBy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIqhG,EAAGukK,0BAK7B3zE,EAAAA,GAAAA,KAAC4nD,GAAO,KACRlU,EAAAA,GAAAA,MAAC7yC,GAAG,CAAClsH,GAAI,EAAGm0B,GAAI,EAAE/6F,SAAA,EACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,YAAW7oJ,UAC3B2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC1a,UAAU,MAAMkpB,WAAW,SAAQ3zB,SAAA,EAC/CiyL,EAAAA,GAAAA,KAACklR,GAAQA,EAAI,CAAC12c,SAAS,WACvBwxL,EAAAA,GAAAA,KAACa,GAAG,CAACm6E,GAAI,EAAEjtQ,SAAEwuM,EAAIhzL,EAAE,+BAI3By2K,EAAAA,GAAAA,KAACa,GAAG,CAAClsH,GAAI,EAAE5mE,UACPiyL,EAAAA,GAAAA,KAAC8wE,GAAO,CACJE,aA/DT73P,IAAsB,IAArB,KAAE5H,EAAI,MAAEpE,GAAOgM,EAC/B6mU,EAAQ,IAAK9rN,EAAM,CAAC3iH,GAAOpE,GAAQ,EA+DX4jQ,SAAU,CACN,CACIz7P,GAAI,GACJD,GAAI,GACJD,GAAI,GACJkG,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNpE,MAAO+mH,EAAK3iH,MAEhB,CACI+D,GAAI,GACJD,GAAI,GACJD,GAAI,GACJkG,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,QACNpE,MAAO+mH,EAAKpuG,OAEhB,CACIxQ,GAAI,GACJD,GAAI,GACJD,GAAI,GACJkG,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,QACNpE,MAAO+mH,EAAKilJ,OAEhB,CACI7jQ,GAAI,GACJD,GAAI,GACJD,GAAI,GACJrD,KAAM,WACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EACT,6BAEJpc,MAAO+mH,EAAK98G,OAGpBujG,QAAS,CACL,CACI5oG,KAAM,SACNojF,MAAO45S,EACPzzX,QAASihM,EAAIhzL,EAAE,QACf+pE,QAASA,KA1HzCipH,EAAIo4B,IAAI,OAAQ,QAAQ9mO,EAAMwE,MAAMkd,OAAOjL,cAAe,CACtDiL,OAAQ,CACJnY,KAAM88G,EAAK98G,MAEfgG,QAAUiM,IACNkzL,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,SAC3B68H,EAAQhyI,KACJywB,GAAQ,YAAa,CAAEvgB,GAAIzW,EAAMwE,MAAMkd,OAAOjL,KACjD,GAmHmB,iBASpC,GX6GI,CACIA,GAAI,WACJpC,KAAM,iBACN7T,UY7QO,SAAiB8K,GAAa,IAAZ,MAAE9G,GAAO8G,EACtC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MAETwzG,EAAO0jN,EAAS,CAAG5wO,GAAOH,MAC1ByiG,EAAMwsI,IAAWxyY,EAAAA,EAAAA,UAAS,OAE1BlrD,EAAQquY,IAAanjV,EAAAA,EAAAA,eAASxhE,IAErCuhE,EAAAA,EAAAA,YAAU,KACFv+D,EAAMkd,QAAUld,EAAMkd,OAAOjL,KAC7B++b,EAAQhxc,EAAMkd,OAAOjL,IAuB7B,WAA6C,IAA1BiL,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,KAChC24D,EAAI,QAAQliO,EAAMkd,OAAOjL,WAAY,IAAKiL,IAAUi+F,KAAK23V,EAC7D,CAxBQ7nI,IAGJ/gI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,UAAW,GACzC,IAEH,MAAM67b,GAAgB1xX,EAAAA,EAAAA,UAAQ,KAAO,IAAD2xX,EAChC,OAAK1/b,EAEO,OAAL87O,QAAK,IAALA,GAAW,QAAN4jN,EAAL5jN,EAAO7lF,YAAI,IAAAypS,OAAN,EAALA,EAAahsb,QAAQmoO,GACxBA,EAAKjwP,KAAK6iB,cAAc26C,SAASppD,EAAOyO,iBAHnB,OAALqtO,QAAK,IAALA,OAAK,EAALA,EAAO7lF,IAI1B,GACF,CAAC6lF,EAAO97O,IAcX,OAAK87O,GAAUo1E,GAKXnjG,EAAAA,GAAAA,MAAC1jF,GAAS,CAACltH,SAAS,KAAI/0B,SAAA,EACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAACooE,GAAa,CACV9sP,QAASihM,EAAIhzL,EAAE,UACfg1E,SArBWzhE,IAAgB,IAAf,MAAE3vB,GAAO2vB,EACjCk3X,EAAU7mZ,EAAM,EAqBJmyL,OAAc,OAAN35K,QAAM,IAANA,EAAAA,EAAU,GAClB0iP,QAnBUi9M,KACtBtxD,OAAU3kZ,EAAU,OAqBhB2wL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,SACLq3c,EAAczzc,OAAS,GACpBquL,EAAAA,GAAAA,KAACuoE,GAAO,CACJhxP,OAAK,EACLghK,MAAOgkC,EAAIhzL,EAAE,SACbw2E,SAAWyhK,IACHA,EAAKikF,gBACLr/L,EAAQhyI,KACJywB,GAAQ,UAAW,CAAEgyS,OAAMvyT,GAAIk9O,EAAKl9O,KAE5C,EAEJ0M,KAAMo0b,EAAc9yc,KAAKkvP,IAAI,IAAA+jN,EAAAC,EAAA,MAAM,CAC/Blqc,SACIo4N,EAAAA,GAAAA,MAAC7yC,GAAG,CACAhxL,QAAQ,OACR4xB,eAAe,gBAAe1zB,SAAA,EAE9B2lO,EAAAA,GAAAA,MAAA,OAAA3lO,SAAA,CACKyzP,EAAKjwP,KAAK,KAAG,IACb,GAAGqyQ,GACI,OAAJpiB,QAAI,IAAJA,OAAI,EAAJA,EAAMtC,MACF,OAAJsC,QAAI,IAAJA,GAAgB,QAAZ+jN,EAAJ/jN,EAAM0iB,kBAAU,IAAAqhM,OAAZ,EAAJA,EAAkBj/X,SACd,OAAJk7K,QAAI,IAAJA,GAAgB,QAAZgkN,EAAJhkN,EAAM0iB,kBAAU,IAAAshM,OAAZ,EAAJA,EAAkBzra,aAGxBynN,EAAKikF,gBASH/xG,EAAAA,GAAAA,MAAC7yC,GAAG,CACAhxL,QAAQ,OACR6xB,WAAW,SACX9Q,MAAO,CAAEziB,MAAO,WAAYJ,SAAA,EAE5BiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SACKwuM,EAAIhzL,EAAE,oBACJ,QAEPy2K,EAAAA,GAAAA,KAACytK,GAAK,QAjBVztK,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACR6xB,WAAW,SACX9Q,MAAO,CAAEziB,MAAO,WAAYJ,SAE3BwuM,EAAIhzL,EAAE,+BAiBvBi/O,YAAahH,EAChB,OAGLxhE,EAAAA,GAAAA,KAACyoE,GAAY,SAlElB,IAuEf,GZiKI,CACInkP,GAAI,SACJpC,KAAM,gBACN7T,UatQO,SAAe8K,GAAa,IAADkhU,EAAAC,EAAA,IAAX,MAAEjoU,GAAO8G,EACpC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,SAAEy8B,GAAaV,KACfnyF,EAAU6H,MACTgzG,EAASw5E,EAAW,CAAGlmG,EAAI,CAAD,CAAMG,GAAUN,MAC1CkvB,EAAUy6E,IAAeltQ,EAAAA,EAAAA,aACzB40Y,EAAeC,IAAoB70Y,EAAAA,EAAAA,WAAS,IAC5CkjK,EAAO0G,IAAY5pK,EAAAA,EAAAA,WAAS,IAC5B87P,EAA4BC,IAC/B/7P,EAAAA,EAAAA,WAAS,IACNq7U,EAAiBy5D,IAAsB90Y,EAAAA,EAAAA,WAAS,GA6DvD,SAAS4wY,EAAez2a,GACpBiuM,EACI,aAAagoB,EAAQ38O,gBAAgB0mB,IACrC,kBAER,EArCA4lC,EAAAA,EAAAA,YAAU,MA3BV,WACI,MAAM,GAAEtsD,GAAOjS,EAAMkd,OAErBglN,EAAI,aAAajwN,KACZkpG,MAAMwsG,IACHygH,EAAWzgH,EAASinC,SACpB1kD,EAAIyjB,UAAU,CACVznD,MAAO,GAAGgkC,EAAIhzL,EAAE,cAClB,IAEL44G,OAAM,QACf,CAiBIyjV,GAfJ,WACI,MAAM,GAAEthc,GAAOjS,EAAMkd,OAErBglN,EAAI,aAAajwN,cAAekpG,MAAK1wF,IAAe,IAAd,KAAE8+I,GAAM9+I,EAC1CihT,EAAYniK,GACZ2gC,EAAIyjB,UAAU,CACVznD,MAAO,GAAGgkC,EAAIhzL,EAAE,cAClB,GAEV,CAOI+0T,EAAc,GAEf,CAACjsU,EAAMkd,OAAOjL,MAEjBssD,EAAAA,EAAAA,YAAU,KACFqwL,GAAWA,EAAQ4jB,WAEftoE,EAAIqpC,KAAKt2O,OAASitM,EAAIs4B,UAAUgJ,UAChCthC,EAAIqpC,KAAKt2O,OAASitM,EAAIs4B,UAAUkJ,YAEhCxJ,EAAI,QAAQ0sB,EAAQ4jB,SAASz1K,GAAG9qF,SAC3BkpG,MAAKtvF,IAAgB,IAAf,MAAEg9M,GAAOh9M,EACZynb,EACIppQ,EAAIqpC,KAAKt2O,OAASitM,EAAIs4B,UAAU+I,aAExBvuO,IADJ6rO,EAAM4L,WAAWx3K,MAAMonM,GAAkB,IAATA,IAEvC,IAEJv0I,OAAM,SACNy0G,SAAQ,KACL6D,GAAS,EAAK,KAGtBA,GAAS,GACTkrO,GAAmB,IAE3B,GAED,CAAC1kN,IASJ,MAeM4/G,EAAiBryC,IACnB,IAAIsyC,OAC6BzxW,IAA7Bm/T,IACAsyC,EAAgBtyC,GAGpB95F,EACI,aAAausB,EAAQ38O,KACrB,CAAEw8V,iBACFvkK,EAAIqpC,MAA0B,SAAlBrpC,EAAIqpC,KAAKt2O,MAEpBk+G,MAAK,KACF44B,EAAQ/zH,QAAQ,IAAI,IAEvB8vG,OAAM,QAAS,EAGxB,OAAK4xG,GAKDL,EAAAA,GAAAA,MAAC1jF,GAAS,CAACltH,SAAS,KAAI/0B,SAAA,CACnBkzP,IACGvtB,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACkvM,GAAO,CAACC,WAAY5yL,EAAIhzL,EAAE,oBAAoBxb,UAC3C2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJhhB,GAAI,GACJC,GAAI,EACJkjK,MAAOgkC,EAAIhzL,EAAE,YACbnS,KAAM6pP,EAAQ4jB,SAAStzQ,QAG3ByuL,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJhhB,GAAI,GACJC,GAAI,EACJkjK,MAAOgkC,EAAIhzL,EAAE,UACbnS,KAAM,GAAG6pP,EAAQ4jB,SAASz1K,GAAG79F,UAGjCyuL,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJhhB,GAAI,GACJC,GAAI,EACJkjK,MAAOgkC,EAAIhzL,EAAE,QACbnS,KAAM,GAAG2+B,IAAOkrN,EAAQwiB,KAAKz4O,OACzB,2BAIRg1J,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJhhB,GAAI,GACJC,GAAI,EACJkjK,MAAOgkC,EAAIhzL,EAAE,QACbnS,KAAM,GAAG2+B,IAAOkrN,EAAQwiB,KAAKz4O,OACzB,cACG+K,IAAOkrN,EAAQhrP,KAAK+0B,OAAO,cAGtCg1J,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ/gB,GAAI,EACJD,GAAI,GACJmjK,MAAOgkC,EAAIhzL,EAAE,SACbnS,KAAM,GAAGwsQ,GACE,OAAP3iB,QAAO,IAAPA,OAAO,EAAPA,EAAS/B,MACF,OAAP+B,QAAO,IAAPA,GAAmB,QAAZo5E,EAAPp5E,EAASijB,kBAAU,IAAAm2D,OAAZ,EAAPA,EAAqB/zP,SACd,OAAP26K,QAAO,IAAPA,GAAmB,QAAZq5E,EAAPr5E,EAASijB,kBAAU,IAAAo2D,OAAZ,EAAPA,EAAqBvgS,iBAOpCknN,EAAQ89E,YACL/+I,EAAAA,GAAAA,KAACisN,GAAS,CACNltE,UAAW99E,EAAQ89E,UACnBotE,QAASlrJ,EAAQrb,MAAQqb,EAAQrb,KAAKthO,GACtCi4O,KAAM0E,EAAQ4jB,SAASz1K,GAAG9qF,GAC1Buhc,uBACI5kN,EAAQ4jB,SAASspG,aAAe,EAEpC+9B,gBAAiBA,OAOhC5oJ,GAAYA,EAAS3xP,OAAS,IAC3BquL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,SAAA,EACdiyL,EAAAA,GAAAA,KAAA,OAAAjyL,UACIiyL,EAAAA,GAAAA,KAACs0G,GAAa,CAAAvmS,SAAEwuM,EAAIhzL,EAAE,iBAE1By2K,EAAAA,GAAAA,KAACa,GAAG,CAAClsH,GAAI,EAAE5mE,SACNu1P,EAAShxP,KAAK+wP,IAAO,IAAAyiN,EAAAC,EAAAC,EAAA,OAClBhmR,EAAAA,GAAAA,KAACmd,GAAI,CAAApvM,UACDiyL,EAAAA,GAAAA,KAAC2pM,GAAW,CAAA57X,UACR2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAEvH,UACrBiyL,EAAAA,GAAAA,KAACoxE,GAAY,CACT74F,MAAO6yF,GACH/H,EAAQzd,MAEZxuO,KAAMisP,EAAQ1mB,aAGtB38C,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAEvH,UACrBiyL,EAAAA,GAAAA,KAACoxE,GAAY,CACT74F,MAAO,GAAGqrG,GACC,OAAPvgB,QAAO,IAAPA,GAAmB,QAAZyiN,EAAPziN,EAAS6gB,kBAAU,IAAA4hM,OAAZ,EAAPA,EACM5mN,MACC,OAAPmE,QAAO,IAAPA,GAAmB,QAAZ0iN,EAAP1iN,EAAS6gB,kBAAU,IAAA6hM,OAAZ,EAAPA,EACMz/X,SACC,OAAP+8K,QAAO,IAAPA,GAAmB,QAAZ2iN,EAAP3iN,EAAS6gB,kBAAU,IAAA8hM,OAAZ,EAAPA,EACMjsa,UAEV3iC,KAAMisP,EAAQ4iN,WACdC,UAEI,SADA7iN,EAAQ9gI,OAEF,CACIp0H,MAAO,gBAEXkB,YA5BnBg0P,EAAQ/+O,GAkCZ,WAQ1B28O,GACGA,EAAQ4jB,UACR5jB,EAAQ4jB,SAAS5kB,SACjBgB,EAAQ4jB,SAAS5kB,QAAQ33O,MAAQ,IAC7B03K,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,SAAA,EACdiyL,EAAAA,GAAAA,KAAA,OAAAjyL,UACIiyL,EAAAA,GAAAA,KAACs0G,GAAa,CAAAvmS,SACTwuM,EAAIhzL,EAAE,gBAGfy2K,EAAAA,GAAAA,KAACa,GAAG,CAAClsH,GAAI,EAAE5mE,SACNkzP,EAAQ4jB,SAAS5kB,QAAQrkF,KACrBviJ,QAAQq+O,GAAWA,EAAOypE,gBAC1B7uU,KAAKolQ,IACF13E,EAAAA,GAAAA,KAACmd,GAAI,CAAApvM,UACDiyL,EAAAA,GAAAA,KAAC2pM,GAAW,CAAA57X,UACR2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACoxE,GAAY,CACT74F,MAAOm/F,EAAOnmQ,UAGtByuL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAGrH,UACdiyL,EAAAA,GAAAA,KAACspD,GAAS,CACNhuO,QAASihM,EAAIhzL,EACT,UAEJg4K,WACIvB,EAAAA,GAAAA,KAACmmR,GAAQ,IAEb7yX,QAASA,IA7L7CokL,KAChBn7D,EAAIo4B,IAAI,OAAQ,YAAY+iC,EAAOpzP,cAAe,CAC9ClH,QAAUiM,IACNq8b,GAAiB,GAEiB,YAA9Br8b,EAAE+8b,iBAAiB5yb,OACnB+oL,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,0BAE3BgzL,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,gCAC/B,EAEJmuN,QAASguO,GACX,EAkLsDW,CACI3uM,GAGRhgC,QACI+tO,YAtBb/tM,EAAOpzP,cAoC9C07K,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI42Y,EAAkB,EAAI,EAAG72Y,GAAI,GAAID,GAAI,GAAGrH,UACnDiyL,EAAAA,GAAAA,KAACwhR,GAAe,CACZhkS,WAAS,EACTliK,QAAS,GAAGihM,EAAIhzL,EAAE,eAClB+pE,QAASA,IAAMmuX,EAAe,WAItCzhR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI42Y,EAAkB,EAAI,EAAG72Y,GAAI,GAAID,GAAI,GAAGrH,UACnDiyL,EAAAA,GAAAA,KAACwhR,GAAe,CACZhkS,WAAS,EACTliK,QAASihM,EAAIhzL,EAAE,UACf+pE,QAASA,IAAMmuX,EAAe,eAItCzhR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI42Y,EAAkB,EAAI,EAAG72Y,GAAI,GAAID,GAAI,GAAGrH,UACnDiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACTliK,QAASihM,EAAIhzL,EAAE,cACf+pE,QAASA,IACL8yD,EAAQhyI,KACJ,GAAGywB,GAAQ,YAAa,CACpBvgB,GAAI28O,EAAQ4jB,SAASz1K,GAAG9qF,cAChByxB,IAAOkrN,EAAQwiB,KAAKz4O,OAC5B,qBAOnBkhX,IACGlsN,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGF,GAAI,GAAGrH,UACrBiyL,EAAAA,GAAAA,KAACiB,GAAM,CACHzjB,WAAS,EACT5mB,QAAQ,YACR3oJ,UAAU,gBACVqlF,QAASA,IACLipH,EAAIqpC,MAA0B,SAAlBrpC,EAAIqpC,KAAKt2O,KACfuxW,EAAc,GACdj0C,GAA8B,GAExCrrI,WAAWvB,EAAAA,GAAAA,KAACoiK,GAAK,IAAIr0V,SAEpBwuM,EAAIhzL,EAAE,2BAO3By2K,EAAAA,GAAAA,KAACm0G,GAAmB,CAChBC,YAAa73F,EAAIhzL,EAAE,0CACnB4rJ,KAAMw3J,EACN10J,QAASA,IAAM20J,GAA8B,GAC7ChoI,SAAW+f,IAGP,OAAQA,GACJ,IAAK,IACDk8J,IACA,MACJ,IAAK,IACDA,EAAc,GACd,MACJ,IAAK,IACDA,EAAc,GACd,MACJ,IAAK,IACDA,EAAc,GACd,MACJ,IAAK,IACDA,EAAc,GAGtB,OA9PL,IAmQf,Gb1GI,CACIv8V,GAAI,cACJpC,KAAM,cACN7T,UtK5NO,SAAc8K,GAAa,IAAZ,MAAE9G,GAAO8G,EACnC,MAAOoN,EAAOkvV,EAAS,CAAGlhI,GAAOH,MAC1BwiL,EAAc0vD,IAAmBz1Y,EAAAA,EAAAA,UAAS,OAC1ConS,EAAM2iD,IAAW/pV,EAAAA,EAAAA,aACjBkR,EAAIwkY,IAAS11Y,EAAAA,EAAAA,aACb21Y,EAAiBC,IAAsB51Y,EAAAA,EAAAA,aACvC+3I,EAAOqkJ,IAAYp8R,EAAAA,EAAAA,UAAS,IAC7B0rI,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBxuM,EAAU2wB,MACT+nb,EAAoBC,IAAyB91Y,EAAAA,EAAAA,YAE9CphE,EAAQwe,KACR+6V,EAAOpC,GAAcn3W,EAAMyF,YAAYW,GAAG,OAC1CozW,EAASrC,GAAcn3W,EAAMyF,YAAYiB,KAAK,QAE7C,CAAE0wO,GAAUrP,GAAU,CAACjxN,EAAQ,UAAY,YAC5Cqgc,GACG,OAALrgc,QAAK,IAALA,OAAK,EAALA,EAAO2vV,qBACY,OAAlBwwG,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB/0c,QAAS,IAAU,OAAL4U,QAAK,IAALA,OAAK,EAALA,EAAO2wV,UAAW,GACzD,SAAS2vG,IACL,MAAM,GAAEvic,GAAOjS,EAAMkd,OAErBglN,EAAI,WAAWjwN,KACVkpG,MAAMwsG,IAYH,GAXIA,EAASzzM,QACTkvV,EAASz7I,EAASzzM,OAClB+/b,EAAgBtsP,EAAS48L,cACzBgE,EAAQ5gM,EAASi+I,MACjBwuG,EAAmBzsP,EAASzzM,MAAM6vV,aAGlCp8I,EAASj4I,IACTwkY,EAAMvsP,EAASj4I,IAGP,OAARi4I,QAAQ,IAARA,GAAAA,EAAU0sP,mBAAoB,CAAC,IAADI,EAAAC,EAC9B,MAAMluG,EAAuB,OAAR7+I,QAAQ,IAARA,GAA4B,QAApB8sP,EAAR9sP,EAAU0sP,0BAAkB,IAAAI,GAAM,QAANC,EAA5BD,EAA8BlrS,YAAI,IAAAmrS,OAA1B,EAARA,EACfz0c,KAAKqvP,IAAW,CACd/b,KAAM,CACFwlB,SAAqB,OAAXzJ,QAAW,IAAXA,OAAW,EAAXA,EAAayJ,cAG9BzwE,OACLgsR,EAAsB9tG,EAC1B,KAEH12O,OACT,CAoBA,IARAvxD,EAAAA,EAAAA,YAAU,KACFv+D,EAAMkd,OAAOjL,KACbuic,IAZR,WACI,MAAM,GAAEvic,GAAOjS,EAAMkd,OAErBglN,EAAI,WAAWjwN,WAAYkpG,MAAMwsG,IACzBA,EAAS1xM,MAAQ,GACjB2kV,EAASjzI,EAASp+C,KACtB,GAER,CAKQuxL,GACJ,GAED,KAEE5mV,EACD,OAAOsgO,EAGX,MAAM4gH,EACF1xT,MAASmmB,QAAQnmB,IAAOxvB,EAAMk9P,OAC9B1tO,MAASomB,SAASpmB,IAAOxvB,EAAMtQ,MAC7B64Y,EACF/4W,MAASmmB,QAAQnmB,IAAOxvB,EAAMilV,WAC9Bz1T,MAASomB,SAASpmB,IAAOxvB,EAAMklV,UAC7B33S,EAAak1T,EAAO,cAAgB,cAEnC3sT,EAAO,GAAM2yV,GAChBzoY,EAAMk9P,IACNl9P,EAAMtQ,IACN,CAAE69C,cACFyoJ,EAAIhzL,IAED,CAAC,CAAF,EAASqjE,GAAYoiU,GACvBzoY,EAAMilV,QACNjlV,EAAMklV,QACN,CAAE33S,aAAYC,WAVC,YAWfwoJ,EAAIhzL,GAGR,OACIy2K,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpB2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAChxL,QAAQ,OAAO0xB,cAAe0nV,EAAS,SAAW,MAAMl7W,SAAA,EACzD2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,EACAiyL,EAAAA,GAAAA,KAACa,GAAG,CAACh+J,SAAS,WAAU90B,SACnBwY,EAAMinV,OAAOlpV,IACV07K,EAAAA,GAAAA,KAACuiR,GAAU,CACPjwD,UAAQ,EACRzwP,MAAO,GAAGt7I,EAAMinV,OAAO5nV,iBACvBwsY,MAAO,GAAG7rY,EAAMinV,OAAO5nV,iBACvBi3G,IAAKt2G,EAAMhV,QAGfyuL,EAAAA,GAAAA,KAAA,OACI/xL,UACIg7W,EACMj7W,EAAQkoZ,SACRloZ,EAAQioZ,YAElBn6R,IAAK,GAAGygF,EAAIm5B,OAAO9vN,yDACnBi3G,IAAI,QAIhB62G,EAAAA,GAAAA,MAAC7yC,GAAG,CACA5yL,UAAWe,GAAK,CACZ,CAAChB,EAAQ6tZ,UAAU,EACnB,CAAC7tZ,EAAQ8tZ,SAAUr0D,EACnB,CAACz5V,EAAQ+tZ,QAASt0D,IACnB15V,SAAA,EAEHiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQguZ,iBAAiBjuZ,SAC3C05V,EACKlrJ,EAAIhzL,EAAE,wBACNgzL,EAAIhzL,EAAE,8BAEhBy2K,EAAAA,GAAAA,KAAC3O,GAAU,CACPpjL,UAAWD,EAAQguZ,iBACnBprY,MAAO,CAAEpiB,SAAU,IAAKT,SAEvBsuD,QAGTq3K,EAAAA,GAAAA,MAAC7yC,GAAG,CACA5yL,UAAWe,GAAK,CACZ,CAAChB,EAAQ6tZ,UAAU,EACnB,CAAC7tZ,EAAQ8tZ,SAAUhN,EACnB,CAAC9gZ,EAAQ+tZ,QAASjN,IACnB/gZ,SAAA,EAEHiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACpjL,UAAWD,EAAQguZ,iBAAiBjuZ,SAC3C+gZ,EACKvyM,EAAIhzL,EAAE,yBACNgzL,EAAIhzL,EAAE,gCAEhBy2K,EAAAA,GAAAA,KAAC3O,GAAU,CACPpjL,UAAWD,EAAQguZ,iBACnBprY,MAAO,CAAEpiB,SAAU,IAAKT,SAEvB,GAAG6+E,SAGXg8H,EAAMj3M,OAAS,IACZ+hO,EAAAA,GAAAA,MAAC7yC,GAAG,CAACj4F,GAAI,EAAE76F,SAAA,EACPiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAG8zB,GAAI,EAAE76F,UACdiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,UACvB2lO,EAAAA,GAAAA,MAAA,KAAA3lO,SAAA,CAAIwuM,EAAIhzL,EAAE,aAAa,WAG9Bq/L,EAAMt2M,KAAKmnO,IACR/F,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC22I,GAAI,EAAEzpU,SAAA,EACPiyL,EAAAA,GAAAA,KAAA,OAAAjyL,UACIiyL,EAAAA,GAAAA,KAAA,KAAG/pF,KAAMwjI,EAAK7zN,IAAI7X,SAAE0rO,EAAKloO,UAE7ByuL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,SACtB0rO,EAAKvf,gBALO,OAAJuf,QAAI,IAAJA,OAAI,EAAJA,EAAM7zN,cAYvC8tN,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG+vV,EAAO,EAAI,EAAGlwV,KAAM,EAAE/qB,SAAA,EAC1B2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAACj4F,GAAI,EAAE76F,SAAA,EACPiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SAAEwY,EAAMhV,QAChCyuL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,QAAO7oJ,UACvBiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDzmI,GAAIwc,GAAQ,YAAa,CAAEvgB,GAAIiC,EAAM6oF,GAAG9qF,KAAMvW,SAE7CwY,EAAM6oF,GAAGxvF,UAGjBmiE,IACGi+G,EAAAA,GAAAA,KAACa,GAAG,CACA22I,GAAI,EACJvpU,UAAW,GAAGD,EAAQyoZ,mBAAmBzoZ,EAAQ8tZ,UAAU/tZ,UAE3DiyL,EAAAA,GAAAA,KAAC3O,GAAU,CACPpjL,UAAWD,EAAQ0oZ,kBAAkB3oZ,SAEpCwuM,EAAIhzL,EAAE,+BAKvBy2K,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJC,KAAM,CACF,CACIz1U,QAASihM,EAAIhzL,EAAE,SACflb,WACI2xL,EAAAA,GAAAA,KAACm1K,GAAY,CACT5uV,MAAOA,EACP0xV,KAAMA,EACNihD,qBAAsBpK,EACtBmK,cAAe4tD,KAI3B,CACIvrc,QAASihM,EAAIhzL,EAAE,gBACflb,WACI2xL,EAAAA,GAAAA,KAAC65N,GAAiB,CACdtzY,MAAOA,EACPqwY,aAAcA,IAGtBzhU,MAAkB,OAAZyhU,QAAY,IAAZA,OAAY,EAAZA,EAAcjlZ,QAAS,GAEjC,CACI2J,QAASihM,EAAIhzL,EAAE,QACflb,WACI2xL,EAAAA,GAAAA,KAACy6N,GAAS,CACNl0Y,MAAOA,EACP0xV,KAAMA,EACNx2M,SAAUolT,IAGlB1xX,OAAQ8iR,GAEZ,CACI38V,QAASihM,EAAIhzL,EACTo7N,GAAaoY,QAAQoF,aAEzBhtK,KAAMyxX,EACNv4c,WACS,OAALkY,QAAK,IAALA,OAAK,EAALA,EAAOxU,QACP8iO,GAAUqsB,OAAOhjP,MAAMsiQ,YACnBxgF,EAAAA,GAAAA,KAAC86N,GAAyB,CACtBnvO,MAAO66R,KAGXxmR,EAAAA,GAAAA,KAAC+1N,GAAe,CACZpqO,MAAO+6R,eAUnD,GsKhCI,CACIpic,GAAI,SACJpC,KAAM,kBACNu9M,QAAQ,EACRpoE,QAAQ,EACRhpJ,UcxSO,SAAe8K,GAAa,IAAZ,MAAE9G,GAAO8G,EACpC,OACI6mL,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACqqN,GAAS,CAACh4Y,MAAOA,KAG9B,GdoSI,CACIiS,GAAI,oBACJpC,KAAM,wBACN7T,UvBtSO,SAA0B8K,GAAM,MAAHA,EACxC,MAAMnL,EAAU2wB,KACVu1F,EAAOo8F,MACNusH,EAAWohC,IAAgBptS,EAAAA,EAAAA,UAAS,MAK3C,OACI6iK,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACq4M,GAAqB,CAACnkR,KAAMA,KAC7B8rE,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,UACPiyL,EAAAA,GAAAA,KAAC4nD,GAAO,OAEZ5nD,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAAA,OAAK/xL,UAAWD,EAAQisY,UAAUlsY,UAC9BiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5yL,UAAWD,EAAQksY,aAAansY,UACjCiyL,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACR2xB,SAAS,OACTC,eAAe,aACfE,aAAa,aAAY5zB,SAExBgoc,GAAmBn6R,KAAKtpK,KAAK2uP,IAC1BjhE,EAAAA,GAAAA,KAAC60Q,GAAe,CACZ5zM,QAASA,EACTlhK,SAAUA,IACNk+Q,EAAah9G,EAAQ38O,oBASrD07K,EAAAA,GAAAA,KAAC+0Q,GAAqB,CAClBzwb,GAAIu4T,EACJ5kK,QAASA,IAAMgmM,EAAa,UAI5C,GuBiQI,CACI35V,GAAI,iBACJhV,KAAM,OACN4S,KAAM,4BACNk4b,WAAW,EACX36O,QAAQ,EACRpoE,QAAQ,EACRhpJ,UAAWg8Y,IAEf,CACI/lY,GAAI,WACJhV,KAAM,OACN4S,KAAM,QACNk4b,WAAW,EACX/rc,UAAWsma,IAEf,CACIrwZ,GAAI,aACJhV,KAAM,OACN4S,KAAM,UACNk4b,WAAW,EACX/rc,UAAWoha,IAEf,CACInrZ,GAAI,eACJhV,KAAM,OACN4S,KAAM,YACNk4b,WAAW,EACX/rc,UezUO,SAAqB8K,GAAM,MAAHA,EACnC,OACI6mL,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAACqnM,GAAW,CAAClB,KAAK,eAKtC,GfiUI,CACI7hX,GAAI,UACJpC,KAAM,gCACN5S,KAAM,OACN8qc,WAAW,EACX/rc,UgBhTO,SAAgB8K,GAA2B,IAAD6tc,EAAAzB,EAAA0B,EAAAC,EAAAzzI,EAAA0zI,EAAA,IAAzB,MAAE90c,GAAqB8G,EACnD,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MAET0+O,EAAqBC,IACxB/7T,EAAAA,EAAAA,YAEE28P,EAAe/yB,KACfvvC,EAAa9Q,KAEbgtN,EAAe55I,EAAa9yB,WAAWjoS,SAASJ,EAAMkd,OAAOjL,KAC7D+ic,EAAen8M,EAAW3Q,WAAW9nP,SAASJ,EAAMkd,OAAOsnT,OAC3DywI,EAAgBp8M,EAAW1O,iBAC7B/pP,SAASJ,EAAMkd,OAAOsnT,OAEpBnJ,EAAyBF,EAAazyB,kBAAkB,CAC1Dp4K,UAAYq3F,IACJA,EAAS2rC,IACTv/G,EAAQhyI,KAAKywB,GAAQ,cAAe,CAAEvgB,GAAI01M,EAAS2rC,IAAIrhP,MAChD01M,EAASqyG,QAChBjmL,EAAQhyI,KAAKywB,GAAQ,aACzB,EAEJ6+D,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAIpD,GACIm2c,EAAap1U,WACbq1U,EAAar1U,WACbs1U,EAAct1U,UAEd,OACIguD,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAAQ1zB,UACvCiyL,EAAAA,GAAAA,KAACkJ,GAAgB,QAMjC,GAAIk+Q,EAAal1U,SAAWm1U,EAAan1U,SAAWo1U,EAAcp1U,QAC9D,OAAO8tD,EAAAA,GAAAA,KAACmnE,GAAQ,IAGpB,IAAKigN,EAAap2b,OAASq2b,EAAar2b,OAASs2b,EAAct2b,KAC3D,OAAO,KAGX,MAAM,KAAEwwO,GAAS4lN,EAAap2b,MACxB,MAAEkqN,GAAUmsO,EAAar2b,KAEzBu2b,EAAcD,EAAct2b,KAAK4qJ,KAAK5iI,MACvC2sN,GAAQA,EAAIlG,OAAS5qB,GAAU+qC,QAAQI,MAAMxB,SAASjtQ,OAG3D,OACImiO,EAAAA,GAAAA,MAAC1jF,GAAS,CAACltH,SAAS,KAAI/0B,SAAA,EACpB2lO,EAAAA,GAAAA,MAACw7J,GAAO,CAACC,WAAY5yL,EAAIhzL,EAAE,WAAWxb,SAAA,CACjCmtO,IAASl7C,EAAAA,GAAAA,KAACs0G,GAAa,CAAAvmS,SAAEmtO,EAAM9rI,GAAI79F,QACpCmiO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC/rH,GAAI,EAAE/mE,SAAA,EACP2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,EACA2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CACKwuM,EAAIhzL,EAAE,QAAQ,MAAEy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIyzP,EAAKjwP,WAE9ByuL,EAAAA,GAAAA,KAAA,UACA0zC,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CACKwuM,EAAIhzL,EAAE,iCAAiC,IAAE,KAC1CmqN,EAAAA,GAAAA,MAAA,KAAA3lO,SAAA,CACKyzP,EAAKhlB,OAAO,KAAG,IACfgrO,GAAkBhmN,EAAKnxP,iBAGhC2vL,EAAAA,GAAAA,KAAA,UACA0zC,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CACKwuM,EAAIhzL,EAAE,+BAA+B,IAAE,KACxCy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SACK61Q,GACO,OAAJpiB,QAAI,IAAJA,OAAI,EAAJA,EAAMtC,MACoB,QADf8nN,EACP,OAAJxlN,QAAI,IAAJA,GAAgB,QAAZ+jN,EAAJ/jN,EAAM0iB,kBAAU,IAAAqhM,OAAZ,EAAJA,EAAkBj/X,gBAAQ,IAAA0gY,EAAAA,OAAI33c,SAI1C2wL,EAAAA,GAAAA,KAAA,SACCwhE,EAAKd,aACFhtB,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CACKwuM,EAAIhzL,EAAE,cAAc,IAAE,KACvBy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIyzP,EAAKimN,qBAEbznR,EAAAA,GAAAA,KAAA,aAGR0zC,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CACKwuM,EAAIhzL,EAAE,cAAc,IAAE,KACvBy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIgoC,IAAOyrN,EAAKo2F,SAAS5sT,OAAO,oBAEpC0oM,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC/rH,GAAI,EAAE/mE,SAAA,EACP2lO,EAAAA,GAAAA,MAAA,KAAA3lO,SAAA,CAAIwuM,EAAIhzL,EAAE,4BAA4B,QACtCy2K,EAAAA,GAAAA,KAACykF,GAAgB,CAAC9tO,SAAU6qN,EAAK7qN,YACjCqpJ,EAAAA,GAAAA,KAAA,QAAAjyL,SAAO,GAAGyzP,EAAKq2F,aAAar2F,EAAKs2F,gBAErCpkH,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC/rH,GAAI,EAAE/mE,SAAA,EACP2lO,EAAAA,GAAAA,MAAA,OAAA3lO,SAAA,CACKwuM,EAAIhzL,EAAE,QAAQ,MAAEy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIyzP,EAAKkmN,eAE9Bh0O,EAAAA,GAAAA,MAACriD,GAAU,CAACz6B,QAAQ,UAAS7oJ,SAAA,CAAC,KACvBwuM,EAAIhzL,EAAE,wCAKrBy2K,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,SAAEyzP,EAAKtnC,eAElBl6B,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,SACNyzP,EAAKZ,WAAWjvP,OAAS,IACtB+hO,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAAA,KAAA3lO,SAAA,CAAIwuM,EAAIhzL,EAAE,4BAA4B,QACtCy2K,EAAAA,GAAAA,KAACa,GAAG,CAACkkF,GAAI,EAAGpwM,GAAI,EAAE5mE,SACbyzP,EAAKZ,WAAWtuP,KAAKuyQ,IAClB7kF,EAAAA,GAAAA,KAAA,OAAAjyL,SACK82Q,EAAStzQ,MADJszQ,EAASvgQ,cASvC07K,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,CAEtByzP,EAAKtC,MAAQ,IACVxrB,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACKmtO,IACmB,QADd+rO,EACFzlN,EAAK+6G,mBAAW,IAAA0qG,OAAA,EAAhBA,EAAkBl4Y,SAAS,YACvBixH,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAGtH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAAS,GAAGihM,EAAIhzL,EACZ,oBACEq6P,GACG,OAAL1oC,QAAK,IAALA,OAAK,EAALA,EAAOsB,OAEO,QAFD0qO,EACR,OAALhsO,QAAK,IAALA,GAAkB,QAAbu4F,EAALv4F,EAAO2oC,mBAAW,IAAA4vD,OAAb,EAALA,EACMntP,gBAAQ,IAAA4gY,EAAAA,OACV73c,MAERkyL,WACIvB,EAAAA,GAAAA,KAAC2nR,GAAoB,IAEzBr0X,QAASA,KACLs5S,EACI/3J,GAAUwuB,QACL1kB,aACAggB,MAAMptP,KACd,OAMJ,QAAhB41c,EAAA3lN,EAAK+6G,mBAAW,IAAA4qG,OAAA,EAAhBA,EAAkBp4Y,SAAS,UACxBixH,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAGtH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EAAE,cACfg4K,WAAWvB,EAAAA,GAAAA,KAAC4nR,GAAU,IACtBt0X,QAASA,KACLs5S,EACI/3J,GAAUwuB,QACL1kB,aAAagnB,IACbp0P,KACR,UAQvBiwP,EAAKtC,QACHl/D,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAGtH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN1yF,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EAAE,YACfg4K,WAAWvB,EAAAA,GAAAA,KAAC4kR,GAAO,IACnBtxX,QAASA,KACLs5S,EACI/3J,GAAUwuB,QAAQ1kB,aACbghB,KAAKpuP,KACb,MAMhBg2c,IACGvnR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAGtH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EACTo7N,GAAa0e,QACRkB,iBAEThjE,WAAWvB,EAAAA,GAAAA,KAAC6nR,GAAW,IACvBv0X,QAASA,KACLs5S,EACI/3J,GAAUwuB,QAAQ1kB,aACb6/B,SAASjtQ,KACjB,iBAUhCo7X,IACG3sM,EAAAA,GAAAA,KAACo9C,GAAiB,CACdjoJ,MAAI,EACJyvG,SAAUA,KACN8oI,EAAuBh8L,OAAO,CAC1BupK,OAAQ1+F,EAAIqpC,KAAMthO,GAClB02R,OAAQx5C,EAAKl9O,GACbiL,OAAQ,CACJuyO,YAAa6qI,KAIrBC,OAAuBv9X,EAAU,EAErC4oK,QAASA,KACL20N,OAAuBv9X,EAAU,MAMzD,GhB0DI,CACIiV,GAAI,WACJpC,KAAM,uCACN5S,KAAM,OACN8qc,WAAW,EACX/rc,UiB1UO,SAAiB8K,GAA4B,IAAD2uc,EAAAC,EAAA,IAA1B,MAAE11c,GAAsB8G,EACrD,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,KACV+5T,EAAepmI,KACf12E,EAAa9Q,KAEbu/F,EAAgBquH,EAAanmI,YAC/BpvU,SAASJ,EAAMkd,OAAOm9P,UAGpBu7L,EAAqB/8M,EAAW1O,iBAClC/pP,SAASJ,EAAMkd,OAAOkzb,OAGpBhyH,EAA4Bu3H,EAAavlI,qBAAqB,CAChE9/M,UAAYq3F,IAEJA,EAAS2rC,IACTv/G,EAAQhyI,KAAKywB,GAAQ,cAAe,CAAEvgB,GAAI01M,EAAS2rC,IAAIrhP,MAIvD8hI,EAAQhyI,KACJywB,GAAQ,YAAa,CAAEvgB,GAAI01M,EAASy1H,YAAYnrU,KAExD,EAEJo/E,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,IAIpD,GAAI0oV,EAAc3nN,WAAai2U,EAAmBj2U,UAC9C,OACIguD,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAAQ1zB,UACvCiyL,EAAAA,GAAAA,KAACkJ,GAAgB,QAMjC,GAAIywJ,EAAcznN,SAAW+1U,EAAmB/1U,QAC5C,OAAO8tD,EAAAA,GAAAA,KAACmnE,GAAQ,IAGpB,IAAKwyF,EAAc3oU,OAASi3b,EAAmBj3b,KAC3C,OAAO,KAGX,MAAM,MAAE+5C,GAAU4uR,EAAc3oU,KAC1Bu2b,EAAcU,EAAmBj3b,KAAK4qJ,KAAK5iI,MAC5C2sN,GAAQA,EAAIlG,OAAS5qB,GAAU+qC,QAAQI,MAAMxB,SAASjtQ,OAG3D,OACIyuL,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpBiyL,EAAAA,GAAAA,KAACkvM,GAAO,CAACC,WAAY5yL,EAAIhzL,EAAE,YAAYxb,UAE/B2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC/rH,GAAI,EAAE/mE,SAAA,EACP2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,CACCwuM,EAAIhzL,EAAE,QAAQ,MAAEy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIg9D,EAAMx5D,QAC3ByuL,EAAAA,GAAAA,KAAA,SACC,oBAAqBj1H,IAClB2oK,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACKwuM,EAAIhzL,EAAE,cAAc,IAAE,KACvBy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SACK61Q,GACG74M,EAAMq6Q,gBACe,QADA0iI,EACrB/8Y,EAAMm7R,uBAAe,IAAA4hH,OAAA,EAArBA,EAAuBxhY,gBAKvC05G,EAAAA,GAAAA,KAAA,iBAEgB3wL,IAAnB07D,EAAMw1L,UAA0Bx1L,EAAMw6Q,cACnC7xG,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACKwuM,EAAIhzL,EAAE,OAAO,IAAE,KAChBy2K,EAAAA,GAAAA,KAAA,KAAAjyL,SACK61Q,GACG74M,EAAMw1L,SACQ,QADAwnN,EACdh9Y,EAAMujR,gBAAQ,IAAAy5H,OAAA,EAAdA,EAAgBzhY,YAEnB,IAAI,KACNi2H,EAAIhzL,EAAEwhD,EAAMw6Q,iBAIvBvlJ,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,SAAEg9D,EAAMmvJ,eAEnBl6B,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,GAEpBg9D,EAAMq6Q,kBACL1xG,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAGtH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EACTo7N,GAAa0e,QACRgB,YAET9iE,WAAWvB,EAAAA,GAAAA,KAAC4nR,GAAU,IACtBt0X,QAASA,KACLm9P,EAA0B/+M,OACtB,CACIptH,GAAIymD,EAAMzmD,GACViL,OAAQ,CACJgiU,kBACI18G,GACKwuB,QACA1kB,aACAgnB,IACAp0P,OAGpB,OAIbyuL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAGtH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EACTo7N,GAAa0e,QACRiB,cAET/iE,WACIvB,EAAAA,GAAAA,KAAC2nR,GAAoB,IAEzBr0X,QAASA,KACLm9P,EAA0B/+M,OACtB,CACIptH,GAAIymD,EAAMzmD,GACViL,OAAQ,CACJgiU,kBACI18G,GACKwuB,QACA1kB,aACAggB,MACAptP,OAGpB,MAIZg2c,IACGvnR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAGtH,UACrBiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EACTo7N,GAAa0e,QACRkB,iBAEThjE,WAAWvB,EAAAA,GAAAA,KAAC6nR,GAAW,IACvBv0X,QAASA,KACLm9P,EAA0B/+M,OACtB,CACIptH,GAAIymD,EAAMzmD,GACViL,OAAQ,CACJgiU,kBACI18G,GACKwuB,QACA1kB,aACA6/B,SACAjtQ,OAGpB,UASvBw5D,EAAMq6Q,kBACJplJ,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAEvH,UACbiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN1yF,QAAQ,YACRzoJ,MAAM,UACNmN,QAASihM,EAAIhzL,EAAE,YACfg4K,WAAWvB,EAAAA,GAAAA,KAAC4kR,GAAO,IACnBtxX,QAASA,KACLm9P,EAA0B/+M,OACtB,CAAEptH,GAAIymD,EAAMzmD,IACf,iBAYjD,GjB6HI,CACIA,GAAI,YACJhV,KAAM,OACN4S,KAAM,cACNk4b,WAAW,EACX/rc,UAAWgia,IAEf,CACI/rZ,GAAI,aACJhV,KAAM,OACN4S,KAAM,UACNk4b,WAAW,EACX/rc,UAAWsia,IAEf,CACIrsZ,GAAI,YACJhV,KAAM,OACN4S,KAAM,SACNk4b,WAAW,EACX/rc,UAAWuia,IAEf,CACItsZ,GAAI,gBACJhV,KAAM,OACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UAAW8ia,IAEf,CACI7sZ,GAAI,oBACJhV,KAAM,OACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UAAW21b,IAEf,CACI1/a,GAAI,eACJhV,KAAM,OACN4S,KAAM,YACNk4b,WAAW,EACX/rc,U3DrXO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,SAAEy8B,GAAaV,MACdzuG,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCw/L,OAAQ,MAEL63M,EAAcC,IAAmBt3Y,EAAAA,EAAAA,aACjCu3Y,EAAOC,GAAev0O,IAAU,KAEnCw0O,GAAkB,KAEfC,EAAeC,IAAoB33Y,EAAAA,EAAAA,UAAS,MAC7Cu1E,EAAU6H,KAoBVq6T,EAAmB,WAAgC,IAA/Brvb,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,GAAIxyJ,KAAM,GAC5CmzL,EAAIo4B,IAAI,MAAO,eAAgB,CAC3BplN,OAAQ,IACDu6G,KACA7wG,EACH7P,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,KACRr5C,OAAQ6lV,EAAQ,WAAa,QAEjChrc,QAAUiM,IACN8+b,EAAgB9+b,EAAE,GAG9B,EAyBA,OACIqqN,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAI/0B,UACpB2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EAEFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHslE,SAAUplF,IAAsB,IAArB,KAAE5H,EAAI,MAAEpE,GAAOgM,EACtBg6U,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAUm2M,EACV1+L,WAAY,CACR73Q,KAAM,YACN1D,WACI2xL,EAAAA,GAAAA,KAAC0c,GAAgB,CACbC,SACI3c,EAAAA,GAAAA,KAAChyC,GAAM,CACHhkD,aAAS36F,EACTkvF,SAAWqiG,GACPynR,EAAYznR,EAAG75K,OAAOijF,WAIlCrL,MAAO49G,EAAIhzL,EAAE,WAIzB2V,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,eACfhY,KAAM,SACNQ,KAAM,OACN5E,MAAO28H,EAAQumI,OACf9wE,WAAYA,IAAM+oR,SAM9BtoR,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAMk3b,EACNxwO,SAAS,EACTq3F,UAAQ,EACR3wM,QAASkqV,EACTr1W,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,WACbhY,KAAM,UACN5B,MAAO,IACPxC,MAAQklQ,GACJt8N,IAAOs8N,EAAIjT,SAASp0N,OAAO,eAEnC,CACIutI,MAAOgkC,EAAIhzL,EAAE,WACbhY,KAAM,UACNpE,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACa,GAAG,CACAvmL,WAAW,mBACXzK,QAAQ,SAAQ9B,SAEfskQ,EAAI11B,WAIjB,CACIpkE,MAAOgkC,EAAIhzL,EAAE,UACbhY,KAAM,KACNpE,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAClxC,GAAI,CACDzmI,GAAIwc,GAAQ,YAAa,CACrBvgB,GAAI+tP,EAAIjjK,GAAG9qF,KACZvW,SAEFskQ,EAAIjjK,GAAGxvF,SAIpB,CACI24J,MAAOgkC,EAAIhzL,EAAE,eACbhY,KAAM,cACNpE,MAAQklQ,GACJA,EAAIvQ,YACEvlD,EAAIhzL,EAAE,MAAM8oP,EAAIvQ,eAChBvlD,EAAIhzL,EAAE,YAEpB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,eACbhY,KAAM,cACN5B,MAAO,IACPxC,MAAQklQ,GACJA,EAAI8nG,YACEpkU,IAAOs8N,EAAI8nG,aAAanvU,OACpB,cAEJ,IAEd,CACIutI,MAAOgkC,EAAIhzL,EAAE,SACbhY,KAAM,QACNpE,MAAQklQ,IAAG,IAAA8R,EAAAC,EAAA,OACPpkF,EAAAA,GAAAA,KAACa,GAAG,CACAjwK,MAAO,CACHziB,MACmB,SAAfkkQ,EAAI9vI,OACE,QACA,OACZx0H,SAED61Q,GACGvR,EAAInT,MACU,QADLilB,EACT9R,EAAI6R,kBAAU,IAAAC,OAAA,EAAdA,EAAgB79L,SACF,QADU89L,EACxB/R,EAAI6R,kBAAU,IAAAE,OAAA,EAAdA,EAAgBrqO,SAElB,GAGd,CACIw+H,MAAO,GACPhnK,KAAM,MACNpE,MAAQklQ,GACW,SAAfA,EAAI9vI,QACAy9D,EAAAA,GAAAA,KAAClxC,GAAI,CAACx7D,QAASA,IA5KpC,SAACu/P,GACZ55G,EACI,aAAa45G,gBAFUnhV,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,IAG1B,kBACA,KACA,GAAG6qM,EAAIhzL,EAAE,aAAaspU,IAE9B,CAqKyDh2G,CAAOw1B,EAAI/tP,IAAIvW,SAC/BwuM,EAAIhzL,EAAE,aAGXy2K,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,IACLk1X,EAAiBn2M,GACpBtkQ,SAEAwuM,EAAIhzL,EAAE,kBAUtCg/b,IACGvoR,EAAAA,GAAAA,KAACo5I,GAAiB,CACdjkK,MAAI,EACJ8C,QAASA,IAAMuwS,EAAiB,MAChCnvI,IAAK6qH,GAA6BqkB,EAAcn5W,IAChDrP,SAAWyd,GAnKfugK,EAAC80E,EAAWr1O,KACpB++F,EAAIo4B,IAAI,MAAO,aAAak+G,YAAqB,CAC7CtjU,OAAQ,CACJuyO,YAAatkJ,GAEjBw3H,aAAqB,QAAPx3H,EACdpgG,QAAUiM,IACK,QAAPm0F,EACA4oC,EAAQhyI,KAAKywB,GAAQ,cAAe,CAAEvgB,GAAI+E,EAAEs8O,IAAIrhP,OAEhDgkc,IACAE,EAAiB,MACjBjsQ,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,qBAC/B,GAEN,EAoJ4Bw0P,CAAIwqM,EAAcjkc,GAAIk5F,OAK5D,G2D2JI,CACIl5F,GAAI,aACJhV,KAAM,OACN4S,KAAM,UACNk4b,WAAW,EACX/rc,UAAWo6c,IAMf,CACInkc,GAAI,aACJhV,KAAM,UACN4S,KAAM,UACNk4b,WAAW,EACX/rc,UAAWoha,IAEf,CACInrZ,GAAI,YACJhV,KAAM,UACN4S,KAAM,cACNk4b,WAAW,EACX/rc,UAAWgia,IAEf,CACI/rZ,GAAI,aACJhV,KAAM,UACN4S,KAAM,UACNk4b,WAAW,EACX/rc,UAAWsia,IAEf,CACIrsZ,GAAI,YACJhV,KAAM,UACN4S,KAAM,SACNk4b,WAAW,EACX/rc,UAAWuia,IAEf,CACItsZ,GAAI,gBACJhV,KAAM,UACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UAAW8ia,IAEf,CACI7sZ,GAAI,WACJhV,KAAM,UACN4S,KAAM,QACNk4b,WAAW,EACX/rc,UAAWsma,IAEf,CACIrwZ,GAAI,oBACJhV,KAAM,UACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UAAW21b,IAMf,CACI1/a,GAAI,kBACJhV,KAAM,cACN4S,KAAM,sBACNk4b,WAAW,EACX/rc,UkBpcO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBksQ,EAAWC,IAAgB93Y,EAAAA,EAAAA,YA8BlC,OAdAD,EAAAA,EAAAA,YAAU,KACF2rI,EAAIntG,GAAG2rC,QACP4tU,EAAapsQ,EAAIntG,GAAG2rC,SAZxBwhE,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,KAAM,CAChClH,QAAUiM,IACNs/b,EAAat/b,EAAE+lF,GAAG2rC,QAAQ,IAelCwhE,EAAIyjB,UAAU,CACVznD,MAAOgkC,EAAIhzL,EAAE,kBACf,GAEH,KAICy2K,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJC,KAAM,CACF,CACIz1U,QAASihM,EAAIhzL,EAAE,QACflb,WAAW2xL,EAAAA,GAAAA,KAACwyE,GAAiB,KAEjC,CACIl3P,QAASihM,EAAIhzL,EAAE,YACflb,WAAW2xL,EAAAA,GAAAA,KAAC83E,GAAgB,KAEhC,CACIx8P,QAASihM,EAAIhzL,EAAE,iBACflb,WAAW2xL,EAAAA,GAAAA,KAACg3E,GAA0B,KAE1C,CACI17P,QAASihM,EAAIhzL,EAAE,aACflb,WAAW2xL,EAAAA,GAAAA,KAAC81E,GAAsB,KAEtC,CACIx6P,QAASihM,EAAIhzL,EAAE,cACflb,WAAW2xL,EAAAA,GAAAA,KAACs2E,GAAuB,KAEvC,CACIh7P,QAASihM,EAAIhzL,EAAE,YACflb,WAAW2xL,EAAAA,GAAAA,KAACi1E,GAAqB,KAErC,CACI35P,QAASihM,EAAIhzL,EAAE,WACflb,WAAW2xL,EAAAA,GAAAA,KAACy4E,GAAoB,KAEpC,CACItjL,KAAMuzX,GAAaA,EAAU35Y,SAAS,OACtCzzD,QAAS,MACTjN,WAAW2xL,EAAAA,GAAAA,KAACg5E,GAAgB,KAEhC,CACI19P,QAASihM,EAAIhzL,EAAE,mBACflb,WAAW2xL,EAAAA,GAAAA,KAACy5E,GAA0B,KAE1C,CACItkL,KAAMuzX,GAAaA,EAAU35Y,SAAS,sBACtCzzD,QAASihM,EAAIhzL,EAAE,eACflb,WAAW2xL,EAAAA,GAAAA,KAAC4oR,GAAgB,KAEhC,CACIzzX,KAAMuzX,GAAaA,EAAU35Y,SAAS,oBACtCzzD,QAAS,UACTjN,WAAW2xL,EAAAA,GAAAA,KAACu7E,GAAoB,MAGxCo5F,MAAI,GAGhB,GlBgXI,CACIrwV,GAAI,gBACJhV,KAAM,cACN4S,KAAM,qBACNk4b,WAAW,EACX/rc,UmB3bO,SAAsB8K,GAEb,IAFc,KAClCmnB,GACiBnnB,EACjB,MAAM,2BAAEyjP,GAA+BxC,MACjC,qBAAEksK,GAAyBP,KAC3BxpN,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjB+/C,EAAU,OAAHhgD,QAAG,IAAHA,GAAAA,EAAKntG,GAAKmtG,EAAIntG,GAAG9qF,IAAM,GAC7Bg+O,EAAas3M,IAAkB/oY,EAAAA,EAAAA,aAC/Bw4L,EAAaC,IAAkBz4L,EAAAA,EAAAA,UAAkC,CACpEznD,KAAM,EACNwyJ,KAAM,GACNrqK,KAAM,GACNqnQ,OAAO,IAELiwM,EAAkBjsN,EACpBt8N,EAAW,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMhc,GAAKi4O,EAClB8M,GAEEwwM,EAA4BvzC,EAAqB,CACnD3jS,UAAWA,KACPkmV,EAAgB1hV,SAAS,EAE7BzjC,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,KAG9C,UAAE2+D,GAAc0oK,KAEtB,OAAIuwO,EAAgB72U,WAEZguD,EAAAA,GAAAA,KAACa,GAAG,CAAChxL,QAAQ,OAAO4xB,eAAe,SAAQ1zB,UACvCiyL,EAAAA,GAAAA,KAACkJ,GAAgB,MAKzB2/Q,EAAgB32U,SACT8tD,EAAAA,GAAAA,KAACmnE,GAAQ,IAGf0hN,EAAgB52U,WAKjByhG,EAAAA,GAAAA,MAACltD,GAAK,CAAC51J,MAAO,CAAE8E,QAAS,IAAK3nB,SAAA,EAC1BiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpB9gL,GAAI,EACJ1pE,OAAQ,CACJ,CACI5jB,QAASs0D,EAAU+0K,GAAaoY,QAAQxrP,MACxCA,KAAM,OACNQ,KAAM,OACN5E,MAAO,KAGf27O,UAAMz5O,EACNw6Q,cAAUx6Q,EACVy6Q,kBAAcz6Q,EACd06Q,oBAAgB16Q,EAChB4iQ,iBAAa5iQ,EACb8iQ,SAAWhlQ,IACPm8P,EAAe,IACRD,EACH93P,KAAMpE,EAAMoE,KACZqnQ,MAAOzrQ,EAAMyrQ,OACf,EAENoR,aAAW,EACXJ,gBAAYv6Q,KAEhB2wL,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAqB,OAAf63b,QAAe,IAAfA,OAAe,EAAfA,EAAiB73b,KAEvBmxU,mBAAqB/4U,GACjBkgP,EAAe,IAAKD,EAAajgP,SAErCg1G,QAASA,OACTnrB,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAgB,CACpB1zK,MAAO,IACPxxF,MAAOklQ,EAAI/tP,KAEfgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAO3oG,EAAU+0K,GAAaoY,QAAQxrP,MACtCA,KAAM,OACN2zD,MAAO,OACPnzD,KAAM,OACNylE,MAAO,SACPrqE,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAClxC,GAAI,CAACx7D,QAASA,IAAMsmX,EAAevnM,GAAKtkQ,SACpCskQ,EAAI9gQ,QAIjB,CACIgnK,MAAO3oG,EACH+0K,GAAa2d,YAAYE,iBAE7BjxP,KAAM,kBACN2zD,MAAO,kBACPsS,MAAO,SACPrqE,MAAQklQ,GAAwB,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK7P,iBAEtC,CACIjqF,MAAO3oG,EACH+0K,GAAa2d,YAAYC,iBAE7BhxP,KAAM,kBACN2zD,MAAO,kBACPsS,MAAO,SACPrqE,MAAQklQ,GAAwB,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK6nM,iBAEtC,CACIh1Y,MAAO,UACPqzG,MAAO3oG,EAAU+0K,GAAaoY,QAAQkD,SACtCzoL,MAAO,SACPrqE,MAAQklQ,IAAgB,IAAAy2M,EAAA,OACpB9oR,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,SACH,OAAHskQ,QAAG,IAAHA,GAAY,QAATy2M,EAAHz2M,EAAKpS,eAAO,IAAA6oN,OAAT,EAAHA,EAAcx2c,KAAKolQ,IAChB13E,EAAAA,GAAAA,KAAC/+B,GAAI,CAED7mJ,KAAK,QACLukF,MAAa,OAAN+4K,QAAM,IAANA,OAAM,EAANA,EAAQnmQ,MAFJ,OAANmmQ,QAAM,IAANA,OAAM,EAANA,EAAQpzP,OAKnB,GAGd,CACIkzD,MAAO,SACPrqE,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACa,GAAG,CAAA9yL,UACAiyL,EAAAA,GAAAA,KAACiB,GAAM,CACHrqC,QAAQ,YACRzoJ,MAAM,UACNyiB,MAAO,CAAEjV,aAAc,EAAG8Z,OAAQ,GAClC69D,QAASA,KACLumX,EAA0BnoU,OAAO,CAC7B60R,cAAkB,OAAHl0J,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,GACpBiL,OAAQ,CAAEizO,gBAAiB,IAC7B,EACJz0P,SACL,iBAQrBiyL,EAAAA,GAAAA,KAAC4rL,GAAY,CACTt4R,QAASA,IACLsmX,EAAe,CACXt1b,IAAK,EACL86O,QAAS,GACT86M,gBAAiB,EACjB13M,gBAAiB,EACjBjxP,KAAM,GACN0uP,QAAS,OAIpBqC,IACGtiE,EAAAA,GAAAA,KAAC25Q,GAAiB,CACdr5a,KAAMgiO,EACNqS,OAAQA,KACJk0M,EAAgB1hV,SAAS,EAE7B8wC,QAASA,KACL2hS,EAAe,KAAK,OA5I7B,IAkJf,GnBkQI,CACIt1b,GAAI,UACJhV,KAAM,cACN4S,KAAM,aACNk4b,WAAW,EACX/rc,UoB1dO,SAAc8K,GAAM,MAAHA,EAC5B,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IAWvB,OANA5rI,EAAAA,EAAAA,YAAU,KAEN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,mBAAoB,GAClD,KAICy2K,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJC,KAAM,CACF,CACIz1U,QAASihM,EAAIhzL,EAAE,kBACflb,WAAW2xL,EAAAA,GAAAA,KAACi8E,GAAS,KAEzB,CACI3gQ,QAASihM,EAAIhzL,EAAE,SACflb,WAAW2xL,EAAAA,GAAAA,KAAC88E,GAAQ,OAKxC,GpBkcI,CACIx4P,GAAI,gBACJhV,KAAM,cACN4S,KAAM,uBACNk4b,WAAW,EACX/rc,UqBxdO,WACXwpO,GAAc,cAEd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBusQ,EAAgBC,IAAqBn4Y,EAAAA,EAAAA,UAAS,MAC/Co4Y,EAAc7uN,MACbtwH,EAASqpN,GAAcl7G,GAC1B,CAAExxG,UAAU,GACZg8G,IAGJ,OACI/O,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,OAGvBo4Q,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,WACNQ,KAAM,QACNi4F,QAAS8/B,EAAQrD,WAGzB0rI,SAAWhlQ,GAAUgmV,EAAWhmV,GAChC68Q,aAAW,KAGfhqF,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUoiH,GACV7iH,QAAUrwG,IAAM,IAAAqqP,EAAA,OACZqvM,EAAYrtN,iBAAoB,OAAHr/C,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,OAAJ,EAAHA,EAASt1P,GAAIiL,EAAO,EAErD85O,YAAav/H,EACbq3I,aAAa,EACbluK,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,QACP/3D,MAAQklQ,GAASA,EAAIsjH,MAAQtjH,EAAIsjH,MAAQ,KAE7C,CACI5jX,KAAM,OACNwmK,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,OACPouB,QAAU++K,IACN22M,EAAkB,CAAE1kc,GAAI+tP,EAAI/tP,IAAK,GAGzC,CACIvS,KAAM,WACNwmK,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,iBAEX,CACInzD,KAAM,SACNwmK,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,IAAG,CAAQoR,IAAKpR,EAAIoR,IAAKxtQ,IAAKo8P,EAAIp8P,OAE9C,CACIsiK,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAACkpR,GAAc,CAAC7ya,OAAQg8N,EAAIh8N,UAEhD,CACIkiI,MAAOgkC,EAAIhzL,EAAE,cACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACk3L,GAAkB,CAACt2H,WAAYyR,EAAIzR,iBAMnDmoN,IACG/oR,EAAAA,GAAAA,KAACm1L,GAAY,CACTC,eAAgB2zF,EAAezkc,GAC/B2zJ,QAASA,KACL+wS,EAAkB,KAAK,KAKnChpR,EAAAA,GAAAA,KAAC4rL,GAAY,CACTt4R,QAASA,KACL01X,EAAkB,CAAE1kc,GAAI,UAAW,MAKvD,GrB2XI,CACIA,GAAI,eACJhV,KAAM,cACN4S,KAAM,2BACNk4b,WAAW,EACX/rc,UAAW8mX,IAEf,CACI7wW,GAAI,cACJhV,KAAM,cACN4S,KAAM,mBACNk4b,WAAW,EACX/rc,UsB7eO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACTk7T,EAAaC,IAAkBv4Y,EAAAA,EAAAA,aAC/Bi5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCt/D,KAAM,MAIVq/D,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CACVznD,MAAOgkC,EAAIhzL,EAAE,gBACf,GAEH,IAKH,MAAM8/b,EAAkB,WAAqC,IAApC95b,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,GAAIxyJ,KAAM,GAChDmzL,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,iBAAkB,CAC5CiL,OAAQ,IACD,IACIu6G,EACHv4H,KAAa,OAAPu4H,QAAO,IAAPA,GAAAA,EAASv4H,KAAOu4H,EAAQv4H,UAAOlC,MAEtCkgB,EAEHqpP,SAEJx7P,QAAUiM,IACN+/b,EAAe//b,EAAE,GAG7B,GAGOuvP,EAAO2R,GAAez2C,IAAU,KACnCu1O,GAAiB,IAWrB,OACI31O,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACfguL,WAAY8pR,IAGpB9qX,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAUk3M,EACVxtH,cAAetxE,EACfX,WAAY,CACR73Q,KAAM,SACNuhF,QAASA,KAxBrB8yD,EAAQhyI,KAAKivI,GAAM/zE,MAAMhmD,GAAe,mBAATA,EAAEhF,KAAyBpC,KAyBlD,MAGJ89K,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAMm4b,EACNzxO,SAAS,EACTzkI,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIxX,KAAM,OACNwmK,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,OAEP78C,GAAKgqP,GAAQxtO,GAAQ,aAAc,CAAEvgB,GAAI+tP,EAAI/tP,MAEjD,CACIvS,KAAM,SACNwmK,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,SACP/3D,MAAQklQ,GAAuB,SAAfA,EAAI9vI,QAExB,CACIxwH,KAAM,MACNwmK,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,aAEX,CACInzD,KAAM,MACNwmK,MAAOgkC,EAAIhzL,EAAE,cACb27C,MAAO,kBAOX,CACInzD,KAAM,QACNwmK,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,UAGfk5D,QAASirV,MAIzB,GtBgXI,CACI/kc,GAAI,iBACJhV,KAAM,cACN4S,KAAM,4BACNk4b,WAAW,EACX/rc,UuBteO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,KACVi9G,EAAa9Q,MACb,UAAExqL,GAAc0oK,MACfgrB,EAAUy6E,IAAeltQ,EAAAA,EAAAA,UAAS,CAAC,IACnCx3C,EAAQw4O,IAAahhM,EAAAA,EAAAA,UAAS,CACjC8rK,QAAS,GACTymI,OAAQrtU,MAASynB,QAAQ,SAASxyB,OAAO,cACzCq4U,OAAQttU,MAAS4nB,MAAM,SAAS3yB,OAAO,iBAEpCs+a,EAAiBC,IAAsB14Y,EAAAA,EAAAA,aACvCspS,EAAaqvG,IAAkB34Y,EAAAA,EAAAA,UAClC96B,MAAS/K,OAAO,eAEd2lO,GAAiBr+H,EAAAA,GAAAA,cAClB/iH,GAAW27O,EAAW7P,qBAA2B,OAAN9rO,QAAM,IAANA,OAAM,EAANA,EAAQjL,GAAU,OAANiL,QAAM,IAANA,OAAM,EAANA,EAAQA,SAChE,CACIozG,UAAY3xG,IAAI,IAAAy4b,EAAA,OACZrjU,EAAQhyI,KACJywB,GAAQ,aAAc,CAAEvgB,GAAmB,QAAjBmlc,EAAEz4b,EAAK8nT,kBAAU,IAAA2wI,OAAA,EAAfA,EAAiBnlc,KAChD,EACLo/E,QAAUzyF,IACNsrM,EAAIq4B,YAAY,IAAKkE,GAAgB7nO,GAAO,KAIjD,CAAE41O,GAAUrP,GAAU,CAACm5B,EAAepuI,SAEvC6zM,EAAaj9T,IAAsB,IAArB,KAAE5H,EAAI,MAAEpE,GAAOgM,EAC/B04P,EAAU,IAAKx4O,EAAQ,CAAC9nB,GAAOpE,GAAQ,EAGrCmxU,EAAe,WAAgC,IAA/BrlT,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACvC2gC,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,0BAA2B,CACrDiL,OAAQ,IACD8J,EACHjQ,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,MAEZx+J,QAAUiM,IACN00T,EAAY10T,EAAE,GAG1B,EAEA,OACIqqN,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACDnT,EAAAA,GAAAA,MAACmV,GAAa,CACV1zE,MAAI,EACJ8C,QAASA,IAAM7xB,EAAQhyI,KAAKywB,GAAQ,gBACpC0zI,MAAO3oG,EAAU,sBAAsB7hE,SAAA,EAEvCiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAACX,GAAW,CACRjpK,MAAI,EACJ9gB,GAAI,EACJD,GAAI,GACJD,GAAI,GACJ7D,KAAK,UACL+J,QAASihM,EAAIhzL,EAAE,WACf+1K,OAAQjmK,EAAOsjN,QACfp+I,SAAU63O,KAGdp2I,EAAAA,GAAAA,KAAC0oF,GAAa,CACVtyP,MAAI,EACJ9gB,GAAI,EACJD,GAAI,GACJD,GAAI,GACJkG,QAASihM,EAAIhzL,EAAE,UACfk+P,QAAQ,SACRC,QAAQ,SACRiB,UAAWtvP,EAAO+pV,OAClBx6F,UAAWvvP,EAAOgqV,OAClB9kR,SAAU63O,KAGdp2I,EAAAA,GAAAA,KAACsc,GAAW,CACRlmL,MAAI,EACJ9gB,GAAI,EACJD,GAAI,GACJD,GAAI,GACJkG,QAASihM,EAAIhzL,EAAE,SACf+1K,OAAQ66K,EACR57Q,SAAUzhE,IAAA,IAAC,MAAE3vB,GAAO2vB,EAAA,OAAK0sb,EAAer8c,EAAM,YAM9D6yL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAID,GAAI,GAAGrH,UAC7BiyL,EAAAA,GAAAA,KAAC0lL,GAAe,CACZloM,WAAS,EACTlqF,QAASA,IAAMgrP,SAIvBt+I,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAID,GAAI,GAAGrH,UAC7BiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACT5mB,QAAQ,YACRzoJ,MAAM,UACNozL,WAAUvB,EAAAA,GAAAA,KAAC0pR,GAAOA,EAAI,IACtBpuc,QAASihM,EAAIhzL,EAAE,YACfyrN,cAAY,EACZ1hJ,QAASA,IACLq9K,EAAej/H,OAAO,CAClBptH,GAAIi4L,EAAIntG,GAAG9qF,GAGXiL,OAAQ,CACJotN,QAAStjN,EAAOsjN,QAChBw9H,cACAiJ,OAAQ/pV,EAAO+pV,OACfC,OAAQhqV,EAAOgqV,oBAS3CrjL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,SACDu1P,IACGtjE,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAMsyO,EACN5rB,SAAS,EACTzkI,QAAS,CACL,CACIlhG,KAAM,OACNwmK,MAAOgkC,EAAIhzL,EAAE,WACbiuD,MAAO,OACPtS,MAAO,UACPouB,QAAU++K,GACNk3M,EAAmBl3M,EAAI/tP,KAE/B,CACIi0J,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,cACN5E,MAAQklQ,IAAG,CACPoR,IAAKpR,EAAIoR,IACTxtQ,IAAKo8P,EAAIp8P,OAGjB,CACIsiK,MAAOgkC,EAAIhzL,EAAE,QACb5Z,MAAO,IACP6nE,MAAO,OACPrqE,MAAQklQ,GACJA,EAAIzsB,KAAK1K,MACHm3B,EAAIzsB,KAAK1K,MAAM3pO,KACf8gQ,EAAIzsB,KAAKr0O,MAEvB,CACIgnK,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,QACNmzD,MAAO,UAGfk5D,QAASkgN,QAMxBgrI,IACGtpR,EAAAA,GAAAA,KAACq0J,GAAY,CACTxB,UAAWy2H,EACXrxS,QAASA,IAAMsxS,EAAmB,aAM1D,GvBkTI,CACIjlc,GAAI,aACJhV,KAAM,cACN4S,KAAM,uBACNk4b,WAAW,EACX/rc,UwBtdO,SAAoBR,GAC/B,MAAM0uM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,aAAE88B,GAAiBf,KACnBnyF,EAAU6H,MACTmgM,EAAUiC,IAAex/Q,EAAAA,EAAAA,WAAS,IAClCioQ,EAAY6wI,IAAiB94Y,EAAAA,EAAAA,aAC7B8qT,EAAOiuF,IAAY/4Y,EAAAA,EAAAA,aACnB0wS,EAAgBC,IAAqB3wS,EAAAA,EAAAA,UAAS,OAC9Ci5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCt/D,KAAM,GACNgxH,OAAQ,QAELsnV,EAAoBC,IAAyBj5Y,EAAAA,EAAAA,UAAS,OACtDk5Y,EAAgBC,IAAqBn5Y,EAAAA,EAAAA,WAAS,IAC9CisQ,EAAaC,IAAkBlsQ,EAAAA,EAAAA,UAAS,OACxC6wM,EAAYD,IAAiB5wM,EAAAA,EAAAA,UAAS,KACtCo5Y,EAAUC,IAAer5Y,EAAAA,EAAAA,WAAS,GAEnCs5Y,EAAY,WAAgC,IAA/Blxb,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,GAAIxyJ,KAAM,GACrCmzL,EAAIo4B,IAAI,MAAO,gBAAgB9mO,EAAMwE,MAAMkd,OAAOjL,WAAY,CAC1DiL,OAAQ,IACD,IACIu6G,EACHv4H,KAAa,OAAPu4H,QAAO,IAAPA,GAAAA,EAASv4H,KAAc,OAAPu4H,QAAO,IAAPA,OAAO,EAAPA,EAASv4H,UAAOlC,GAE1C+Z,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,MAEZx+J,QAAUiM,IACNugc,EAASvgc,EAAE,GAGvB,EAEM+gc,EAAiBA,KACnB7tQ,EAAIo4B,IAAI,MAAO,gBAAgB9mO,EAAMwE,MAAMkd,OAAOjL,KAAM,CACpDiL,OAAQ,CACJqpP,OAAO,GAEXx7P,QAAUiM,IACNsgc,EAActgc,EAAEyvT,YAChBqxI,IAEA95H,GAAY,EAAM,GAExB,EAsEAja,EAAaj9T,IAAsB,IAArB,KAAE5H,EAAI,MAAEpE,GAAOgM,EAC/Bwwc,EAAc,IAAK7wI,EAAY,CAACvnU,GAAOpE,GAAQ,EAa7Ck9c,EAAkB,WAAkB,IAAjBC,EAAG54c,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,IAAAA,UAAA,GACxB6qM,EAAIo4B,IAAI,MAAO,gBAAgBmkG,EAAWx0T,WAAY,CAClD0wN,aAAcs1O,EACd/6b,OAAQ,CACJ+6b,OAEJltc,QAASA,KACLm/L,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,UAC3B6gc,IACIE,GAAKD,GAAiB,GAGtC,EAqDA,OAxCAz5Y,EAAAA,EAAAA,YAAU,KACNu5Y,GAAW,GAEZ,CAACrgV,EAAQvH,UAoBZ3xD,EAAAA,EAAAA,YAAU,KACN,MAAM25Y,EAAe18c,EAAMwE,MAAMkd,OAAOjL,GACpCimc,IACqB,WAAjBA,GAEAZ,EAAc,CACVp4c,KAAM,KAGV8+U,GAAY,IAEZ+5H,IAER,GAED,CAACv8c,EAAMwE,MAAMkd,OAAOjL,MAGnB07K,EAAAA,GAAAA,KAAC6oD,GAAa,CACV1zE,OAAQ2jK,EACR7gK,QAASA,IAAM7xB,EAAQhyI,KAAKywB,GAAQ,gBACpC0zI,MAAOugK,EAAaA,EAAWvnU,KAAO,SAASxD,UAE/C2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,EACAiyL,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,SACL+qU,IACGplG,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACMqgV,IACE16G,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,UACvBiyL,EAAAA,GAAAA,KAACoxE,GAAY,CACTh7O,MAAI,EACJ9gB,GAAI,EACJijK,MAAOgkC,EAAIhzL,EAAE,WACbnS,KAAM2+B,IACF+iS,EAAW15E,SACbp0N,OAAO,yBAIjBg1J,EAAAA,GAAAA,KAACa,GAAG,CAAC22I,GAAI,EAAEzpU,UACPiyL,EAAAA,GAAAA,KAAC4nD,GAAO,UAKpBlU,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAACX,GAAW,CACRjpK,MAAI,EACJ9gB,GAAI,EACJD,GAAI,GACJD,GAAI,GACJ7D,KAAK,OACL+J,QAASihM,EAAIhzL,EAAE,QACf+1K,OAAQw5I,EAAWvnU,KACnBgtF,SAAU63O,KAGdp2I,EAAAA,GAAAA,KAACS,GAAa,CACVrqK,MAAI,EACJ9gB,GAAI,EACJD,GAAI,EACJD,GAAI,EACJ7D,KAAK,SACL+J,QAASihM,EAAIhzL,EAAE,UACf+1K,OAAQw5I,EAAWv2M,OACnBhkC,SAAU63O,EACVv6T,QAAS0gM,EAAIs4B,UAAUmK,oBAG3Bh/C,EAAAA,GAAAA,KAACsc,GAAW,CACRlmL,MAAI,EACJ9gB,GAAI,EACJD,GAAI,EACJD,GAAI,EACJ7D,KAAK,YACL+J,QAASihM,EAAIhzL,EAAE,UACf+1K,OAAQw5I,EAAW0xI,UACnBjsX,SAAU63O,KAEdp2I,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAAvyB,UACNiyL,EAAAA,GAAAA,KAAC0c,GAAgB,CACbC,SACI3c,EAAAA,GAAAA,KAACxK,GAAQ,CACLxrF,QAASigX,EACT1rX,SAAUA,IACN2rX,GAAaD,KAIzBtrX,MAAM,0CAKlBqhG,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,CACtB+qU,EAAWlgE,QACR54E,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAID,GAAI,GAAGrH,UAC7BiyL,EAAAA,GAAAA,KAACm6D,GAAgB,CACb38E,WAAS,EACTlqF,QAASA,KA7KrDipH,EAAIo4B,IAAI,MAAO,gBAAgBmkG,EAAWx0T,aAAc,CACpD0wN,cAAc,EACd53N,QAASA,KACLm/L,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,cAC3B6gc,GAAgB,GA2KqB,OAKXtxI,EAAWlgE,QACT54E,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,GAAID,GAAI,GAAGrH,UAC7BiyL,EAAAA,GAAAA,KAACqpD,GAAa,CACV7rE,WAAS,EACTlqF,QAASA,IA/NlCm3X,MACnB,MAAMl7b,EAAS8kP,GAAaykE,EAAY,CACpC,OACA,SACA,cAIAsV,EACA7xI,EAAIo4B,IAAI,OAAQ,QAAQp4B,EAAIntG,GAAG9qF,iBAAkB,CAC7CiL,SACAnS,QAAUiM,IACNkzL,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAEo7N,GAAaoY,QAAQqC,UAChDh5G,EAAQhyI,KAAK,gBAAgBiV,EAAEyvT,WAAWx0T,KAAK,IAMvDi4L,EAAIo4B,IAAI,MAAO,gBAAgBmkG,EAAWx0T,KAAM,CAC5CiL,SACAnS,QAASA,KACLm/L,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,SAAS,GAGhD,EAuMgDkhc,QAMdr8H,IAAatV,EAAWlgE,QACtBllC,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJhrB,GAAI,EACJD,GAAI,GACJD,GAAI,GAAGrH,UAEPiyL,EAAAA,GAAAA,KAACopD,GAAe,CACZ5rE,WAAS,EACTlqF,QAASA,KAnNzDipH,EAAIo4B,IAAI,SAAU,gBAAgBmkG,EAAWx0T,KAAM,CAC/C0wN,cAAc,EACd53N,QAASA,KACLgpI,EAAQhyI,KAAK,oBACbmoM,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,WAAW,GAiNG,OAITy2K,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJhrB,GAAI,EACJD,GAAI,GACJD,GAAI,GAAGrH,UAEPiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACTliK,QAAS,GAAGihM,EAAIhzL,EACZo7N,GAAaoY,QACR3jB,iBAET/gO,MAAK2nL,EAAAA,GAAAA,KAAC0qR,GAAMA,EAAI,IAChBp3X,QAASA,KA7MzDgmJ,EACI,gBAAgBw/F,EAAWx0T,SAC3B,WACA2lc,EAAW,CAAEU,UAAU,GAAS,KAChC,iBA2M6C,OAGT3qR,EAAAA,GAAAA,KAAC/B,GAAI,CACD39J,MAAI,EACJhrB,GAAI,EACJD,GAAI,GACJD,GAAI,GAAGrH,UAEPiyL,EAAAA,GAAAA,KAACspD,GAAS,CACN9rE,WAAS,EACTliK,QAASihM,EAAIhzL,EACT,sBAEJlR,MAAK2nL,EAAAA,GAAAA,KAACozE,GAAOA,EAAI,IACjB9/K,QAASA,IACL02X,GACI,sBAc/ClxI,IAAeA,EAAWlgE,QAAUw1E,GAAYutC,IAC7C37L,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACP2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACfguL,WAAY4qR,IAGpB5rX,SAAUzhE,IAAA,IAAC,KAAEvrB,EAAI,MAAEpE,GAAO2vB,EAAA,OACtBq2T,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAUg4M,EACVpgM,eAAgB,CACZz2L,QAASA,IA1UhBs3X,MACrB,MAAMr7b,EAAS,CAAC,EAEhB,GAAImyP,EAAW/vQ,OAAS,EAAG,CACvB,MAAMk5c,EAAW,GAEjBnpM,EAAWhoP,SAAS24O,GAAQw4M,EAASz2c,KAAKi+P,EAAI/tP,MAE9CiL,EAAOu7b,QAAUD,CACrB,CAEAvxO,EACI,gBAAgBw/F,EAAWx0T,SAC3B,WACAiL,EACA,aACH,EA0T0Cq7b,IAEnB9hO,KAAM,CACF,CACIxtO,QAASihM,EAAIhzL,EAAE,SACflR,MAAM2nL,EAAAA,GAAAA,KAAC+qR,GAAAA,EAAsB,IAC7Bz3X,QAASA,IAAM+2X,GAAgB,IAEnC,CACI/uc,QAASihM,EAAIhzL,EAAE,OACflR,MAAM2nL,EAAAA,GAAAA,KAACgrR,GAAKA,EAAI,IAChB13X,QAASA,IAAM+2X,GAAgB,IAEnC,CACI/yc,SAAS,EACTgE,QAASihM,EAAIhzL,EAAE,OACflR,KAAMyxH,EAAQvH,OAAS,MACnBy9D,EAAAA,GAAAA,KAACk6D,GAAAA,EAAQ,IAEb5mK,QAASA,IACL6/P,EAAW,IACJrpN,EACHvH,OAAQ,QAGpB,CACIjnH,QAASihM,EAAIhzL,EACT,4BAEJlR,KACuB,UAAnByxH,EAAQvH,QACJy9D,EAAAA,GAAAA,KAACk6D,GAAAA,EAAQ,IACT,KACR5mK,QAASA,IACL6/P,EAAW,IACJrpN,EACHvH,OAAQ,WAGpB,CACIjnH,QAASihM,EAAIhzL,EACT,4BAEJlR,KACuB,aAAnByxH,EAAQvH,QACJy9D,EAAAA,GAAAA,KAACk6D,GAAAA,EAAQ,IACT,KACR5mK,QAASA,IACL6/P,EAAW,IACJrpN,EACHvH,OAAQ,kBAM5By9D,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM2qW,EACNjkJ,SAAS,EACTgqC,WAAYA,EACZD,cAAeA,EACfxuK,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,WACbiuD,MAAO,OACPrqE,MAAQklQ,IACJ3+B,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,EACAiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,IACLw2X,EACIz3M,GAEPtkQ,SAEAskQ,EAAIn4C,eAETl6B,EAAAA,GAAAA,KAACa,GAAG,CAAA9yL,UACAiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,WAAU7oJ,UAC1BiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,KAAA,IAAAg8W,EAAA2b,EAAA,OACLluI,EACe,QADDuyH,EACVj9L,EAAIhP,eAAO,IAAAisM,GACD,QADC2b,EAAX3b,EACM1pN,YAAI,IAAAqlO,OADC,EAAXA,EAEM/vO,MACD52N,GACR,EACJvW,SAEAskQ,EAAI9gQ,WAKhB8gQ,EAAInwD,QACDmwD,EAAInwD,OAAO5vM,KAAKrB,IACZyiO,EAAAA,GAAAA,MAAC7yC,GAAG,CACA/rH,GAAI,EACJlkD,MAAO,CACHziB,MAAO,OACTJ,SAAA,CACL,KACMkD,WAM3B,CACIc,KAAM,MACNwmK,MAAOgkC,EAAIhzL,EAAE,YACb27C,MAAO,YAEX,CACInzD,KAAM,UACNwmK,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,GACJA,EAAInwD,QAAUmwD,EAAInwD,OAAOvwM,QAEjC,CACII,KAAM,QACNwmK,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,QACP/3D,MAAQklQ,IAAG,IAAA8R,EAAAC,EAAA,OACPpkF,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,IACLkuR,EACInvG,EAAIhP,QAAQ/+O,IAEnBvW,SAEA61Q,GACGvR,EAAInT,MACU,QADLilB,EACT9R,EAAI6R,kBAAU,IAAAC,OAAA,EAAdA,EAAgB79L,SACF,QADU89L,EACxB/R,EAAI6R,kBAAU,IAAAE,OAAA,EAAdA,EAAgBrqO,SAEjB,IAInBqkF,QAAS+rV,EACT3oM,UAAW,CACP12F,QAAS,CACL,CACIxvK,QAASihM,EAAIhzL,EAAE,UACf+pE,QA3WX43X,IACzB3uQ,EAAIo4B,IAAI,OAAQ,SAAU,CACtBK,cAAc,EACdzlN,OAAQ,CACJ8yU,MAAO6oH,EAAc54c,KAAKwiF,IAAI,CAC1Bg4D,OAAQ,MACRkqF,SAAU,sBAAsBliJ,EAAKxwE,iBAG7ClH,QAASA,KACL+sc,GAAW,GAEjB,YAwWO5oG,IACGvhL,EAAAA,GAAAA,KAACq0J,GAAY,CACTxB,UAAW0uB,EACXtpM,QAASA,IAAMupM,EAAkB,SAIzCxhL,EAAAA,GAAAA,KAACi7L,GAAoB,CACjBC,eAAgB2uF,EAChB5xS,QAASA,IAAM6xS,EAAsB,MACrC/4b,SA9Yco6b,IAC1BvB,EAAS,IACFjuF,EACH//M,KAAMk7F,GAAqB6kH,EAAM//M,KAAMuvS,KAE3CrB,EAAsB,KAAK,KA4YnB9pR,EAAAA,GAAAA,KAACw0E,GAAe,CACZr/F,KAAM40S,EACN7rc,MAAO,CAAC,yBACR+5J,QAASA,IAAM+xS,GAAkB,GACjCryI,aAAc,CAAE4yI,aAAczxI,GAAcA,EAAWx0T,IACvDmwP,WAAaz6C,IAELA,GACAA,EAASoxP,iBACTpxP,EAASoxP,gBAAgBxvS,MAEzB6lG,EAAcznD,EAASoxP,gBAAgBxvS,MAE3CouS,GAAkB,GAClBG,GAAW,KAInBnqR,EAAAA,GAAAA,KAACuzI,GAAc,CACXp+J,KAAsB,OAAhB2nK,EACN/I,QAAS+I,EACT7kK,QAASA,KACL8kK,EAAe,MACfotI,GAAW,QAMnC,GxBrGI,CACI7lc,GAAI,eACJhV,KAAM,cACN4S,KAAM,oBACNk4b,WAAW,EACX/rc,UyBxfO,WACXwpO,GAAc,kBACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,UAAE5sI,GAAc0oK,MACf+yO,EAAcC,EAAgB,CAAG/2O,GAAOH,MACxCm3O,EAAsBC,IAA2B36Y,EAAAA,EAAAA,UAAS,OAE1Di5D,EAAS+nI,GAAa79B,GAAU,CACnCzxG,OAAQ,SAILq2I,EAAO2R,GAAez2C,IAAU,KAEnC23O,GAAkB,IAMtB,SAASA,IAAkD,IAAjCl8b,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IAChD24D,EAAI,QAAQh4B,EAAIntG,GAAG9qF,kBAAmB,CAClC/S,KAAMu4H,EAAQv4H,KACdgxH,OAA2B,QAAnBuH,EAAQvH,OAAmB,GAAKuH,EAAQvH,UAC7ChzG,EACHqpP,UACDprJ,MAAMwsG,IACLsxP,EAAgBtxP,EAAS,GAEjC,CAMA,OACI0Z,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACf+J,QAASihM,EAAIhzL,EAAE,QACfg2K,WAAYksR,IAGpB9hM,YAAa,CACT,CACIv0Q,GAAI,GACJC,GAAI,EACJC,GAAI,EACJ/D,KAAM,SACNQ,KAAM,SACN5E,MAAO28H,EAAQvH,OACf1mH,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,OAEX,CACImO,QAASihM,EAAIhzL,EAAE,WACfpc,MAAO,aAKvBoxF,SAAUszK,EACVM,SAAUA,IAAMs5M,IAChB5vH,cAAetxE,KAGnBvqF,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAMq6b,EACN3zO,SAAS,EACT0pC,WAAa/O,IACTm5M,EAAwB,CAAElnc,GAAI+tP,EAAI/tP,GAAI/S,KAAM8gQ,EAAI9gQ,MAAO,EAE3D0hG,QAAS,CACL,CACI/tC,MAAO,OACPqzG,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,QAEX,CACItS,MAAO,WACPnzD,KAAM,WACNwmK,MAAOgkC,EAAIhzL,EAAE,aAEjB,CACI27C,MAAO,UACPqzG,MAAOgkC,EAAIhzL,EAAE,WACbpc,MAAQkc,IAAC,IAAAuwP,EAAA45D,EAAA,OACL,IAAI7I,GACC,OAADthT,QAAC,IAADA,OAAC,EAADA,EAAG+1O,QACA,OAAH7iD,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,GAAU,QAAV45D,EAAP55D,EAASpG,gBAAQ,IAAAggE,OAAd,EAAHA,EAAmBjiU,KAChB,OAAHgrM,QAAG,IAAHA,OAAG,EAAHA,EAAKh9I,KAAKzpD,KACZs1T,KAAK,GAEf,CACIlmQ,MAAO,SACPnzD,KAAM,SACNwmK,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,GAAuB,WAAfA,EAAI9vI,SAG5BnE,QAASqtV,KAEbzrR,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QA/E1B,WACIk4X,EAAwB,CAAElnc,GAAI,SAAU/S,KAAMq+D,EAAU,aAC5D,OAgFS27Y,IACGvrR,EAAAA,GAAAA,KAAC2uL,GAAW,CACRC,cAAe28F,EAAqBjnc,GACpC2zJ,QAASA,KACLuzS,EAAwB,KAAK,EAEjCjzS,MAAOgzS,EAAqBh6c,SAKhD,GzB8XI,CACI+S,GAAI,cACJhV,KAAM,cACN4S,KAAM,wBACNk4b,WAAW,EACX/rc,UAAWsgX,IAEf,CACIrqW,GAAI,oBACJhV,KAAM,cACN4S,KAAM,2BACNk4b,WAAW,EACX/rc,UAAWsgX,IAEf,CACIrqW,GAAI,aACJhV,KAAM,cACN4S,KAAM,kBACNk4b,WAAW,EACX/rc,U0B1gBO,WACXwpO,GAAc,cAEd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MAETnkB,EAAS+nI,GAAa79B,GAAU,CACnCzxG,OAAQ,YAILq+H,EAAY4gG,EAAc,CAAGjtH,GAAOH,MAEpCwkC,EAAO2R,GAAez2C,IAAU,KAEnCo7I,GAAgB,IACjB,IAEIw8F,EAAgBC,IAAqB96Y,EAAAA,EAAAA,UAAS,CACjDvsD,GAAI,KACJs0P,MAAO,OAILs2G,EAAiB,WAAqC,IAApC3/V,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACtB,SAAb,OAAP9xC,QAAO,IAAPA,OAAO,EAAPA,EAASvH,UACTuH,EAAQvH,OAAS,IAErBgyG,EAAI,QAAQh4B,EAAIntG,GAAG9qF,gBAAiB,IAC7BiL,KACAu6G,EACH8uI,UACDprJ,MAAMwsG,IACLwnI,EAAcxnI,EAAS,GAE/B,EAGA,OACI0Z,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACf+J,QAASihM,EAAIhzL,EAAE,QACfg2K,WAAY2vL,IAGpBvlG,YAAa,CACT,CACIv0Q,GAAI,GACJC,GAAI,EACJC,GAAI,EACJ/D,KAAM,SACNQ,KAAM,SACN5E,MAAO28H,EAAQvH,OACf1mH,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,OAEX,CACImO,QAASihM,EAAIhzL,EAAE,WACfpc,MAAO,aAKvBoxF,SAAUszK,EACVM,SAAU+8G,EACVrzB,cAAetxE,EACfzhC,KAAM,CACF,CACIxtO,QAASihM,EAAIhzL,EAAE,kBACf+pE,QAASA,IAAM8yD,EAAQhyI,KAAKywB,GAAQ,iBACpCxsB,MAAM2nL,EAAAA,GAAAA,KAACyoN,GAAUA,EAAI,SAKjCzoN,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM4vO,EACNwgB,WAAa/O,GACTs5M,EAAkB,CAAErnc,GAAI+tP,EAAI/tP,GAAIs0P,MAAOvG,EAAIuG,QAE/C3lK,QAAS,CACL,CACI/tC,MAAO,WACPnzD,KAAM,UACNwmK,MAAO,IACP5oK,MAAO,IAEX,CACIu1D,MAAO,OACPqzG,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPrqE,MAAQ03Q,IACJnxC,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,SAAE82Q,EAAStzQ,QACtByuL,EAAAA,GAAAA,KAAC4rR,GAAY,CAACtsM,MAAOuF,EAASvF,YAI1C,CACI3vQ,MAAO,IACP4oK,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,OACN5E,MAAQklQ,GAAQ91D,EAAIhzL,EAAE,MAAM8oP,EAAI9vI,WAEpC,CACIr9D,MAAO,kBACPqzG,MAAO,IACPxmK,KAAM,UAEV,CACImzD,MAAO,iBACPqzG,MAAO,IACPxmK,KAAM,UAEV,CACImzD,MAAO,OACPqzG,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,GACJA,EAAI67G,MACJ77G,EAAI67G,KAAK57W,KAAI,CAACopB,EAAKpoB,KACf0sL,EAAAA,GAAAA,KAACa,GAAG,CAAc/rH,KAAMxhE,EAAI,GAAGvF,UAC3BiyL,EAAAA,GAAAA,KAAC/+B,GAAI,CAACtiE,MAAOjjE,EAAInqB,KAAM6I,KAAK,WADtBshB,EAAIpX,OAK1B,CACI4gD,MAAO,WACPqzG,MAAOgkC,EAAIhzL,EAAE,YACbpc,MAAQklQ,GACJA,EAAI45G,UACJ55G,EAAI45G,SAAS35W,KAAI,CAACi6W,EAASj5W,KACvB0sL,EAAAA,GAAAA,KAACa,GAAG,CAAkB/rH,KAAMxhE,EAAI,GAAGvF,UAC/BiyL,EAAAA,GAAAA,KAAC/+B,GAAI,CAACtiE,MAAO4tR,EAAQh7W,KAAM6I,KAAK,WAD1BmyW,EAAQjoW,OAK9B,CACI4gD,MAAO,cACPqzG,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,YAGdqsH,QAAS8wP,KAEblvL,EAAAA,GAAAA,KAAC6rR,GAAQ,CACLvrb,KAAMorb,EACNzzS,QAASA,KACL0zS,EAAkB,CAAErnc,GAAI,KAAMs0P,OAAO,IACrCs2G,GAAgB,KAGxBlvL,EAAAA,GAAAA,KAAC4rL,GAAY,CACTt4R,QAASA,IAAMq4X,EAAkB,CAAErnc,GAAI,EAAGs0P,OAAO,QAIjE,G1BwWI,CACIt0P,GAAI,UACJhV,KAAM,cACN4S,KAAM,eACNk4b,WAAW,EACX/rc,U2BlhBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhByjD,EAASgX,IAAcpmM,EAAAA,EAAAA,UAAS,OAChCi5D,EAAS+nI,GAAa79B,GAAU,CACnCziO,KAAM,KAEJ60I,EAAU6H,MAGT2qH,EAAO2R,GAAez2C,IAAU,KACnCg4O,GAAa,KAGVC,EAAgBC,IAAqBn7Y,EAAAA,EAAAA,WAAS,IAC9Co7Y,EAAoBC,IAAyBr7Y,EAAAA,EAAAA,WAAS,IACtD46V,EAAkBC,IAAuB76V,EAAAA,EAAAA,UAAS,OAEzDD,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,YAAa,GAC3C,CAACkiZ,IAKJ,MAAMqgD,EAAc,WAAgC,IAA/B7yb,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACtC2gC,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,aAAc,CACxCiL,OAAQ,CACJnG,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,QACL9xC,EACH8uI,SAEJx7P,QAAUiM,IACN4tP,EAAW5tP,EAAE,GAGzB,EAGA,OACIqqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNR,KAAM,OACNpE,MAAO28H,EAAQv4H,KACfguL,WAAYusR,IAGpBjwH,cAAetxE,EACfhsL,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OAAK04P,EAAU,CAAEtgQ,OAAMpE,SAAQ,EACzD8kQ,YAAa,CACT,CACI55P,MAAM2nL,EAAAA,GAAAA,KAACmsR,GAAMA,EAAI,IACjB74X,QAASA,IAAM04X,GAAkB,IAErC,CACI3zc,MAAM2nL,EAAAA,GAAAA,KAACosR,GAAa,IACpB94X,QAASA,IAAM44X,GAAsB,IAEzC,CACI7zc,MAAM2nL,EAAAA,GAAAA,KAACqsR,GAAAA,EAAS,IAChB/4X,QAASA,IAAM8yD,EAAQhyI,KAAKywB,GAAQ,oBAG5CstO,SAAU25M,KAEd9rR,EAAAA,GAAAA,KAACoyE,GAAQ,CACLh0I,QAAS0tV,EACT96b,KAAMivO,EACNhtJ,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,KACNmzD,MAAO,MAEX,CACIsS,MAAO,OACP+gG,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNmzD,MAAO,OACPouB,QAAU++K,GAAQq5J,EAAoBr5J,EAAI/tP,KAE9C,CACIi0J,MAAOgkC,EAAIhzL,EAAE,QAEbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACy2L,GAAe,CAACt3G,SAAU,CAAEptQ,KAAMsgQ,EAAItgQ,SAG/C,CACIwmK,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,SACNmzD,MAAO,WAEX,CACIqzG,MAAO,MACPxmK,KAAM,SACNmzD,MAAO,gBAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,SACNmzD,MAAO,YAEX,CACIqzG,MAAO,KACPxmK,KAAM,SACNmzD,MAAO,iBAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,WACbxX,KAAM,OACNmzD,MAAO,WAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,GACJA,EAAIs5J,UACE51X,IAAOs8N,EAAIs5J,WAAW3gY,OAAO,cAC7B,IAEd,CACIutI,MAAOgkC,EAAIhzL,EAAE,cACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACk3L,GAAkB,CAACt2H,WAAYyR,EAAIzR,kBAMpD5gE,EAAAA,GAAAA,KAACo3L,GAAiB,CACdC,WAAY00F,EACZ9zS,QAASA,IAAM+zS,GAAkB,MAGrChsR,EAAAA,GAAAA,KAAC23L,GAA2B,CACxBN,WAAY40F,EACZh0S,QAASA,IAAMi0S,GAAsB,MAGzClsR,EAAAA,GAAAA,KAACogL,GAAmB,CAChB7jH,KAAMhgD,EAAIntG,GAAG9qF,GACbq6H,SAAU8sR,EACVxzP,QAASA,KACLyzP,EAAoB,MACpBogD,GAAa,MAKjC,G3ByXI,CACIxnc,GAAI,SACJhV,KAAM,cACN4S,KAAM,mBACNk4b,WAAW,EACX/rc,U4BriBO,SAAe8K,GAAa,IAAZ,MAAE9G,GAAO8G,EACpC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IAGjBu0I,EAAO,CACT,CACIz1U,QAASihM,EAAIhzL,EAAE,UACflb,WAAW2xL,EAAAA,GAAAA,KAACqgJ,GAAa,CAAC/7T,GAAIjS,EAAMkd,OAAOjL,MAE/C,CACIhJ,QAASihM,EAAIhzL,EAAE,kBACflb,WAAW2xL,EAAAA,GAAAA,KAAC49K,GAAW,CAACt5V,GAAIjS,EAAMkd,OAAOjL,MAE7C,CACIhJ,QAASihM,EAAIhzL,EAAE,YACflb,WAAW2xL,EAAAA,GAAAA,KAAC4/K,GAAc,CAACt7V,GAAIjS,EAAMkd,OAAOjL,KAC5C6wE,KAA0B,WAApB9iF,EAAMkd,OAAOjL,KAI3B,OACI07K,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAAC8wJ,GAAO,CAACC,KAAMA,KAG3B,G5B8gBI,CACIzsU,GAAI,SACJhV,KAAM,cACN4S,KAAM,cACNk4b,WAAW,EACX/rc,U6B9hBO,WACXwpO,GAAc,SACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjB0uD,EAAa9Q,KACbjpH,GAAcD,EAAAA,GAAAA,mBACd,aAAEooG,GAAiBf,MAClBw7F,EAASu4I,IAAcz7Y,EAAAA,EAAAA,UAAS,OAChCi5D,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAGsK,KAC3CgqO,EAAwBC,IAA6B37Y,EAAAA,EAAAA,WAAS,GAO/DuoK,EAAYpuM,IACd,MAAMyhb,EAAWz/c,OAAOgI,KAAK80H,GACxBzwG,QAAQvjB,GAAyB,OAAjBg0H,EAAQh0H,KACxBxD,KAAKwD,GAAQ,GAAGA,KAAOg0H,EAAQh0H,OAC/BnD,KAAK,KAEV2mO,EACI,QAAQ/8B,EAAIntG,GAAG9qF,aAAa0mB,KAAUyhb,IAC3B,QAAXzhb,EAAmB,kBAAoB,WACvC,KACA,SAASA,IACZ,EAwBL,OACI0oM,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,KAGfw8Q,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,QACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,QACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,qBACN5E,MAAO,KACPo7Q,WAAY,UACZC,WAAY,QACZ3sQ,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,QACfpc,MAAO,QAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,YAInB,CACImO,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,iBACNQ,KAAM,QACN5E,MAAO,MAEX,CACImO,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,UACNQ,KAAM,QACN5E,MAAO,MAEX,CACImO,QAASihM,EAAIhzL,EAAE,aACfhY,KAAM,YACNQ,KAAM,SACN5E,MAAO,KACP0O,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,KAEX,CACImO,QAASihM,EAAIhzL,EAAE,MACfpc,MAAO,OAInB,CACImO,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,UACNQ,KAAM,QACN5E,MAAO,MAEX,CACImO,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,QACNQ,KAAM,QACN5E,MAAO,MAEX,CACImO,QAASihM,EAAIhzL,EAAE,OACfhY,KAAM,MACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,cACfhY,KAAM,aACNQ,KAAM,OACN5E,MAAO,MAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,OACN5E,MAAO,MAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,OACN5E,MAAO,OAGf68Q,aAAW,EACX7X,SAhJS/5B,IACjB,MAAMovH,EAAkB,IAAKpvH,GAKD,IAADs0O,EAIDC,UAPnBnlH,EAAgBz8R,aAChBy8R,EAAgBhqG,KAEL,OAAdplB,QAAc,IAAdA,GAAAA,EAAgBrtK,SAChBy8R,EAAgB96E,QAAwB,OAAdt0C,QAAc,IAAdA,GAAqB,QAAPs0O,EAAdt0O,EAAgBrtK,aAAK,IAAA2hZ,OAAP,EAAdA,EAAuBpoc,IAGnC,OAAd8zN,QAAc,IAAdA,GAAAA,EAAgBolB,OAChBgqG,EAAgB/6E,OAAuB,OAAdr0C,QAAc,IAAdA,GAAoB,QAANu0O,EAAdv0O,EAAgBolB,YAAI,IAAAmvN,OAAN,EAAdA,EAAsBroc,IAGnD6uU,EAAWqU,EAAgB,EAmInB1+G,KAAM,CACF,CACIxtO,QAAS,GAAGihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQ3jB,gBACvC9lJ,QAASA,IAAM8lJ,EAAS,QAE5B,CACI99N,QAAS,GAAGihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQ3jB,gBACvC9lJ,QAASA,IAAM8lJ,EAAS,YAKpCp5C,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUkiH,GACV3iH,QAAUrwG,IAAM,IAAAqqP,EAAA,OACZ1O,EAAWxP,aAAgB,OAAHn/C,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,OAAJ,EAAHA,EAASt1P,GAAIiL,EAAO,EAEhD85O,YAAav/H,EACb72B,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIxX,KAAM,SACN5E,MAAQklQ,GAASA,EAAIx9J,IAAMw9J,EAAIx9J,IAAIjvF,IAAM,MAE7C,CACIs/C,MAAO,OACPqzG,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPrqE,MAAQkc,IACJqqN,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDl+H,MAAO,CACHziB,MAAOk9P,GAAYhiP,EAAEu8N,KAAK0lB,OACpB,UACA,WAEVjjP,GAAI,IAAIgB,EAAE/E,KACVgvE,QAASA,IAAMg5X,EAAWjjc,EAAE/E,IAAIvW,UAEhCiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SACKsb,EAAE+hP,SACG/hP,EAAE+hP,SACF7uD,EAAIhzL,EAAE,wBAIpBy2K,EAAAA,GAAAA,KAAA,SACC32K,EAAEu8N,OACEylB,GAAYhiP,EAAEu8N,KAAK0lB,QAChBtrE,EAAAA,GAAAA,KAAA,KAAGpvK,MAAO,CAAEziB,MAAO,WAAYJ,SAC1BwuM,EAAIhzL,EAAE,mBAGX,IAAIF,EAAEu8N,KAAK0lB,SAElBjiP,EAAEujc,MACCl5O,EAAAA,GAAAA,MAAA,QAAA3lO,SAAA,CAAM,IACA,IACDsb,EAAEujc,IACG,GAAGvjc,EAAEujc,OAAOrwQ,EAAIhzL,EACZo7N,GAAaoY,QAAQr6M,SAEzB,MAGbr5B,EAAE00O,QACC/9D,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAAC/+B,GAAI,CACD7mJ,KAAK,QACLukF,MAAO,GAAG49G,EAAIhzL,EACV,aACE6hP,GAAS/hP,EAAE00O,aAK5B10O,EAAEy0O,QACC99D,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAGlkD,MAAO,CAAEziB,MAAO,OAAQJ,SAC/Bsb,EAAEy0O,YAMvB,CACI54L,MAAO,YACPqzG,MAAO,IACPxmK,KAAM,SACN5E,MAAQkc,QACYha,IAAhBga,EAAEg1O,WAA2C,OAAhBh1O,EAAEg1O,WAEvC,CACIn5L,MAAO,YACPqzG,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQj3O,OAClC/T,KAAM,SACN5E,MAAQkc,GAAkB,OAAZA,EAAEvD,OAEpB,CACIo/C,MAAO,cACPqzG,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,WAEV,CACImzD,MAAO,SACPqzG,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ4B,OAClC5sP,KAAM,SAEV,CACImzD,MAAO,OACPqzG,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,QACN5E,MAAQklQ,IAAG,CAAQqM,MAAM,EAAOxf,MAAOmT,EAAI+hE,QAE/C,CACIlvQ,MAAO,QACPqzG,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,aAKlBiuL,EAAAA,GAAAA,KAACu0I,GAAK,CACFjwT,GAAIyvT,EACJ5+J,OAAQ4+J,EACR97J,QAASA,KACLq0S,EAAW,MACXn7U,EAAYnE,kBAAkBu1G,GAAkB,KAIxDviD,EAAAA,GAAAA,KAAC6rF,GAAkB,CACf12G,KAAMo3S,EACNt0S,QAASA,KACLu0S,GAA0B,EAAM,EAEpCt+S,SAAUA,KACN/8B,EAAYnE,kBAAkBu1G,GAAkB,KAIxDviD,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMk5X,GAA0B,OAGnE,G7BoNI,CACIloc,GAAI,UACJhV,KAAM,cACN4S,KAAM,mBACNk4b,WAAW,EACX/rc,UAAWq1Y,IAEf,CACIp/X,GAAI,WACJhV,KAAM,cACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,U8B/iBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,aAAE88B,GAAiBf,MAClBzuG,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCt/D,KAAM,GACNkyQ,IAAK1tO,MAASynB,QAAQ,SAASxyB,OAAO,cACtC/0B,IAAK8/B,MAAS/K,OAAO,iBAElB4zN,EAAU4mH,IAAe30S,EAAAA,EAAAA,UAAS,KAClCgsQ,EAAWohC,IAAgBptS,EAAAA,EAAAA,UAAS,MAE3C,SAAS40S,IAA8C,IAAjCl2V,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IAC5C2gC,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,cAAe,CACzCiL,OAAQ,IACDA,KACAu6G,EAEH8uI,SAEJx7P,QAAUoW,IACNgyV,EAAYhyV,EAAO,GAG/B,CAGA,MAAOolP,EAAO2R,GAAez2C,IAAU,KACnC2xI,GAAc,IAYlB,SAASrsI,EAASpuM,GACd,MAAMj5B,EAAkB,QAAXi5B,EAAmB,kBAAoB,WACpDsuM,EACI,QAAQ/8B,EAAIntG,GAAG9qF,eAAe0mB,IAC9Bj5B,EACA,CAAEqX,KAAM,KAAM0gH,GACd,GAAGyyE,EAAIhzL,EAAE,eAAeugH,EAAQ25I,IAC3BtwQ,MAAM,KACNojE,UACA5jE,KAAK,UAAUm3H,EAAQ7zH,IACvB9C,MAAM,KACNojE,UACA5jE,KAAK,QAAQq4B,IAE1B,CAGA,OAzBA4lC,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,aAAc,GAE5C,KAuBCmqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACfguL,WAAYkmL,IAGpB97F,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,SACN5E,MAAO28H,EAAQvH,OACf1mH,QAAS0gM,EAAIs4B,UAAU+J,gBACvBl+C,WAAW,GAEf,CACIplL,QAASihM,EAAIhzL,EAAE,YACfhY,KAAM,aACNQ,KAAM,cACN5E,MAAO28H,EAAQyzM,WACf12F,OAAQA,IACJ,IAAIhnH,SAAQ,CAACM,EAASL,KAClBy8E,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,gBAAiB,CAC3CiL,OAAQ,CAAEnG,KAAM,EAAGwyJ,KAAM,KACzBx+J,QAAU48M,GACN75F,EAAQ65F,EAASp+C,MACrB3qK,MAAQ+oN,GAAal6F,EAAOk6F,EAAS58K,MACvC,KAGd,CACI9hC,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,SACN5E,MAAO28H,EAAQvkG,OACf1pB,QAAS0gM,EAAIs4B,UAAUgK,eACvBn+C,WAAW,GAEf,CACIplL,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,MACNQ,KAAM,OACN5E,MAAO28H,EAAQ25I,IACfllL,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,EAAW,IACJrpN,EACH,CAACv4H,GAAOpE,EACF4oC,IAAO5oC,GAAO69B,OAAO,cACrB,IACR,GAEV,CACI1vB,QAASihM,EAAIhzL,EAAE,OACfhY,KAAM,MACNQ,KAAM,OACN5E,MAAO28H,EAAQ7zH,IACfsoF,SAAUzhE,IAAA,IAAC,KAAEvrB,EAAI,MAAEpE,GAAO2vB,EAAA,OACtBq2T,EAAW,IACJrpN,EACH,CAACv4H,GAAOpE,EACF4oC,IAAO5oC,GAAO69B,OAAO,cACrB,IACR,GAEV,CACI1vB,QAAS,GAAGihM,EAAIhzL,EAAE,aAClBhY,KAAM,MACNQ,KAAM,OACN5E,MAAO28H,EAAQm0H,MAGvBnV,KAAM,CACF,CACIxtO,QAAS,GAAGihM,EAAIhzL,EAAE,kBAClB+pE,QAASA,IAAM8lJ,EAAS,QAE5B,CACI99N,QAAS,GAAGihM,EAAIhzL,EAAE,kBAClB+pE,QAASA,IAAM8lJ,EAAS,SAGhCywC,UAAU7pF,EAAAA,GAAAA,KAACwrF,GAAiB,IAC5BjtL,SAAUrgE,IAAsB,IAArB,KAAE3sB,EAAI,MAAEpE,GAAO+wB,EACtBi1T,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAUA,IAAMszG,IAChB5pB,cAAetxE,KAGnBvqF,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM4tO,EACNlnB,SAAS,EACT0pC,WAAa/O,GAAQ4rG,EAAa5rG,EAAI/tP,IACtC2uF,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,WACbpc,MAAQklQ,IAAG,IAAAuH,EAAA45D,EAAA,OACP9/F,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,SACN,IAAI48T,GACE,OAAHt4D,QAAG,IAAHA,OAAG,EAAHA,EAAKjT,QACF,OAAH7iD,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,GAAU,QAAV45D,EAAP55D,EAASpG,gBAAQ,IAAAggE,OAAd,EAAHA,EAAmBjiU,KAChB,OAAHgrM,QAAG,IAAHA,OAAG,EAAHA,EAAKh9I,KAAKzpD,KACZs1T,QAEL,YAAa/4D,IACTA,EAAI1R,QAAQr8O,KAAO+tP,EAAIzsB,KAAKthO,IACzB07K,EAAAA,GAAAA,KAACsiK,GAAW,CAAC18G,KAAMysB,EAAIzsB,QAEvB5lD,EAAAA,GAAAA,KAACsiK,GAAW,CAAC18G,KAAMysB,EAAI1R,aAEhC,GAGX,CACIz7L,MAAO,OACPqzG,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPrqE,MAAQklQ,GAAQjH,GAASiH,EAAIzsB,OAEjC,CACI1gL,MAAO,MACPnzD,KAAM,MACNyxQ,UAAU,EACVjrG,MAAOgkC,EAAIhzL,EAAE,SAEjB,CACIxX,KAAM,UACNwmK,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,IAAG,CAAQoR,IAAKpR,EAAIoR,IAAKxtQ,IAAKo8P,EAAIp8P,OAE9C,CACIsiK,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,WACNmzD,MAAO,YAEX,CACIA,MAAO,OACPsS,MAAO,QACPzlE,KAAM,OACNwmK,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,GAAQA,EAAInT,MAAQmT,EAAIwoE,WAEpC,CACI31Q,MAAO,QACPsS,MAAO,QACPzlE,KAAM,QACNwmK,MAAOgkC,EAAIhzL,EAAE,SACbpc,MAAQklQ,IAAG,IAAA8R,EAAAC,EAAA,OACPR,GACIvR,EAAInT,MACU,QADLilB,EACT9R,EAAI6R,kBAAU,IAAAC,OAAA,EAAdA,EAAgB79L,SACF,QADU89L,EACxB/R,EAAI6R,kBAAU,IAAAE,OAAA,EAAdA,EAAgBrqO,OACnB,IAGbqkF,QAASqnP,KAGbzlL,EAAAA,GAAAA,KAACk/K,GAAa,CACVrhC,UAAWhB,EACX9rT,SAAUA,IAAM00V,IAChBxtM,QAASA,IAAMgmM,EAAa,UAI5C,G9BgUI,CACI35V,GAAI,gBACJhV,KAAM,cACN4S,KAAM,sBACNk4b,WAAW,EACX/rc,UhTnjBO,WACXwpO,GAAc,gBACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhBqwQ,EAAeC,IAAoBj8Y,EAAAA,EAAAA,aACnCk8Y,EAAgBC,IAAqBn8Y,EAAAA,EAAAA,UAAS,OAC9Ci5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCt/D,KAAM,GACNoxC,KAAM5M,MAAS4M,OACf4/E,OAAQmyP,MAEL97G,EAAO2R,GAAez2C,IAAU,KAEnCm5O,GAAmB,KAGhBC,EAAcC,IAAmBt8Y,EAAAA,EAAAA,UAAS,CAC7C0xD,OAAQmyP,KAGZ,SAASu4F,IAAmD,IAAjC19b,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACjD,MAAMwxS,EAAe,CACjB77c,KAAMu4H,EAAQv4H,KACdoxC,KAAMmnF,EAAQnnF,OAGF,OAAZuqa,QAAY,IAAZA,OAAY,EAAZA,EAAc3qV,UAAWmyP,GACzB04F,EAAa3lH,QAAS,EAEtB2lH,EAAa7qV,OACT2qV,EAAa3qV,SAAWmyP,GAClB,GACAw4F,EAAa3qV,OAG3Bg6E,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,sBAAuB,CACjDiL,OAAQ,IACDA,KACA69b,EACHx0M,SAEJx7P,QAAU48M,IACFA,EAASp+C,MACTkxS,EAAiB9yP,EACrB,GAGZ,CAMA,OACI0Z,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACfguL,WAAY0tR,IAGpBtjM,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQx6H,QACpChxH,KAAM,SACNQ,KAAM,SACN5E,MAAO+/c,EAAa3qV,OACpB1mH,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQ9gK,KACpC9uF,MAAOunX,IAEX,CACIp5W,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQhsP,QACpC5D,MAAOunX,IAEX,CACIp5W,QAASihM,EAAIhzL,EACTo7N,GAAaoY,QAAQ1vH,UAEzBlgI,MAAOunX,IAEX,CACIp5W,QAASihM,EAAIhzL,EACTo7N,GAAaoY,QAAQ/4O,SAEzB7W,MAAOunX,MAInB,CACIp5W,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQp6M,MACpCpxC,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQnnF,KACfD,MAAO,CACH1K,KAAM,EACNhiC,MAAO+/B,MAAS4M,OAChB5K,OAAQ,KAIpBwmD,SAAUplF,IAAsB,IAArB,KAAE5H,EAAI,MAAEpE,GAAOgM,EACtBg0c,EAAgB,IAAKD,EAAc,CAAC37c,GAAOpE,IAC3CgmV,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAU86M,EACVpxH,cAAetxE,KAEnBvqF,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM67b,EACNzuV,QAAS6uV,EACT7rM,WAAa/O,GAAQ26M,EAAkB36M,EAAI/tP,IAC3C2uF,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQxrP,MAClCQ,KAAM,OACNylE,MAAO,OACPtS,MAAO,QAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ4D,SAClC5uP,KAAM,OACN5E,MAAQklQ,GAAQjH,GAAY,OAAHiH,QAAG,IAAHA,OAAG,EAAHA,EAAK1R,UAElC,CACIpoF,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ1gM,QAClCtqD,KAAM,SACN5E,MAAQklQ,IAAG,CAAQoR,IAAKpR,EAAIoR,IAAKxtQ,IAAKo8P,EAAIp8P,OAE9C,CACIsiK,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQlwK,SAClC96E,KAAM,UACNmzD,MAAO,aAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ6D,YAClC7uP,KAAM,OACN5E,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACk3L,GAAkB,CACft2H,WAAYyR,EAAIzR,kBAMpC5gE,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAtG1B,WACI05X,EAAkB,SACtB,OAuGSD,IACG/sR,EAAAA,GAAAA,KAACyzL,GAAY,CACTC,eAAgBq5F,EAChBn0M,MAAOA,EACP3gG,QAASA,KACL+0S,EAAkB,MAClBC,GAAmB,MAM3C,GgT+YI,CACI3oc,GAAI,eACJhV,KAAM,cACN4S,KAAM,0BACNk4b,WAAW,EACX/rc,UAAWolX,IAEf,CACInvW,GAAI,WACJhV,KAAM,cACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,UvS1eO,WAAqB,IAAD+mW,EAAAi4G,EAAAzzM,EAAAk+B,EAC/BjgE,GAAc,eAEd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,aAAE88B,GAAiBf,MAElB+qB,EAAUy6E,IAAeltQ,EAAAA,EAAAA,UAAS,OAClCkoS,EAAWC,IAAgBnoS,EAAAA,EAAAA,UAAS,OACpCy8Y,EAAQC,IAAa18Y,EAAAA,EAAAA,UAAS,iBAC9B0sM,EAAQiwM,IAAa38Y,EAAAA,EAAAA,UAAS,KAC9BqtQ,EAAiBC,IAAsBttQ,EAAAA,EAAAA,WAAS,IAChDi5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAASyoT,GAAqBK,eACrD5tH,EAAa0hN,IAAkB58Y,EAAAA,EAAAA,WAAS,IACxC68Y,EAAeC,IAAoB98Y,EAAAA,EAAAA,WAAS,IAC5C2rQ,EAAeoxI,IAAoB/8Y,EAAAA,EAAAA,UAAS,OAE5C+nM,EAAO2R,GAAez2C,IAAU,KAEnCwqG,GAAc,IAYlB,SAASA,IAAgE,IAAnDrlT,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IAAMk+M,EAAWpoX,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAGo4H,EAC3D2jV,GAAe,GACf,MAAMl+b,EAASsqW,GAAeC,GAG9Bv9K,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,cAAe,CACzCiL,OAAQ,IACDA,EACH4hW,WAAW,EACXv4G,QACAxvP,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,MAEZx+J,QAAUiM,IACN00T,EAAY10T,GACZokc,GAAe,EAAM,GAGjC,EAGA78Y,EAAAA,EAAAA,YAAU,KACN,MAAMi9Y,EAAav0F,GAAqBg0F,GACxCn6H,EAAW06H,GACXvvI,OAAajvU,EAAWw+c,EAAW,GAEpC,CAACP,KAWJ18Y,EAAAA,EAAAA,YAAU,KALN2rI,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,YAAa,CACvClH,QAAU48M,GAAawzP,EAAkB,OAARxzP,QAAQ,IAARA,OAAQ,EAARA,EAAUp+C,OAKnC,GAEb,IAEH,MAAMkyS,GAA4Bx7U,EAAAA,GAAAA,cAC7BqmG,GACGp8B,EAAIo4B,IAAI,OAAQ,gBAAiB,CAAEplN,OAAQopN,KAC/C,CACIh2G,UAAWA,KACP45E,EAAIq4B,YAAY,IAAK,mCAAmC,EAE5DlxI,QAASA,KACL64G,EAAIq4B,YAAY,IAAK,2CAAwC,IAKzE,SAASwE,EAASpuM,GACd,MAAMzb,EAASsqW,GAAe/vP,GAC9B,IAAI/3H,EAAO,GACPg8c,EAAc,GAElB,OAAQ/ib,GACJ,IAAK,MACDj5B,EAAO,kBACP,MACJ,IAAK,MACDA,EAAO,WACP,MACJ,IAAK,MACDA,EAAO,WAOXg8c,EADW,QAAX/ib,EACc,QAAQuxK,EAAIntG,GAAG9qF,2BAEf,QAAQi4L,EAAIntG,GAAG9qF,eAAe0mB,IAGhDsuM,EACIy0O,EACAh8c,EACAwd,EACA,GAAGgtL,EAAIhzL,EAAE,eAAeyhB,IAEhC,CAEA,SAASwpT,EAAcnxF,GACfA,GACA06E,EAAY,IACLz6E,EACH1nF,KAAM0nF,EAAS1nF,KAAKtpK,KAAK2mB,GACrBA,EAAE3U,KAAO++O,EAAQ/+O,GAAK++O,EAAUpqO,KAIhD,CAWA,MAAO,CAAE4tN,GAAUrP,GAAU,EACA,OAAzBs2O,QAAyB,IAAzBA,OAAyB,EAAzBA,EAA2B97U,YAAa,YAE5C,OACI0hG,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACDnT,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACH4iU,cAAetxE,EACfrrP,OAAQ,CACJ,CACI5pB,GAAI,EACJD,GAAI,EACJiG,QAASihM,EAAIhzL,EAAE,WACfxX,KAAM,OACNR,KAAM,UACNpE,MAAO28H,EAAQ6yG,QACfp9C,WAAY++I,IAGpB30D,YAAa,CAET,CACIr0Q,GAAI,EACJD,GAAI,EACJiG,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,WACNQ,KAAM,OACN5E,MAAO28H,EAAQozO,UAGnB,CACI5nW,GAAI,EACJD,GAAI,EACJiG,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,qBACN5E,MAAO28H,EAAQvH,OACfgmJ,WAAY,QACZC,WAAY,KACZ3sQ,QAAS0gM,EAAIs4B,UAAU+J,iBAG3B,CACIxpO,GAAI,GACJC,GAAI,GACJC,GAAI,EACJgG,QAASihM,EAAIhzL,EAAE,aACfxX,KAAM,SACN20H,QAASoD,EAAQ0vP,iBACjB/xG,QAAS,SACTE,OAAQ79I,EAAQs5O,OAChB17F,QAAS,SACTE,OAAQ99I,EAAQu5O,OAChB1sG,SAAWxpQ,GACPgmV,EAAW,IACJrpN,EACH0vP,iBAAkBrsX,KAI9B,CACIiI,GAAI,GACJC,GAAI,GACJC,GAAI,EACJgG,QAASihM,EAAIhzL,EAAE,iBACfxX,KAAM,SACN20H,QAASoD,EAAQ2vP,qBACjBhyG,QAAS,UACTE,OAAQ79I,EAAQw5O,QAChB57F,QAAS,UACTE,OAAQ99I,EAAQy5O,QAChB5sG,SAAWxpQ,GACPgmV,EAAW,IACJrpN,EACH2vP,qBAAsBtsX,KAIlC,CACImO,QAASihM,EAAIhzL,EAAE,eACfhY,KAAM,eACNQ,KAAM,cACN5E,MAAO28H,EAAQ60G,aACftpO,GAAI,GACJC,GAAI,GACJuG,QACI0gM,EAAIs4B,WACJt4B,EAAIs4B,UAAU8J,cACdpiC,EAAIs4B,UAAU8J,aAAarsO,KAAKkrG,IAAE,CAC9B7e,MAAO6e,EAAG7e,MACVxxF,MAAiB,KAAVqwG,EAAGl5F,GAAY,UAAYk5F,EAAGl5F,QAIjD,CACIhJ,QAASihM,EAAIhzL,EAAE,WACfhY,KAAM,YACNQ,KAAM,qBACN5E,MAAO28H,EAAQkkV,UACfnyc,QAAS0hQ,GAGb,CACIjiQ,QAASihM,EAAIhzL,EAAE,aACfhY,KAAM,cACNQ,KAAM,qBACN5E,MAAO28H,EAAQmkV,YACfpyc,QAAS0hQ,GAGb,CACIjiQ,QAASihM,EAAIhzL,EAAE,iBACfhY,KAAM,cACNQ,KAAM,QACNi4F,UAAW8/B,EAAQq5O,YACnB5kR,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,EAAW,IAAKrpN,EAAS,CAACv4H,IAAQpE,GAAQ,GAGlD,CACImO,QAASihM,EAAIhzL,EAAE,aACfhY,KAAM,gBACNQ,KAAM,QACNi4F,UAAW8/B,EAAQ4vP,cACnBn7R,SAAUzhE,IAAA,IAAC,KAAEvrB,EAAI,MAAEpE,GAAO2vB,EAAA,OACtBq2T,EAAW,IACJrpN,EACH,CAACv4H,GACY,kBAATA,IACQpE,EACFA,GACZ,GAGV,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,UACNQ,KAAM,cACN5E,MAAO28H,EAAQiR,QACf1lI,GAAI,EACJC,GAAI,EACJuG,QAAsB,QAAfu5V,EAAE74J,EAAIs4B,iBAAS,IAAAugI,GAAS,QAATi4G,EAAbj4G,EAAer6N,eAAO,IAAAsyU,OAAT,EAAbA,EAAwB/6c,KAAK+wB,GAGrB,UAATA,EAAE/e,GACK,CACHq6E,MAAOt7D,EAAEs7D,MACTxxF,MAAO,cAIR,CACHwxF,MAAOt7D,EAAEs7D,MACTxxF,MAAOk2B,EAAE/e,QAKzBwkO,KAAM,CACF,CACIxtO,QAAS,GAAGihM,EAAIhzL,EAAE,kBAClB+pE,QAASA,IAAM8lJ,EAAS,QAE5B,CACI99N,QAAS,GAAGihM,EAAIhzL,EAAE,kBAClB+pE,QAASA,IAAM8lJ,EAAS,QAE5B,CACI99N,QAAS,aACTg4E,QAASA,IAAMq6X,GAAiB,KAEnB,QAAb,OAAHpxQ,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,OAAJ,EAAHA,EAASt1P,KAA+B,QAAb,OAAHi4L,QAAG,IAAHA,GAAO,QAAJu7F,EAAHv7F,EAAKntG,UAAE,IAAA0oM,OAAJ,EAAHA,EAASxzR,MAAgB,CAC9ChJ,QAAS,GAAGihM,EAAIhzL,EAAE,mBAClB+pE,QAASA,KACLw6X,EAA0Bp8U,OAAO,CAC7B0xO,OAAe,OAAPt5O,QAAO,IAAPA,OAAO,EAAPA,EAASs5O,OACjBC,OAAe,OAAPv5O,QAAO,IAAPA,OAAO,EAAPA,EAASu5O,OACjB1kI,aAAqB,OAAP70G,QAAO,IAAPA,OAAO,EAAPA,EAAS60G,aACvBs/B,cAAsB,OAAPn0I,QAAO,IAAPA,OAAO,EAAPA,EAASvH,QAC1B,MAGNq3P,GAAsB7qT,SACtBknK,aAAaC,QAAQ,SAEnB,CACI,CACI56N,QAAS,GAAGihM,EAAIhzL,EAAE,kBAClB+pE,QAASA,IAAM8lJ,EAAS,SAGhC,CAAC,CAAC,GACR78B,EAAIntG,IACc,OAAdmtG,EAAIntG,GAAG9qF,IAAe,CAClBhJ,QAASihM,EAAIhzL,EAAE,kBACf+pE,QAASA,IAAMq6X,GAAiB,KAG5C9jM,UAAU7pF,EAAAA,GAAAA,KAACwrF,GAAiB,IAC5BjtL,SAAUrgE,IAAsB,IAArB,KAAE3sB,EAAI,MAAEpE,GAAO+wB,EACtBi1T,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAUmsE,EACVvyE,YAAaA,EACb6d,WAAY,CACR73Q,KAAM,SACN8J,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,UAEX,CACImO,QAASihM,EAAIhzL,EACT,wCAEJpc,MAAO,gBAEX,CACImO,QAASihM,EAAIhzL,EACT,kCAEJpc,MAAO,UAGf0K,SAAUy1c,EACV/uX,SAAWpxF,GAAUogd,EAAUpgd,OAIvC6yL,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAMsyO,EACN5rB,QAASq0B,EACTkjE,QAAS,GACTh8N,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,WACbiuD,MAAO,SACPrqE,MAAQklQ,IAAG,IAAA68D,EAAAC,EAAAC,EAAA,OACP17F,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACsiK,GAAW,CAAC18G,KAAMysB,EAAI1R,WACvB3gE,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,SACN,IAAI48T,GACDt4D,EAAIjT,QACD,OAAH7iD,QAAG,IAAHA,GAAO,QAAJ2yH,EAAH3yH,EAAKntG,UAAE,IAAA8/N,GAAU,QAAVC,EAAPD,EAAS17D,gBAAQ,IAAA27D,OAAd,EAAHA,EAAmB59T,KAChB,OAAHgrM,QAAG,IAAHA,GAAS,QAAN6yH,EAAH7yH,EAAKh9I,YAAI,IAAA6vQ,OAAN,EAAHA,EAAWt5T,KACbs1T,UAEP,GAGX,CACIlmQ,MAAO,SACPqzG,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,UAEV,CACIwmK,MAAO,GAAGgkC,EAAIhzL,EAAE,aAAagzL,EAAIhzL,EAAE,WACnC5Z,MAAO,IACP6nE,MAAO,OACPrqE,MAAQklQ,IAAS,IAADoiF,EACZ,OAAa,QAATA,EAACpiF,EAAIzsB,YAAI,IAAA6uG,GAARA,EAAUv5G,OAKXl7C,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,IACLs6X,EAAiBv7M,EAAIzsB,KAAK1K,OAC7BntO,SAEAq9P,GAASiH,EAAIzsB,QATX,IAUA,GAInB,CACIrtE,MAAOgkC,EAAIhzL,EAAE,WACbiuD,MAAO,OACPrqE,MAAQklQ,IACJ3+B,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAClxC,GAAI,CAACx7D,QAASA,IAAM0lR,EAAa3mG,EAAI/tP,IAAIvW,SACrCskQ,EAAI11B,UAGR01B,EAAItkQ,WACDiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAAC/+B,GAAI,CACD7mJ,KAAK,QACL+mJ,QACI6+B,EAAAA,GAAAA,KAACroC,GAAM,CAAA5pJ,SACFskQ,EAAItkQ,SAASua,QAGtBq2E,MAAO49G,EAAIhzL,EAAE,gBAKxB8oP,EAAIzgP,SACDouK,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,UACPiyL,EAAAA,GAAAA,KAAC/+B,GAAI,CACD7mJ,KAAK,QACLukF,MAAO49G,EAAIhzL,EAAE,cAKxB8oP,EAAIrV,YACDh9D,EAAAA,GAAAA,KAACyxJ,GAAe,CACZz0F,UAAWqV,EAAIrV,gBAMnC,CACIzkF,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,cACN5E,MAAQklQ,IAAG,CAAQoR,IAAKpR,EAAIoR,IAAKxtQ,IAAKo8P,EAAIp8P,OAE9C,CACIsiK,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACN5E,MAAQklQ,GACJA,EAAI8nG,cACAzmI,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAACsiK,GAAW,CAAC18G,KAAMysB,EAAIpT,aACvBj/D,EAAAA,GAAAA,KAACa,GAAG,CAAC/rH,GAAI,EAAE/mE,SACNgoC,IAAOs8N,EAAI8nG,aAAanvU,OACrB,oBAMxB,CACIutI,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,KACNmzD,MAAO,eAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACbiuD,MAAO,QACPzlE,KAAM,QACNmzD,MAAO,QACP/3D,MAAQklQ,IAAG,CACPqM,KAAqB,SAAfrM,EAAI9vI,OACV28H,MAAOmT,EAAInT,MACXglB,WAAY7R,EAAI6R,eAI5B5C,OACIhe,GAAYA,EAAS6tH,UACf,CACI,CACI3+W,MAAO,EACPrF,MAAOm2P,EACDA,EAAS6tH,UAAUroT,MACnB,KACNu9M,UAAW9pE,EAAIntG,GAAGouJ,KAAKwF,QAClB2zG,eACC,IAAIp6J,EAAIntG,GAAGouJ,KAAKwF,QAAQ2zG,iBACxB,YAGd,KAGVv4O,QAASkgN,IAGZy6B,IACG/4K,EAAAA,GAAAA,KAACq0J,GAAY,CACTxB,UAAWkmB,EACX9gM,QAASA,IAAM+gM,EAAa,MAC5B1kB,MAAOE,EACPmC,YAAanC,EACboC,SAAUtY,EACVoY,UAlZpB,SAAuBrzF,GACfA,GACA06E,EAAY,IACLz6E,EACHh7O,MAAOg7O,EAASh7O,MAAQ,EACxBszJ,KAAM0nF,EAAS1nF,KAAKviJ,QAAQJ,GAAMA,EAAE3U,KAAO++O,EAAQ/+O,MAG/D,EA2YoBqwP,OAAQ6/E,KAIhBx0J,EAAAA,GAAAA,KAACi7I,GAAqB,CAClB9lK,KAAM+oK,EACNhD,iBAAkBA,KACdiD,GAAmB,GACnBG,GAAc,EAElBrmK,QAASA,IAAMkmK,GAAmB,MAGtCn+I,EAAAA,GAAAA,KAACm4L,GAAiB,CACdhjN,KAAMu4S,EACNz1S,QAASA,IAAM01S,GAAiB,GAChC7jV,QAAS+vP,GAAe/vP,MAG5Bk2D,EAAAA,GAAAA,KAACu0I,GAAK,CACFjwT,GAAiB,OAAbk4T,QAAa,IAAbA,OAAa,EAAbA,EAAel4T,GACnB6wJ,KAAwB,OAAlBqnK,EACNvkK,QAASA,IAAM21S,EAAiB,SAGpC5tR,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAM6qP,GAAmB,UAIhE,GuSrEI,CACI75T,GAAI,aACJhV,KAAM,cACN4S,KAAM,kBACNk4b,WAAW,EACX/rc,U+BhlBO,WACXwpO,GAAc,cACd,MAAM1mG,GAAcD,EAAAA,GAAAA,mBAEb04N,EAAQC,IAAah5R,EAAAA,EAAAA,aACrBk0L,EAAU6lG,IAAe/5R,EAAAA,EAAAA,UAAS,CACrCvsD,GAAI,KACJs0P,OAAO,IAEL1N,EAAa9Q,MACZtwH,EAASqpN,GAAcl7G,GAC1B,CACI1mO,KAAM,GACNoxC,KAAM5M,MAAS/K,OAAO,QACtBj5B,KAAM,GACNo6V,QAAS,GACT5pO,OAAQ,GACRunO,KAAM,GACNlxF,OAAO,GAEXj2B,KAEG++B,EAAYD,IAAiB5wM,EAAAA,EAAAA,UAAS,KACtCq9Y,EAAuBC,IAA4Bt9Y,EAAAA,EAAAA,UAAS,KAC5D,CAAC,CAAF,CAAO0jK,EAAI,CAAD,GAASH,KAEnB73B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IAiBvB,OANA5rI,EAAAA,EAAAA,YAAU,KATiBs5R,MAAO,IAADtwF,EACnB,QAAVA,EAAIr9D,EAAIntG,UAAE,IAAAwqK,GAANA,EAAQt1P,IACRiwN,EAAI,QAAQh4B,EAAIntG,GAAG9qF,WAAWkpG,MAAMwsG,GAChC6vI,EAAkB,OAAR7vI,QAAQ,IAARA,OAAQ,EAARA,EAAUp+C,OAE5B,EAKAsuL,EAAoB,GAErB,IAGEN,GAKDl2H,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,OAGvBo4Q,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,aACNQ,KAAM,OACN5E,MAAO28H,EAAQ63N,YAEnB,CACIrmV,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNR,KAAM,OACNmxC,MAAO,CACH3K,OAAQ,GAEZ5qC,MAAO28H,EAAQnnF,KACT5M,IAAO+zF,EAAQnnF,MAAM3X,OAAO,QAC5B,IAEV,CACI1vB,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,SACNR,KAAM,OACNpE,MAAO28H,EAAQ/3H,KACf8J,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,aACfpc,MAAO,UAEX,CACImO,QAASihM,EAAIhzL,EAAE,eACfpc,MAAO,cAInB,CACImO,QAASihM,EAAIhzL,EAAE,SACfxX,KAAM,QACNR,KAAM,UACNpE,MAAO28H,EAAQqiO,SAEnB,CACI7wV,QAASihM,EAAIhzL,EAAE,UACfxX,KAAM,SACNR,KAAM,SACNpE,MAAO28H,EAAQvH,OACf1mH,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,WACfpc,MAAO,QAEX,CACImO,QAASihM,EAAIhzL,EAAE,YACfpc,MAAO,WAInB,CACImO,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,cACN5E,MAAO28H,EAAQggO,KACf10V,GAAI,GACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJsG,QAAS+tV,EAAOt3V,KAAK42F,IAAG,CACpBvK,MAAOuK,EAAI33F,KACXpE,MAAO+7F,EAAI5kF,SAIvB6tP,SAAWhlQ,IACP,IAAIw1C,EAAO,KACF,OAALx1C,QAAK,IAALA,GAAAA,EAAOw1C,OACPA,EAAOx1C,EAAMw1C,KAAKh5B,YAEtBwpU,EAAW,IAAKhmV,EAAOw1C,QAAO,EAElCqnO,aAAW,KAGfhqF,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUsiH,GACV/iH,QAAUrwG,IAAM,IAAAuoR,EAAA,OACZ5sC,EAAWpP,cAAiB,OAAHv/C,QAAG,IAAHA,GAAO,QAAJu7F,EAAHv7F,EAAKntG,UAAE,IAAA0oM,OAAJ,EAAHA,EAASxzR,GAAIiL,EAAO,EAEjD85O,YAAav/H,EACbq3I,aAAa,EACbM,cAAeA,EACfL,WAAa/O,IACTu4F,EAAY,CAAEtmV,GAAI+tP,EAAI/tP,GAAIs0P,MAAOvG,EAAIuG,OAAQ,EAEjD3lK,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACP7nE,MAAO,IACPxC,MAAQklQ,IACJ3+B,EAAAA,GAAAA,MAAA,OAAA3lO,SAAA,CACoB,UAAfskQ,EAAI9vI,QACDy9D,EAAAA,GAAAA,KAAClxC,GAAI,CAACl+H,MAAO,CAAEziB,MAAO,OAAQJ,SACzBskQ,EAAIzsB,KACCwlB,GAASiH,EAAIzsB,MACbysB,EAAI9gQ,QAGdyuL,EAAAA,GAAAA,KAAClxC,GAAI,CAAA/gJ,SACAskQ,EAAIzsB,KACCwlB,GAASiH,EAAIzsB,MACbysB,EAAI9gQ,QAGlBmiO,EAAAA,GAAAA,MAAA,OAAA3lO,SAAA,EACIiyL,EAAAA,GAAAA,KAAA,QAAAjyL,SAAOskQ,EAAIq1M,WACVr1M,EAAI+7M,WAAa,IACdpuR,EAAAA,GAAAA,KAAA,QAAAjyL,SAAO,MAAMskQ,EAAI+7M,cAAc7xQ,EAAIhzL,EAC/B,sBAOxB,CACIxX,KAAM,QACNwmK,MAAOgkC,EAAIhzL,EAAE,SACbpc,MAAQklQ,IAAG,IAAAg8M,EAAA,OAAc,QAAdA,EAAKh8M,EAAIiN,aAAK,IAAA+uM,OAAA,EAATA,EAAW98c,IAAI,GAEnC,CACIgnK,MAAOgkC,EAAIhzL,EAAE,WACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACsiK,GAAW,CACR18G,KACIysB,EAAI4M,QACE,CAAE3T,MAAO+G,EAAI4M,QAAQ1tQ,WACrBlC,KAKtB,CACI0C,KAAM,SACNwmK,MAAOgkC,EAAIhzL,EAAE,eACbpc,MAAQklQ,IAAG,CACPoR,IAAKpR,EAAIm5F,QACTv1V,IAAKo8P,EAAIo5F,WAGjB,CACI15V,KAAM,SACNwmK,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,IAAG,CAAQoR,IAAKpR,EAAIoR,IAAKxtQ,IAAKo8P,EAAIp8P,OAE9C,CACIlE,KAAM,UACNwmK,MAAOgkC,EAAIhzL,EAAE,YACbpc,MAAQklQ,GACJ,GAAGA,EAAIspF,iBAAiBtpF,EAAI8oF,aAAe,YAEnD,CACIppV,KAAM,QACNwmK,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,SAEX,CACInzD,KAAM,OACNwmK,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,IAAG,CAAQnT,MAAU,OAAHmT,QAAG,IAAHA,OAAG,EAAHA,EAAK+hE,SAGvC5yD,UAAW,CACP12F,QAAS,CACL,CACIxvK,QAAS,kBACTg4E,QAASA,KACL66X,EACIzsM,EAAWpvQ,KACNg8c,GACmB,OAAhBA,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBhqc,KAE7B,QAMrB07K,EAAAA,GAAAA,KAAC6tK,GAAQ,CACLvpV,GAAIygP,EAASzgP,GACbs0P,MAAO7T,EAAS6T,MAEhBr6K,SAAW6tQ,IACHA,GACAxB,EAAYwB,GAEhBj7N,EAAYnE,kBAAkB21G,GAAuB,EAEzD1qE,QAASA,KACL2yL,EAAY,CAAEtmV,GAAI,KAAMs0P,OAAO,GAAQ,KAG/C54E,EAAAA,GAAAA,KAAC4rL,GAAY,CACTt4R,QAASA,IAAMs3Q,EAAY,CAAEtmV,GAAI,SAAUs0P,OAAO,OAGhC,OAArBs1M,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBv8c,QAAS,IAC7BquL,EAAAA,GAAAA,KAACw6L,GAA8B,CAC3BrlN,MAAI,EACJgsF,WAAY+sN,EACZj2S,QAASA,IAAMk2S,EAAyB,IACxC1zF,YAAaA,KACT0zF,EAAyB,GAAG,OA7OrC,IAmPf,G/BmTI,CACI7pc,GAAI,SACJhV,KAAM,cACN4S,KAAM,cACNk4b,WAAW,EACX/rc,UgC7kBO,WACXwpO,GAAc,qBACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhBpwI,EAAQs3T,EAAU,CAAGnvJ,GAAOH,GAAQ,KACpCrpK,EAAOovT,IAAYtpT,EAAAA,EAAAA,UAAS,CAAEvsD,GAAI,KAAMs0P,OAAO,KAC/C9uI,EAAS+nI,GAAa79B,GAAU,CACnCziO,KAAM,GACNoxC,KAAM5M,MAASl3B,IAAI,QACnB4oV,QAAQ,EACRvpV,MAAO,4BAGJwnL,EAAQ+7J,IAAa5wR,EAAAA,EAAAA,WAAS,IAE9B+nM,EAAO2R,GAAez2C,IAAU,KAEnC22I,GAAY,IAMhB,SAASA,IAA4C,IAAjCl7V,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,GAAIxyJ,KAAM,GAC3C,MAAM,OAAEq+U,KAAWgB,GAAgB3+N,EAC7B09N,EAAkBC,EAAS39N,EAAU2+N,EAE3Cl0H,EAAI,QAAQh4B,EAAIntG,GAAG9qF,YAAa,IACzBiL,KACAi4U,EACH5uF,QAASA,EACTq6G,iBAAiB,IAClBzlQ,MAAMwsG,IACDA,EAASp+C,MACT8nN,EAAU1pK,EACd,GAER,CAEA,OACI0Z,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNpE,MAAO28H,EAAQv4H,KACfguL,WAAYA,IAAMkrL,MAG1B9gG,YAAa,CACT,CACI53Q,KAAM,OACNR,KAAM,OACN+J,QAASihM,EAAIhzL,EAAE,QACfpc,MAAO28H,EAAQnnF,KACfmmO,UAAW/yO,MAAS4M,OACpBD,MAAO,CACH1K,KAAM,EACND,OAAQ,IAGhB,CACIhmC,KAAM,SACNR,KAAM,SACN+J,QAASihM,EAAIhzL,EAAE,WACfygF,QAAS8/B,EAAQ29N,QAErB,CACInsV,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,QACNQ,KAAM,cACN5E,MAAO28H,EAAQ5rH,MACf9I,GAAI,GACJC,GAAI,EACJwG,QAAS,CACL,CAAE8iF,MAAO49G,EAAIhzL,EAAE,aAAcpc,MAAO,UACpC,CAAEwxF,MAAO49G,EAAIhzL,EAAE,YAAapc,MAAO,SACnC,CAAEwxF,MAAO49G,EAAIhzL,EAAE,eAAgBpc,MAAO,YACtC,CAAEwxF,MAAO49G,EAAIhzL,EAAE,aAAcpc,MAAO,aAIhD08Q,UAAU7pF,EAAAA,GAAAA,KAACwrF,GAAiB,IAC5BjtL,SAAUszK,EACVM,SAAUA,IAAMs4G,IAEhB5uB,cAAetxE,KAInBvqF,EAAAA,GAAAA,KAACoyE,GAAQ,CACLiP,iBAAe,EACfrwP,KAAMo7C,EACNsrK,SAAS,EACTzkI,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNmzD,MAAO,OACPsS,MAAO,OACP7nE,MAAO,IACP0Y,GAAI,GACJirE,QAAU++K,GACN8nH,EAAS,CAAE71W,GAAI+tP,EAAI/tP,GAAIs0P,MAAOvG,EAAIuG,SAE1C,CACIrgG,MAAOgkC,EAAIhzL,EAAE,QACb5Z,MAAO,IACPxC,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAACuuR,GAAY,CAACx8c,KAAMsgQ,EAAItgQ,QAE5C,CACIwmK,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,UACP/3D,MAAQkc,IAAC,IAAAuwP,EAAA45D,EAAA,OACL,IAAI7I,GACC,OAADthT,QAAC,IAADA,OAAC,EAADA,EAAG+1O,QACA,OAAH7iD,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,GAAU,QAAV45D,EAAP55D,EAASpG,gBAAQ,IAAAggE,OAAd,EAAHA,EAAmBjiU,KAChB,OAAHgrM,QAAG,IAAHA,OAAG,EAAHA,EAAKh9I,KAAKzpD,KACZs1T,KAAK,GAEf,CACI7yJ,MAAOgkC,EAAIhzL,EAAE,OACbxX,KAAM,aACN5E,MAAQklQ,IAAG,CACPxL,WAAYwL,EAAI+yE,gBAChBxlF,IAAKyS,EAAI9R,SACT/7E,SAAU6tF,EAAIkzE,eAGtB,CACIhtK,MAAO,GACPprK,MAAQklQ,GACJA,EAAIrV,YACAh9D,EAAAA,GAAAA,KAACyxJ,GAAe,CAACz0F,UAAWqV,EAAIrV,aAG5C,CACIzkF,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,SACN5E,MAAQklQ,IAAG,CAAQoR,IAAKpR,EAAIoR,IAAKxtQ,IAAKo8P,EAAIp8P,OAE9C,CACIsiK,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,SACNmzD,MAAO,kBAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,kBAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,OACb27C,MAAO,aACPnzD,KAAM,YAGdqsH,QAASqsP,IAEZ1/S,EAAMzmD,KACH07K,EAAAA,GAAAA,KAACw5J,GAAK,CACFl1U,GAAIymD,EAAMzmD,GACVs0P,MAAO7tM,EAAM6tM,MACbr6K,SAAUA,IAAMksR,IAChBxyM,QAASA,IAAMkiN,EAAS,CAAE71W,GAAI,KAAMs0P,OAAO,OAGnD54E,EAAAA,GAAAA,KAACg6L,GAAiB,CACd7kN,KAAMuwB,EACNivE,OAAQA,IAAM81G,IACdxyM,QAASA,IAAMwpL,GAAU,MAE7BzhK,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMmuQ,GAAU,OAGnD,GhCkZI,CACIn9U,GAAI,QACJhV,KAAM,cACN4S,KAAM,kBACNk4b,WAAW,EACX/rc,UAAWmrV,IAEf,CACIl1U,GAAI,QACJhV,KAAM,cACN4S,KAAM,aACNk4b,WAAW,EACX/rc,UiC1mBO,WACXwpO,GAAc8M,GAAaoY,QAAQ+D,OAEnC,MAAMvkD,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhBskD,EAAO0+I,IAAY3uU,EAAAA,EAAAA,UAAS,KAC5Bi5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CAAEt/D,KAAM,GAAIqnQ,MAAO,KACnDxvP,EAAMg5P,IAAWvxM,EAAAA,EAAAA,UAAS,IAE1B+nM,EAAO2R,GAAez2C,IAAU,KAEnCi6H,GAAW,KAGRygH,EAAYC,IAAiB59Y,EAAAA,EAAAA,UAAS,CACzCvsD,GAAI,KACJs0P,MAAO,OAGX,SAASm1F,IAA2C,IAAjCx+U,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACzC2gC,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,WAAY,CACtCiL,OAAQ,IACDA,EACHhe,KAAMu4H,EAAQv4H,KACdqnQ,SAEJx7P,QAAU48M,IACNwlL,EAASxlL,EAAS,GAG9B,CAEA,OACI0Z,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACf+J,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQxrP,MACpCimE,MAAO,OACP+nH,WAAYwuK,IAGpBxvQ,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,GAAYl9L,IAAI,IAAWA,EAAM,CAAC1kJ,GAAOpE,KAAS,EAEtDglQ,SAAU47F,EACVlS,cAAetxE,KAEnBvqF,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM8vO,EACNppB,SAAS,EACTyqH,mBAAqBh1V,IACjBi1Q,EAAQj1Q,EAAM,EAElBi0Q,WAAa/O,GACTo8M,EAAc,CAAEnqc,GAAI+tP,EAAI/tP,GAAIs0P,MAAOvG,EAAIuG,QAE3C3lK,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACI27C,MAAO,OACPqzG,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQxrP,MAClCimE,MAAO,QAEX,CACItS,MAAO,aACPv1D,MAAO,GACP4oK,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQyC,YAClCztP,KAAM,SACN5E,MAAQklQ,IAA2B,IAAnBA,EAAI7S,YAExB,CACIztP,KAAM,QACNwmK,MAAO,GAAGgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQmC,SACrC1nL,MAAO,SACPrqE,MAAQklQ,IAAG,IAAAuH,EAAA85E,EAAAC,EAAA,OACP/vE,GACIvR,EAAIugH,OAAO,GAAG1zH,MACR,QADa0a,EACnBr9D,EAAIntG,UAAE,IAAAwqK,GAAM,QAAN85E,EAAN95E,EAAQpc,YAAI,IAAAk2F,GAAS,QAATC,EAAZD,EAAc1wF,eAAO,IAAA2wF,OAAf,EAANA,EAAuBrtQ,SAC1B,GAET,CACIv0E,KAAM,SACNwmK,MAAO,GAAGgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ1sP,YACrClD,MAAQklQ,GAAQ,GAAGA,EAAIugH,OAAO,GAAGviX,aAErC,CACIkoK,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ3wL,QAClCj/D,MAAQklQ,IAAG,IAAAq8M,EAAA,OACG,QADHA,EACPr8M,EAAIjmM,cAAM,IAAAsiZ,OAAA,EAAVA,EAAYp8c,KAAKguB,IACb0/J,EAAAA,GAAAA,KAAC/+B,GAAI,CAAetiE,MAAOr+D,EAAK/uB,MAArB+uB,EAAKhc,KAClB,IAGd85G,QAAS2vO,IAGZygH,EAAWlqc,KACR07K,EAAAA,GAAAA,KAACwyL,GAAI,CACDlyV,KAAMkub,EACNv2S,QAASA,KACLw2S,EAAc,CAAEnqc,GAAI,KAAMs0P,MAAO,OACjCm1F,EAAU,CAAE3kV,OAAMwyJ,KAAM,IAAK,KAKzCokB,EAAAA,GAAAA,KAAC4rL,GAAY,CACTt4R,QAASA,IAAMm7X,EAAc,CAAEnqc,GAAI,SAAUs0P,MAAO,QAIpE,GjC6eI,CACIt0P,GAAI,SACJhV,KAAM,cACN4S,KAAM,mBACNk4b,WAAW,EACX/rc,UAAWmiX,IAEf,CACIlsW,GAAI,QACJhV,KAAM,cACN4S,KAAM,aACNk4b,WAAW,EACX/rc,UkClnBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBoM,EAAOqkJ,IAAYp8R,EAAAA,EAAAA,aACnBw6S,EAAYC,IAAiBz6S,EAAAA,EAAAA,aAC7B06S,EAAgBC,IAAqB36S,EAAAA,EAAAA,WAAS,IAC9Ci5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCt/D,KAAM,GACNQ,KAAM,OAMJo7V,EAAY,WAAgC,IAA/Bl0U,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACpC2gC,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,WAAY,CACtCiL,OAAQ,IACDu6G,EACH1gH,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,MAEZx+J,QAAUiM,IACN4jV,EAAS5jV,EAAE,GAGvB,EA+BA,OARAunD,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CACVznD,MAAOgkC,EAAIhzL,EAAE,cACf,GAEH,KAICmqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACfguL,WAAY4tK,IAGpBxjF,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,SACN5E,MAAO28H,EAAQ/3H,KACf8J,QAAS0gM,EAAIs4B,UAAUqK,UACvBx+C,WAAW,GAEf,CACIplL,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,SACN5E,MAAO28H,EAAQ9+F,OACfnvB,QAAS0gM,EAAIs4B,UAAUsK,YACvBz+C,WAAW,IAGnBniG,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAUg7F,KAGdntK,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM43L,EACN31G,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,UACP/3D,MAAQklQ,IAAG,IAAAuH,EAAA45D,EAAApE,EAAA,OACP,IAAIzE,GACAt4D,EAAIjT,QACD,OAAH7iD,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,GAAU,QAAV45D,EAAP55D,EAASpG,gBAAQ,IAAAggE,OAAd,EAAHA,EAAmBjiU,KAChB,OAAHgrM,QAAG,IAAHA,GAAS,QAAN6yH,EAAH7yH,EAAKh9I,YAAI,IAAA6vQ,OAAN,EAAHA,EAAWt5T,KACbs1T,KAAK,GAEf,CACIr5T,KAAM,OACNylE,MAAO,OACP+gG,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,GAAQA,EAAI9gQ,MAAQgrM,EAAIhzL,EAAE,UAClC+pE,QAAU++K,IA5F1Bi5G,EA4F2Cj5G,EA5FxB/tP,GA6FP,GACA,CACIi0J,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,OACP/3D,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAAC0rL,GAAe,CAAC35W,KAAMsgQ,EAAItgQ,QAE/C,CACIwmK,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAC2rL,GAAiB,CAAC3gV,OAAQqnO,EAAIrnO,UAGvC,CACIj5B,KAAM,eACNwmK,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,WAGfk5D,QAAS+uO,KAGbntK,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMk4R,GAAkB,MAE/CxrL,EAAAA,GAAAA,KAACw0E,GAAe,CACZr/F,KAAMo2M,EACNrtW,MAAO,CAAC,KAAM,WAAY,cAAe,aACzC+5J,QAASA,IAAMuzM,GAAkB,GACjC/2G,WAAYA,KACR+2G,GAAkB,GAClBre,GAAW,KAInBntK,EAAAA,GAAAA,KAAC6rL,GAAa,CACVC,OAAQT,EACRpzM,QAASA,IAAMqzM,EAAc,MAC7Bv6V,SA3HQ0oN,IAChBwzH,EAAS,IACFrkJ,EACHhtC,KAAMk7F,GAAqBluD,EAAMhtC,KAAM69D,KAE3C6xI,EAAc,KAAK,MA0H3B,GlCidI,CACIhnW,GAAI,QACJhV,KAAM,cACN4S,KAAM,aACNk4b,WAAW,EACX/rc,UmC3nBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAIhBilD,EAAO0jN,EAAS,CAAG5wO,IAHVtmF,KAGiBmmF,OAC1BotB,EAAM66G,IAAWxrS,EAAAA,EAAAA,UAAS,CAC7BvsD,GAAI,KACJs0P,OAAO,KAIJ9uI,EAAS+nI,GAAa79B,GAAU,CACnCziO,KAAM,MAIHqnQ,EAAO2R,GAAez2C,IAAU,KACnCwpG,GAAW,KAGRoqB,EAAQinH,GAAgB76O,IAAU,KACrCwpG,GAAW,IACZ,GAMH,SAASA,IAA2C,IAAjC/tT,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACzC24D,EAAI,QAAQh4B,EAAIntG,GAAG9qF,WAAY,IACxBiL,KACAu6G,EACH8uI,QACA8uF,WACDl6O,KAAK23V,EACZ,CAMA,OAjBAv0Y,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,UAAW,GACzC,KAgBCmqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,SACNR,KAAM,OACNpE,MAAO28H,EAAQv4H,KACfguL,WAAY+9I,GAEhB,CACIhiU,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,SACNR,KAAM,SACNpE,QAASu6V,GAAQ/9U,WACjB9N,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,KAEX,CACImO,QAASihM,EAAIhzL,EAAE,WACfpc,MAAO,MAGfoxF,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBw1c,IAAel8c,SAAStF,GAAO,IAG3C0uV,cAAetxE,EACfhsL,SAAUszK,EACVM,SAAUmrE,KAEdt9I,EAAAA,GAAAA,KAACoyE,GAAQ,CACLh0I,QAASk/M,EACTtsT,KAAMywO,EACNxuJ,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPzlE,KAAM,OACNmzD,MAAO,OACPouB,QAAU++K,GACNgqG,EAAQ,CAAE/3V,GAAI+tP,EAAI/tP,GAAIs0P,MAAOvG,EAAIuG,QACrCrpP,OAAS8iP,IAAG,CAAQuG,OAAQvG,EAAIuG,SAEpC,CACIrgG,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACN5E,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAAC4uR,GAAW,CAAC78c,KAAMsgQ,EAAItgQ,QAE3C,CACIwmK,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,SACN5E,MAAQklQ,IAAG,CACPoR,IAAKpR,EAAIslF,QACT1hV,IAAKo8P,EAAIulF,WAGjB,CACIr/K,MAAOgkC,EAAIhzL,EAAE,QACb5Z,MAAO,IACPoC,KAAM,WACNmzD,MAAO,YAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,OACN5E,MAAQklQ,GAAQ,GAAGA,EAAIwlF,aAAaxlF,EAAIylF,WAE5C,CACIv/K,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACN5E,MAAQklQ,GAAQ,GAAGA,EAAI71B,YAAY61B,EAAIhiQ,aAE3C,CACIkoK,MAAOgkC,EAAIhzL,EAAE,cACbxX,KAAM,OACN5E,MAAQklQ,GACJA,EAAIo1M,eACEp1M,EAAIo1M,eACJlrQ,EAAIhzL,EAAE,wBAEpB,CACIgvJ,MAAO,GAAGgkC,EAAIhzL,EAAE,aAAagzL,EAAIhzL,EAAE,YACnCxX,KAAM,OACN5E,MAAQklQ,GAAQ,GAAGA,EAAIw8M,aAAax8M,EAAIy8M,aAE5C,CACIv2S,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,OACN5E,MAAQklQ,GACJA,EAAI08M,gBAAkB,GACf18M,EAAI08M,gBACL18M,EAAI08M,iBAElB,CACIv3Y,MAAO,QACP+gG,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,QACNmzD,MAAO,SAEX,CACIsS,MAAO,QACP+gG,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,QACNmzD,MAAO,eAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,gBACbxX,KAAM,SACNmzD,MAAO,oBAInB86H,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAzHtB,WACI+oR,EAAQ,CAAE/3V,GAAI,SAAUs0P,OAAO,GACnC,KAyHQ54E,EAAAA,GAAAA,KAACw9K,GAAI,CACDl5V,GAAIk9O,EAAKl9O,GACTs0P,MAAOpX,EAAKoX,MAEZr6K,SAAWywX,IACP7J,EAAS,IACF1jN,EACH7lF,KAAM6lF,EAAM7lF,KACPtpK,KAAKkvP,GACFA,EAAKl9O,KAAO0qc,EAAQ1qc,GAAK0qc,EAAUxtN,IAEtCnoO,QACImoO,KAAWoX,IAAWA,IAAUpX,EAAKoX,SAEhD,EAEN3gG,QAASA,KACLokM,EAAQ,CAAE/3V,GAAI,KAAMs0P,OAAO,IAC3B0kE,GAAW,MAK/B,GnCqcI,CACIh5T,GAAI,OACJhV,KAAM,cACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UAAWmvW,IAEf,CACIl5V,GAAI,UACJhV,KAAM,cACN4S,KAAM,sBACNk4b,WAAW,EACX/rc,UoC3oBO,SAAiBR,GAC5B,MAAM0uM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBm/K,EAAOiuF,IAAY/4Y,EAAAA,EAAAA,aACnBi5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCo+Y,gBAAiB,GACjB1sV,OAAQ,QAEL2sV,EAAcC,IAAmBt+Y,EAAAA,EAAAA,UAAS,OAC1C4oK,EAAM8yH,IAAW17R,EAAAA,EAAAA,aACjBu+Y,EAAiBC,IAAsBx+Y,EAAAA,EAAAA,WAAS,IAGhD+nM,EAAO2R,GAAez2C,IAAU,KAEnCq2O,GAAW,IAGTA,EAAY,WAAgC,IAA/Blxb,EAACvnB,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,IACpC2gC,EAAIo4B,IAAI,MAAO,eAAe9mO,EAAMwE,MAAMkd,OAAOjL,WAAY,CACzDiL,OAAQ,IACDu6G,EAEH8uI,QACAxvP,KAAM6P,EAAE7P,KACRwyJ,KAAM3iJ,EAAE2iJ,MAEZx+J,QAAUiM,IACNugc,EAASvgc,EAAE,GAGvB,EAsCA,OAvBAunD,EAAAA,EAAAA,YAAU,KACF/iE,EAAMwE,MAAMkd,OAAOjL,IAbvBi4L,EAAIo4B,IAAI,MAAO,UAAU9mO,EAAMwE,MAAMkd,OAAOjL,KAAM,CAC9ClH,QAAUiM,IACNkjV,EAAQljV,EAAEowN,MACVl9B,EAAIyjB,UAAU,CACVznD,MAAOlvJ,EAAEowN,KAAKloO,OAElB44c,GAAW,GAOkB,GAEtC,CAACt8c,EAAMwE,MAAMkd,OAAOjL,MAqBnBovN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,kBACNQ,KAAM,OACN5E,MAAO28H,EAAQmlV,gBACf1vR,WAAY4qR,IAGpBxgM,YAAa,CACT,CACIr0Q,GAAI,EACJD,GAAI,GACJD,GAAI,GACJkG,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNpE,MAAO28H,EAAQvH,OACfxwH,KAAM,SACN2uL,WAAW,EACX7kL,QAAS,CACL,CACI1O,MAAO,QACPmO,QAASihM,EAAIhzL,EAAE,eAEnB,CACIpc,MAAO,eACPmO,QAASihM,EAAIhzL,EAAE,uBAK/BqgQ,WAAY,CACR73Q,KAAM,SACNuJ,QAASihM,EAAIhzL,EAAE,eACf+pE,QAASA,IAAM+7X,GAAmB,IAEtC9wX,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7CglQ,SAAUg4M,EACVtuH,cAAetxE,IAGlB9wC,IAASA,EAAK61O,UAAY,GAAK71O,EAAK81O,YAAc,KAC/CvvR,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAACzf,GAAK,CAACK,SAAS,OAAO19D,QAAQ,SAAQ7oJ,SAAA,CAClC0rO,EAAK81O,YAAc,IAChB77O,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,CACCwuM,EAAIhzL,EAAE,YAAY,KAAGkwN,EAAK81O,eAIlC91O,EAAK61O,UAAY,IACd57O,EAAAA,GAAAA,MAAC7yC,GAAG,CAAA9yL,SAAA,CACCwuM,EAAIhzL,EAAE,UAAU,KAAGkwN,EAAK61O,mBAO7CtvR,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM2qW,EACN5sD,UAAU,EACV97N,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,UAEbpc,MAAQklQ,IAAQm9M,OAlFb16X,EAkF2Bu9K,GAjFrCo9M,YACEzvR,EAAAA,GAAAA,KAAC+qR,GAAAA,EAAsB,CAACn6b,MAAO,CAAEziB,MAAO,aAE/C2mF,EAAK7jF,OACE+uL,EAAAA,GAAAA,KAACyuM,GAAAA,EAAgB,CAAC79W,MAAO,CAAEziB,MAAO,kBAD7C,EAJmB2mF,KAmFP,MAzFZ,IAAIr2E,MAAM89L,EAAIs4B,UAAUmJ,uBAAuBhpO,QAAQ1C,KAAK+hT,IAAG,CAC3D97I,MAAO,IAAI87I,IACXnvP,MAAO,SAASmvP,SA0FZj2L,QAAS+rV,EACT/oM,WAAa/O,GAAQ88M,EAAgB98M,MAGzCryE,EAAAA,GAAAA,KAACs7L,GAAiB,CACdxmS,KAAMo6X,EACNj3S,QAASA,IAAMk3S,EAAgB,MAC/Bp+b,SAAW2+b,IACP9F,EAAS,IACFjuF,EACH//M,KAAMk7F,GAAqB6kH,EAAM//M,KAAM8zS,KAE3CP,EAAgB,KAAK,KAI7BnvR,EAAAA,GAAAA,KAAC07L,GAAiB,CACdvmN,KAAMi6S,EACN31O,KAAMA,EACNkiJ,MAAOA,EACP1jN,QAASA,IAAMo3S,GAAmB,GAClCt+b,SAAW4+b,IACPpjH,EAAQojH,GACRxF,GAAW,MAK/B,GpCieI,CACI7lc,GAAI,mBACJhV,KAAM,cACN4S,KAAM,yBACNk4b,WAAW,EACX/rc,UqC/oBO,WAEX,MAAMuhd,EAAU,CACZC,IAAK,CACDppV,SAAU,GACVihO,OAAQ,IAEZ7mF,OAAQ,CACJp6I,UAAU,GAEdqpV,OAAQ,CACJpoH,QAAQ,IAIVnrJ,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MAET8hU,EAAkBC,EAAoB,CAAGz7O,GAAOH,MAGhDtqG,EAAS+nI,GAAa79B,GAAU,CACnCziO,KAAM,MAIH+7c,EAAQC,IAAa18Y,EAAAA,EAAAA,UAAS,UAGrC,SAASo/Y,IAA6C,IAAxB1gc,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,IAC3C24D,EAAI,QAAQh4B,EAAIntG,GAAG9qF,wBAAyB,IACrCiL,KACAu6G,KACA8lV,EAAQtC,GAEX10M,UACDprJ,KAAKwiW,EACZ,CAGA,MAAOp3M,EAAO2R,GAAez2C,IAAU,KACnCm8O,GAAsB,IAoB1B,OAhBAr/Y,EAAAA,EAAAA,YAAU,KACNq/Y,GAAsB,GAEvB,KAGHr/Y,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,kBAAmB,GAEjD,KAQCmqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNR,KAAM,OACNpE,MAAO28H,EAAQv4H,KACfguL,WAAY0wR,IAGpBtmM,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,UACfxX,KAAM,SACNR,KAAM,SACNpE,MAAOmgd,EAEPzxc,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,OAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,UAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,WAGfoxF,SAAUplF,IAAA,IAAC,MAAEhM,GAAOgM,EAAA,OAAKo0c,EAAUpgd,EAAM,GAE7C,CACImO,QAAS,GAAGihM,EAAIhzL,EAAE,aAClBxX,KAAM,OACNR,KAAM,MACNpE,MAAO28H,EAAQm0H,MAGvB49F,cAAetxE,EACfhsL,SAAUszK,EACVM,SAAU89M,KAEdjwR,EAAAA,GAAAA,KAACoyE,GAAQ,CACL28D,UAAU,EACV3tD,WAAa/O,GACTjsH,EAAQhyI,KAAKywB,GAAQ,kBAAmB,CAAEvgB,GAAI+tP,EAAI/tP,MAEtD85G,QAAS6xV,EACTj/b,KAAM++b,EACN98W,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO,IAAKxxF,MAAOklQ,EAAI/tP,KAC1CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPzlE,KAAM,OACNmzD,MAAO,QAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACsiK,GAAW,CAAC18G,KAAM,CAAE0lB,MAAOF,GAASiH,EAAIzsB,UAGjD,CACIrtE,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,eACN5E,MAAQklQ,GAAuB,WAAfA,EAAI9vI,QAExB,CACIg2C,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,SACN5E,MAAQklQ,IAAG,CACPoR,IAAKpR,EAAIslF,QACT1hV,IAAKo8P,EAAIulF,WAGjB,CACIr/K,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,WACNmzD,MAAO,YAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,OACNmzD,MAAO,kBAInB86H,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QA5GtB,WACI8yD,EAAQhyI,KAAKywB,GAAQ,kBAAmB,CAAEvgB,GAAI,WAClD,MA6GJ,GrCyeI,CACIA,GAAI,kBACJhV,KAAM,cACN4S,KAAM,6BACNk4b,WAAW,EACX/rc,UsC3pBO,SAAwB8K,GAAa,IAAZ,MAAE9G,GAAO8G,EAC7C,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBoiD,EAAU4mH,EAAY,CAAGjxI,GAAOH,MAChCyqJ,EAAiBC,IAAsBjuT,EAAAA,EAAAA,YACxCu1E,EAAU6H,MACV,UAAEr+E,GAAc0oK,KAEtB,SAASmtI,IAA8C,IAAjCl2V,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,EAAGwyJ,KAAM,KACxC,GAAEt3J,GAAOjS,EAAMkd,OACdjL,IAAIA,EAAoB,OAAfu6W,QAAe,IAAfA,OAAe,EAAfA,EAAiBv6W,IAC3BA,IAAOuwN,GAAU4rC,IAAIC,YAAYtwQ,QACjCmkO,EAAI,uBAAuBjwN,aAAe,IAAKiL,IAAUi+F,KACrDg4P,EAGZ,EAWA50S,EAAAA,EAAAA,YAAU,KACkB,WAApBv+D,EAAMkd,OAAOjL,KACbmhW,IATJlxI,EAAI,uBAAuBliO,EAAMkd,OAAOjL,KAAM,CAC1Cs0P,OAAO,IACRprJ,MAAK1wF,IAA8C,IAA3C+hW,gBAAiBqxF,GAAoBpzb,EAC5CgiW,EAAmBoxF,EAAmB,IAQ1C,GAED,CAAC79c,EAAMkd,OAAOjL,KAEjB,MAAMysU,EAAO,CACT,CACIz1U,QAASihM,EAAIhzL,EAAE,UACflb,WACI2xL,EAAAA,GAAAA,KAACy+L,GAAsB,CACnBn6W,GAAIjS,EAAMkd,OAAOjL,GACjBs0P,MAAOvmQ,EAAMkd,OAAOqpP,MACpB8lH,WAAYjZ,EACZmZ,oBAAqBC,EACrBF,sBAAwBwxF,GACpBrxF,EAAmBqxF,MAKnC,CACI70c,QAASihM,EAAIhzL,EAAE,YACflb,WACI2xL,EAAAA,GAAAA,KAACmgM,GAAuB,CACpB/hQ,QAASqnP,EACTnhW,GAAIjS,EAAMkd,OAAOjL,GACjBs6O,SAAUA,IAGlBzpK,KAA0B,WAApB9iF,EAAMkd,OAAOjL,KAI3B,OACI07K,EAAAA,GAAAA,KAAC6oD,GAAa,CACV1zE,QAAwB,OAAf0pN,QAAe,IAAfA,GAAAA,EAAiBv6W,IAA0B,WAApBjS,EAAMkd,OAAOjL,IAC7C2zJ,QAASA,IAAM7xB,EAAQhyI,KAAKywB,GAAQ,qBACpC0zI,MACIsmN,EACMA,EAAgBttX,KAChBq+D,EAAU,sBACnB7hE,UAEDiyL,EAAAA,GAAAA,KAAC8wJ,GAAO,CAACC,KAAMA,KAG3B,GtCklBI,CACIzsU,GAAI,eACJhV,KAAM,cACN4S,KAAM,oBACNk4b,WAAW,EACX/rc,UuC7pBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACT+wS,EAAcoxB,EAAgB,CAAG77O,GAAOH,MACxCtqG,EAAS+nI,GAAa79B,GAAU,CACnCziO,KAAM,MAEHqnQ,EAAO2R,GAAez2C,IAAU,KAEnCu8O,GAAkB,IAKtB,SAASA,IAAyC,IAAxB9gc,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,IACvC24D,EAAI,QAAQh4B,EAAIntG,GAAG9qF,2BAA4B,IACxCiL,KACAu6G,EACH8uI,UACDprJ,KAAK4iW,EACZ,CAsCA,OAjCAx/Y,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CACVznD,MAAOgkC,EAAIhzL,EAAE,iBACf,GAEH,KA6BCmqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNR,KAAM,OACNpE,MAAO28H,EAAQv4H,KACfguL,WAAY8wR,IAGpBx0H,cAAetxE,EACfhsL,SAAUszK,EACVM,SAAUk+M,KAEdrwR,EAAAA,GAAAA,KAACoyE,GAAQ,CACLh0I,QAASiyV,EACTr/b,KAAMgua,EACN/rV,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPzlE,KAAM,OACNmzD,MAAO,OACP78C,GAAKgqP,GAAQxtO,GAAQ,cAAe,CAAEvgB,GAAI+tP,EAAI/tP,KAC9CiL,OAAS8iP,IAAG,CAAQuG,OAAQvG,EAAIuG,SAEpC,CACIrgG,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACN5E,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACswR,GAAsB,CAACv+c,KAAMsgQ,EAAItgQ,QAG1C,CACIwmK,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,MACNmzD,MAAO,WAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,OACNmzD,MAAO,yBACP/3D,MAAQklQ,GA7DI8uH,KAC5B,IAAI3tW,EAAS,GAWb,MARI,CAAC,eAAgB,uBAAuBu7C,SAASoyT,EAAYpvX,QAE7DyhB,EAAS2tW,EAAYoB,aAEA,iBAArBpB,EAAYpvX,OACZyhB,GAAU,MAAM+oL,EAAIhzL,EAAE43W,EAAY38M,aAG/BhxJ,CAAM,EAiDmB+8b,CAAuBl+M,GACvC1iQ,MAAO,KAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAE,cACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACk3L,GAAkB,CACfp0V,SAAU,IACV89N,WAAYyR,EAAIzR,kBAMpC5gE,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAlFtB,WACI8yD,EAAQhyI,KAAKywB,GAAQ,cAAe,CAAEvgB,GAAI,WAC9C,MAmFJ,GvCuiBI,CACIA,GAAI,cACJhV,KAAM,cACN4S,KAAM,wBACNk4b,WAAW,EACX/rc,UwCzqBO,SAAoB8K,GAAa,IAAZ,MAAE9G,GAAO8G,EACzC,MAAM,GAAEmL,GAAOjS,EAAMkd,QACf,MAAEqpP,GAAU3gI,KACZmO,EAAU6H,KACVsuD,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KACjB,UAAE5sI,GAAc0oK,MACf6oJ,EAAaC,EAAe,CAAG7sJ,EAAI,GAAMH,GAAQ,MAClD28G,EAAO,CACT,CACIz1U,QAASihM,EAAIhzL,EAAE,UACflb,WACI2xL,EAAAA,GAAAA,KAAC8gM,GAAkB,CACfx8W,GAAIA,EACJs0P,MAAOA,EACPooH,gBACe,OAAXG,QAAW,IAAXA,GAAAA,EAAavgI,WACPugI,EACA,IAAKA,EAAavgI,WAAY,IAExCqgI,aAAyB,OAAXE,QAAW,IAAXA,OAAW,EAAXA,EAAaxqV,SAC3BuqV,WAAuB,OAAXC,QAAW,IAAXA,OAAW,EAAXA,EAAa9qV,UAIrC,CACI/6B,QAASihM,EAAIhzL,EAAE,SACflb,WAAW2xL,EAAAA,GAAAA,KAACkjM,GAAgB,CAAC5+W,GAAIA,EAAIs0P,MAAOA,IAC5CzjL,KAAa,WAAP7wE,GAEV,CACIhJ,QAASihM,EAAIhzL,EAAE,UACflb,WAAW2xL,EAAAA,GAAAA,KAACyjM,GAAiB,CAACb,cAAet+W,IAC7C6wE,KAAa,WAAP7wE,IAsBd,OANAssD,EAAAA,EAAAA,YAAU,KACFtsD,GAAa,WAAPA,GAVViwN,EAAI,0BAA0BjwN,IAAM,CAChCs0P,UACDprJ,MAAMwsG,IACDA,EAAS8oK,oBACT1B,EAAepnK,EAAS8oK,mBAC5B,GAOJ,GACD,CAACx+W,KAGA07K,EAAAA,GAAAA,KAAC6oD,GAAa,CACV1zE,QAAoB,OAAXgsN,QAAW,IAAXA,GAAAA,EAAa78W,IAAa,WAAPA,GAC5B2zJ,QAASA,IAAM7xB,EAAQhyI,KAAKywB,GAAQ,iBACpC0zI,MACI4oN,EAAcA,EAAY5vX,KAAOq+D,EAAU,qBAC9C7hE,UAEDiyL,EAAAA,GAAAA,KAAC8wJ,GAAO,CAACC,KAAMA,KAG3B,GxC0mBI,CACIzsU,GAAI,WACJhV,KAAM,cACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,UyC1qBO,SAAiB8K,GAAM,MAAHA,EAC/B0+N,GAAc,YAEd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IAEjB0uD,GADUj9G,KACGmsG,OACb,UAAExqL,GAAc0oK,MACfgpH,EAAUC,IAAe1wR,EAAAA,EAAAA,aACzBi5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnCt/D,KAAM,KAEJ4/H,GAAcD,EAAAA,GAAAA,mBACbs/U,EAAkBC,IAAuB5/Y,EAAAA,EAAAA,UAAS,OAGlD+nM,EAAO2R,GAAez2C,IAAU,KACnC3iG,EAAYnE,kBAAkB01G,GAA8B,IAWhE,OACIhP,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO28H,EAAQv4H,KACfguL,WAAYpuD,EAAYnE,kBACpB01G,MAIZnkJ,SAAUzhE,IAAA,IAAC,KAAEvrB,EAAI,MAAEpE,GAAO2vB,EAAA,OACtBq2T,EAAW,IAAKrpN,EAAS,CAACv4H,GAAOpE,GAAQ,EAE7C0uV,cAAetxE,KAGnBvqF,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUqiH,GACV9iH,QAAUrwG,IAAM,IAAAqqP,EAAA,OACZ1O,EAAWrP,YAAe,OAAHt/C,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,OAAJ,EAAHA,EAASt1P,GAAIiL,EAAO,EAE/C85O,YAAa,IAAKv/H,EAAS8uI,SAC3BwI,WAAa/O,IACTo+M,EAAoB,CAAEl/c,KAAM8gQ,EAAI9gQ,KAAM+S,GAAI+tP,EAAI/tP,IAAK,EAEvD2uF,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,QACPsS,MAAO,QAEX,CACIzlE,KAAM,OACNwmK,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,WACPsS,MAAO,QAEX,CACI+gG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,SAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,SAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,OACb27C,MAAO,WAKnB86H,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QA/DNo9X,KAChBD,EAAoB,CAAEl/c,KAAMq+D,EAAU,OAAQtrD,GAAI,UAAW,OAiExDksc,IACGxwR,EAAAA,GAAAA,KAACm9L,GAAO,CACJ5xB,UAAWilH,EAAiBlsc,GAC5B2zJ,QAASA,KACLw4S,EAAoB,KAAK,EAE7Bl4S,MAAOi4S,EAAiBj/c,SAK5C,GzCykBI,CACI+S,GAAI,UACJhV,KAAM,cACN4S,KAAM,oBACNk4b,WAAW,EACX/rc,UAAW8uX,IAEf,CACI74W,GAAI,aACJhV,KAAM,cACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,U0C/rBO,SAAmB8K,GAAM,MAAHA,EACjC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBm0Q,EAAkBC,IAAuB//Y,EAAAA,EAAAA,WAAS,GAGzD,OACI6iK,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAC8wJ,GAAO,CACJC,KAAM,CACF,CACIz1U,QAASihM,EAAIhzL,EAAE,SAEflb,WAAW2xL,EAAAA,GAAAA,KAACqnM,GAAW,CAAClB,KAAK,WAEjC,CACI7qX,QAASihM,EAAIhzL,EAAE,QAEflb,WAAW2xL,EAAAA,GAAAA,KAACqnM,GAAW,CAAClB,KAAK,cAKzCnmM,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMs9X,GAAoB,MAEjD5wR,EAAAA,GAAAA,KAACwoM,GAAgB,CACbrzN,KAAMw7S,EACN14S,QAASA,IAAM24S,GAAoB,OAInD,G1CmqBI,CACItsc,GAAI,UACJhV,KAAM,cACN4S,KAAM,WACNk4b,WAAW,EACX/rc,U2C5rBO,WAAoB,IAAD0yb,EAC9B,MAAMxkP,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhBopC,EAAM41B,IAAW3qM,EAAAA,EAAAA,UAAS,CAAC,IAC3B9qD,EAAUs2b,IAAexrY,EAAAA,EAAAA,UAAS,KAClCggZ,EAAWC,IAAgBjgZ,EAAAA,EAAAA,UAAS,KACpCmyK,EAAWk+M,IAAgBrwX,EAAAA,EAAAA,UAAS,IACrCkgZ,EAAqC,QAAzBhwB,EAAO,OAAJn7M,QAAI,IAAJA,OAAI,EAAJA,EAAM67M,wBAAgB,IAAAV,GAAAA,GACrC,UAAEnxX,GAAc0oK,KAoFtB,OArBA1nK,EAAAA,EAAAA,YAAU,KAKN,GAJA2rI,EAAIyjB,UAAU,CACVznD,MAAOgkC,EAAIhzL,EAAE,eAGbgzL,EAAIt/J,QAAUs/J,EAAIt/J,OAAO+lM,UAAW,CACpC,MAAMA,EAAY,GAClBzmC,EAAIt/J,OAAO+lM,UAAU1wO,KAAKiD,GACtBytO,EAAU5uO,KAAK,CACX0B,IAAKP,EAAGO,IACRwF,QAAS/F,EAAG+F,QACZnO,MAAOoI,EAAGO,QAGlBorb,EAAal+M,EACjB,CAzBAzmC,EAAIo4B,IAAI,MAAO,MAAO,CAClBv3N,QAAUiM,IACNmyP,EAAQnyP,EAAEu8N,KAAK,GAyBT,GACf,KAIC5lD,EAAAA,GAAAA,KAACxZ,GAAK,CAAAz4K,UACFiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACN2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvB2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAEvH,SAAA,EACb2lO,EAAAA,GAAAA,MAAA,KAAA3lO,SAAA,CACKwuM,EAAIhzL,EAAE,uCAAuC,KAC7CgzL,EAAIqpC,KAAKr0O,KAAK,QAEnByuL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,UAEAA,EAAAA,GAAAA,KAACX,GAAW,CACRjpK,MAAI,EACJ/gB,GAAI,GACJC,GAAI,GACJF,GAAI,GACJ2Q,UAAQ,EACRxU,KAAK,WACL+J,QAASihM,EAAIhzL,EAAE,qCACf+1K,OAAQv5K,EACRw4E,SAAUplF,IAAA,IAAC,MAAEhM,GAAOgM,EAAA,OAAKkjc,EAAYlvc,EAAM,KAG/C6yL,EAAAA,GAAAA,KAAA,UAEAA,EAAAA,GAAAA,KAACX,GAAW,CACRjpK,MAAI,EACJ/gB,GAAI,GACJC,GAAI,GACJF,GAAI,GACJ2Q,UAAQ,EACRxU,KAAK,YACL+J,QAASihM,EAAIhzL,EACT,wCAEJ+1K,OAAQuxR,EACRtyX,SAAUzhE,IAAA,IAAC,MAAE3vB,GAAO2vB,EAAA,OAAKg0b,EAAa3jd,EAAM,KAEhD6yL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAACqpD,GAAa,CACV7rE,WAAS,EACTliK,QAASihM,EAAIhzL,EACT,wCAEJpY,UAAW4U,EACXutE,QAASA,KA5HzBvtE,GAAY8qc,EAEZt0Q,EAAIo4B,IAAI,MAAO,MAAO,CAClBplN,OAAQ,CACJxJ,YAEJ3I,QAAUiM,IACNkzL,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,+BAA+B,IAIlEgzL,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,kCAiHqB,QAGxCmqN,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAEvH,SAAA,EACbiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIwuM,EAAIhzL,EAAE,eACVy2K,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAACS,GAAa,CACVrqK,MAAI,EACJ9gB,GAAI,EACJ/D,KAAK,OACL+J,QAASihM,EAAIhzL,EAAE,YACf+1K,OAAQsmD,EAAKrmL,MAAQ,GACrBg/B,SAAWh/B,IAASyxZ,OA1HpB1sO,EA0HmC/kL,EAAKpyD,MAzH5DovM,EAAI6qC,QAAQpE,EAAU1zK,MAAM/5D,GAAOA,EAAGO,MAAQwuO,UAC9C/nC,EAAIo4B,IAAI,MAAO,MAAO,CAClBplN,OAAQ,CACJgwC,KAAM+kL,GAEVlnO,QAAUiM,IACNmyP,EAAQnyP,EAAEu8N,MACVrpC,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAE,gCAAgC,IAR/C+6N,KA0H+C,EAC/CzoO,QAASmnO,KAEbhjD,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,KAAAjyL,SAAI6hE,EAAU+0K,GAAaiB,KAAKugB,aAChCnmE,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAC0c,GAAgB,CACbC,SACI3c,EAAAA,GAAAA,KAACxK,GAAQ,CACLxrF,QAAqB,OAAZ+mX,QAAY,IAAZA,GAAAA,EACTxyX,SAAUA,KAvHzB0yX,SAwH4BF,EAvHzCx0Q,EAAIo4B,IAAI,MAAO,MAAO,CAClBplN,OAAQ,CACJkya,iBAAkBwvB,GAEtB7zc,QAAUiM,IACNmyP,EAAQnyP,EAAEu8N,MACVrpC,EAAIq4B,YAAY,IAAKr4B,EAAIhzL,EAAEo7N,GAAaiB,KAAK0gB,YAAY,EAE7Dr1P,MAAQoY,IACAA,EAAEpY,MAAMmsC,KAAKm/J,EAAIq4B,YAAY,IAAKvrN,EAAEpY,MAAMmsC,IAAI,GA8GJ,IAIlC/kC,MAAM2nL,EAAAA,GAAAA,KAAC0hQ,GAAQ,CAACvzb,MAAM,WACtBwwF,MAAO/uB,EAAU+0K,GAAaiB,KAAKugB,qBAO/D,G3CghBI,CACI7hP,GAAI,YACJhV,KAAM,cACN4S,KAAM,eACNk4b,WAAW,EACX/rc,U4C7sBO,WAAsB,IAAD6id,EAAAvgG,EAChC94I,GAAc,WACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,KAGVkjU,EADgBhiG,KACaU,cAAc,CAAEp9V,MAAO,QACpD,UAAEm9C,GAAc0oK,MACf,CAAEuO,GAAUrP,GAAU,CAAC25O,EAAa5uV,SAErCuvP,EAMF,CAAC,EAEO,OAAZq/F,QAAY,IAAZA,GAAkB,QAAND,EAAZC,EAAcngc,YAAI,IAAAkgc,GAAlBA,EAAoBt1S,KAAKliJ,SAAS03b,IAC1BA,EAAWrmZ,SAAWqmZ,EAAWrmZ,SAAS+mT,KAE1CA,EAAas/F,EAAWrmZ,OAAS,IAEjC+mT,EAAas/F,EAAWrmZ,QACxB+mT,EAAas/F,EAAWrmZ,OAAQ32D,KAAK,CACjCkH,QAAS81c,EAAW7/c,KACpBge,OAAQ,CAAEjL,GAAc,OAAV8sc,QAAU,IAAVA,OAAU,EAAVA,EAAY9sc,IAC1BpC,KAAM,UAEd,IAGJ,MAAMmvc,EAIDrkd,OAAOkG,OAAO4+W,GAAcn3L,OAkCjC,OAbmB,QAAfg2L,EAACp0K,EAAIuqC,kBAAU,IAAA6pI,GAAdA,EAAgB5hT,SAAS,YACnB+iT,EAAa94B,YAapBtlH,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5nK,EAAG,EAAElrB,SAAA,CACL84O,GACDnT,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,CACtB+jX,GACG9kX,OAAOgI,KAAK88W,GAAcx/W,KAAKg/c,IAAQ,IAAAC,EAAA,OACnC79O,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,EAAGD,GAAI,GAAGrH,SAAA,EAC5BiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SACnB6hE,EACG0hZ,EAAS3/c,OAAS,EACZ2/c,EAASt/c,OAAO,GACZs/c,EAAS7vc,MAAM,GAAG2S,cACtB,MAIb09V,EAAaw/F,KACY,QADHC,EACnBz/F,EAAaw/F,UAAS,IAAAC,OAAA,EAAtBA,EAAwBj/c,KAAK8+c,IACzBpxR,EAAAA,GAAAA,KAACa,GAAG,CAAC22I,GAAI,EAAEzpU,UACPiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,KACLk+X,OA9B1BC,EA8BmC,CACLlic,OAAQ,CACJjL,GAAI8sc,EAAW7hc,OACVjL,UAhCrD8hI,EAAQhyI,KAAK,CACTovI,SAAU3+G,GAAQ,SAAU4sb,EAAalic,QACzC3K,MAAO,CACHktW,aAAcu/F,KAJRI,KAoCuB,EAAA1jd,SAEAqjd,EAAW91c,WAXH81c,EAAW7hc,OAAOjL,SAZTgtc,EA2B/B,KAEf59O,EAAAA,GAAAA,MAACz1C,GAAI,CAAC39J,MAAI,EAAChrB,GAAI,EAAGD,GAAI,EAAGD,GAAI,GAAGrH,SAAA,EAC5BiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,KAAI7oJ,SAAEwuM,EAAIhzL,EAAE,YAEhCy2K,EAAAA,GAAAA,KAACa,GAAG,CAAC22I,GAAI,EAAEzpU,UACPiyL,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,KACL8yD,EAAQhyI,KAAKywB,GAAQ,WAAW,EAClC92B,SAEDwuM,EAAIhzL,EAAE,wBAOnC,G5CslBI,CACIjF,GAAI,YACJhV,KAAM,cACN4S,KAAM,eACNk4b,WAAW,EACX/rc,U6CrtBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBk1Q,EAASC,IAAc9gZ,EAAAA,EAAAA,aACvB+gZ,EAAcC,IAAmBhhZ,EAAAA,EAAAA,UAAS,OAE1Ci5D,EAASqpN,IAActiR,EAAAA,EAAAA,UAAS,CACnC4yM,IAAK,GACLxtQ,IAAK8/B,MAAS/K,OAAO,gBAMnB8mb,EAAc,WAChB,MAAMvic,EAAS,CACXnG,MAFc1X,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAE0X,KAAM,IAEjBA,KACRwyJ,KAAM,GACN6nG,IAAK35I,EAAQ25I,IACbxtQ,IAAK6zH,EAAQ7zH,KAGjBsmM,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,sBAAuB,CACjDiL,SACAnS,QAAUiM,IACNsoc,EAAWtoc,GACXkzL,EAAIyjB,UAAU,CACVznD,MAAOgkC,EAAIhzL,EAAE,YACf,GAGd,EAWA,OANAqnD,EAAAA,EAAAA,YAAU,KACF2rI,EAAIntG,GAAG9qF,IAAIwtc,GAAa,GAE7B,CAACv1Q,EAAIntG,GAAG9qF,GAAIwlH,KAIX4pG,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACH0wP,YAAa,CACT,CACIp4Q,KAAM,MACNQ,KAAM,OACN5E,MAAO28H,EAAQ25I,IACfnoQ,QAASihM,EAAIhzL,EAAE,WACfg1E,SAAUplF,IAAA,IAAC,KAAE5H,EAAI,MAAEpE,GAAOgM,EAAA,OACtBg6U,EAAW,IACJrpN,EACH,CAACv4H,GAAOpE,EACF4oC,IAAO5oC,GAAO69B,OAAO,cACrB,IACR,GAEV,CACIz5B,KAAM,MACNQ,KAAM,OACN5E,MAAO28H,EAAQ7zH,IACfqF,QAASihM,EAAIhzL,EAAE,WACfg1E,SAAUzhE,IAAA,IAAC,KAAEvrB,EAAI,MAAEpE,GAAO2vB,EAAA,OACtBq2T,EAAW,IACJrpN,EACH,CAACv4H,GAAOpE,EACF4oC,IAAO5oC,GAAO69B,OAAO,cACrB,IACR,IAGdmnO,SAAU2/M,KAGd9xR,EAAAA,GAAAA,KAACoyE,GAAQ,CACLphP,KAAM0gc,EACN3iJ,UAAU,EACV3tD,WAAYywM,EACZ5+W,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,UACP/3D,MAAQklQ,IAAG,IAAAuH,EAAA45D,EAAApE,EAAA,OACP,IAAIzE,GACG,OAAHt4D,QAAG,IAAHA,OAAG,EAAHA,EAAKjT,QACF,OAAH7iD,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,GAAU,QAAV45D,EAAP55D,EAASpG,gBAAQ,IAAAggE,OAAd,EAAHA,EAAmBjiU,KAChB,OAAHgrM,QAAG,IAAHA,GAAS,QAAN6yH,EAAH7yH,EAAKh9I,YAAI,IAAA6vQ,OAAN,EAAHA,EAAWt5T,KACbs1T,KAAK,GAEf,CACI7yJ,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,SACPnzD,KAAM,eACN5E,MAAQklQ,GAAuB,SAAfA,EAAI9vI,QAExB,CACIg2C,MAAOgkC,EAAIhzL,EAAE,YACb27C,MAAO,WACPsS,MAAO,OACPrqE,MAAQklQ,GAAQA,EAAIzsB,MAAQysB,EAAIzsB,KAAKwlB,UAEzC,CACI5zL,MAAO,QACP+gG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,YACPnzD,KAAM,UAGdqsH,QAAS0zV,KAGb9xR,EAAAA,GAAAA,KAACqtM,GAAS,CACNl4N,KAAsB,MAAhBy8S,EACNtkF,SAAUskF,GAAgBA,EAAattc,GACvC2zJ,QAASA,KACL45S,IACAC,GAAa,MAKjC,G7C4lBI,CACIxtc,GAAI,WACJhV,KAAM,cACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,U8CvtBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MAET23N,EAAUC,EAAY,CAAGtxI,GAAOH,MAChCtqG,EAAS+nI,GAAa79B,GAAU,CACnCziO,KAAM,MAEHqnQ,EAAO2R,GAAez2C,IAAU,KACnCmyI,GAAc,IAOlB,SAASA,IAET,CAOA,OAbAr1S,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,aAAc,GAC5C,KAYCmqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNR,KAAM,OACNpE,MAAO28H,EAAQv4H,KACfguL,WAAY0mL,IAGpBpqB,cAAetxE,EACfhsL,SAAUszK,EACVM,SAAU8zG,KAEdjmL,EAAAA,GAAAA,KAACoyE,GAAQ,CACLh0I,QAAS6nP,EACTj1V,KAAM40V,EACN3yQ,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNmzD,MAAO,YAInB86H,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAjCtB,WAEI8yD,EAAQhyI,KAAKywB,GAAQ,WAAY,CAAEvgB,GAAI,WAC3C,MAiCJ,G9CiqBI,CACIA,GAAI,SACJhV,KAAM,cACN4S,KAAM,cACNk4b,WAAW,EACX/rc,U+C5tBO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhB0kD,EAAQ6wN,EAAU,CAAGx9O,GAAOH,MAC5B7tN,EAAOkvV,IAAY5kS,EAAAA,EAAAA,UAAS,CAAEvsD,GAAI,KAAMs0P,OAAO,KAC/C9uI,EAAS+nI,GAAa79B,GAAU,CACnCziO,KAAM,GACNoxC,KAAM5M,MAAS4M,OACf4/E,OAAQ,YAELq2I,EAAO2R,GAAez2C,IAAU,KACnCk+O,GAAY,IAOhB,SAASA,IAAmC,IAAxBzic,EAAM7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAEkqK,KAAM,IACV,QAAZ,OAAP9xC,QAAO,IAAPA,OAAO,EAAPA,EAASvH,UACTuH,EAAQvH,OAAS,IAErBgyG,EAAI,QAAQh4B,EAAIntG,GAAG9qF,YAAa,IAAKiL,KAAWu6G,EAAS8uI,UAASprJ,KAC9DukW,GAEmB,KAAZ,OAAPjoV,QAAO,IAAPA,OAAO,EAAPA,EAASvH,UACTuH,EAAQvH,OAAS,MAEzB,CASA,OAvBA3xD,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIhzL,EAAE,WAAY,GAC1C,KAsBCmqN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACgyE,GAAc,CACX/4O,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNR,KAAM,OACNpE,MAAO28H,EAAQv4H,KACfguL,WAAYyyR,IAGpBroM,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,OACNR,KAAM,OACNpE,MAAO28H,EAAQnnF,KACfD,MAAO,CACH1sC,MAAO+/B,MAAS4M,OAChB3K,KAAM,EACND,OAAQ,IAGhB,CACIz8B,QAASihM,EAAIhzL,EAAE,UACfxX,KAAM,SACNR,KAAM,SACNpE,MAAO28H,EAAQvH,OACf1mH,QAAS,CACL,CACI8iF,MAAO49G,EAAIhzL,EAAE,OACbpc,MAAO,OAEX,CACIwxF,MAAO49G,EAAIhzL,EAAE,UACbpc,MAAO,UAEX,CACIwxF,MAAO49G,EAAIhzL,EAAE,YACbpc,MAAO,iBAKvB0uV,cAAetxE,EACfhsL,SAAUszK,EACVM,SAAU6/M,KAEdhyR,EAAAA,GAAAA,KAACoyE,GAAQ,CACLh0I,QAAS4zV,EACThhc,KAAMkwO,EACNjuJ,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNmzD,MAAO,OACPsS,MAAO,OACP8b,QAAU++K,GACNojG,EAAS,CACLnxV,GAAI+tP,EAAI/tP,GACRs0P,MAAOvG,EAAIuG,SAGvB,CACIrgG,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAACsmL,GAAgB,CAACpnO,KAAMmzH,EAAInzH,QAEhD,CACIq5B,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,eACN5E,MAAQklQ,GAAuB,WAAfA,EAAI9vI,QAExB,CACIg2C,MAAOgkC,EAAIhzL,EAAE,SACbpc,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAAC4rR,GAAY,CAACtsM,MAAOjN,EAAIiN,SAE7C,CACI/mG,MAAOgkC,EAAIhzL,EAAE,cACbxX,KAAM,UACNmzD,MAAO,cAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,OACNmzD,MAAO,YAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,eACbxX,KAAM,SACN5E,MAAQklQ,IAAG,CACPoR,IAAKpR,EAAIm5F,QACTv1V,IAAKo8P,EAAIo5F,WAGjB,CACIlzL,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,OACNmzD,MAAO,mBAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,SACN5E,MAAQklQ,IAAG,CAAQoR,IAAKpR,EAAIoR,IAAKxtQ,IAAKo8P,EAAIp8P,OAE9C,CACIsiK,MAAOgkC,EAAIhzL,EAAE,SACbxX,KAAM,QACNmzD,MAAO,QACPsS,MAAO,SAEX,CACI+gG,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNmzD,MAAO,OACPsS,MAAO,aAInBwoH,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QA/HtB,WACImiR,EAAS,CACLnxV,GAAI,SACJs0P,MAAO,GAEf,KA4HQ54E,EAAAA,GAAAA,KAACg8K,GAAK,CACF13V,GAAIiC,EAAMjC,GACVs0P,MAAOryP,EAAMqyP,MAEbr6K,SAAW49Q,IACP41G,EAAU,IACH7wN,EACHtlF,KAAMslF,EAAOtlF,KACRtpK,KAAKiU,GACFA,EAAMjC,KAAO63V,EAAS73V,GAAK63V,EAAW51V,IAEzC8S,QACI9S,KAAYqyP,IAAWA,IAAUryP,EAAMqyP,SAElD,EAEN3gG,QAASA,KACLw9L,EAAS,CAAEnxV,GAAI,KAAMs0P,OAAO,IAC5Bo5M,GAAY,MAKhC,G/CwiBI,CACI1tc,GAAI,OACJhV,KAAM,cACN4S,KAAM,QACNk4b,WAAW,EACX/rc,UAAWygY,IAEf,CACIxqX,GAAI,eACJhV,KAAM,cACN4S,KAAM,oBACNk4b,WAAW,EACX/rc,UgDnvBO,SAAc8K,GAAM,MAAHA,EAI5B,OAHY65E,EAAAA,EAAAA,YAAWwpH,KAInBk3B,EAAAA,GAAAA,MAAC7yC,GAAG,CAACx9J,EAAG,EAAGm0C,MAAM,SAAQzpE,SAAA,EACrBiyL,EAAAA,GAAAA,KAAA,OAAKlkE,IAAKm2V,GAAmBtid,MAAO,OAEpCqwL,EAAAA,GAAAA,KAAA,MAAAjyL,SAAI,8BAGhB,GhD0uBI,CACIuW,GAAI,gBACJhV,KAAM,cACN4S,KAAM,qBACNk4b,WAAW,EACX/rc,UAAWshY,IAEf,CACIrrX,GAAI,iBACJhV,KAAM,cACN4S,KAAM,sBACNk4b,WAAW,EACX/rc,U1PvvBO,WACX,MAAML,EAAU2wB,KAEhB,OACIqhK,EAAAA,GAAAA,KAAChwC,GAAS,CAACltH,SAAS,KAAK70B,UAAWD,EAAQklB,UAAUnlB,UAClDiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC/nK,KAAM,EAAE/qB,UACTiyL,EAAAA,GAAAA,KAAC2vM,GAAY,OAI7B,G0P+uBI,CACIrrX,GAAI,gBACJhV,KAAM,cACN4S,KAAM,qBACNk4b,WAAW,EACX/rc,UtBlwBO,SAAsB8K,GAAM,MAAHA,EACpC,MAAMnL,EAAU2wB,KACVu1F,EAAOo8F,KAKb,OACIojB,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACq4M,GAAqB,CAACnkR,KAAMA,KAC7B8rE,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,UACPiyL,EAAAA,GAAAA,KAAC4nD,GAAO,OAEZ5nD,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAAA,OAAK/xL,UAAWD,EAAQisY,UAAUlsY,UAC9BiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5yL,UAAWD,EAAQksY,aAAansY,UACjC2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAChxL,QAAQ,OAAM9B,SAAA,EACfiyL,EAAAA,GAAAA,KAAC04M,GAAgB,CACbC,UAAW,EACXC,aAAa,KAEjB54M,EAAAA,GAAAA,KAAC04M,GAAgB,CAACC,UAAW,KAC7B34M,EAAAA,GAAAA,KAAC04M,GAAgB,CAACC,UAAW,MAC7B34M,EAAAA,GAAAA,KAACq5M,GAAiB,eAO9C,GsBsuBI,CACI/0X,GAAI,OACJhV,KAAM,cACN4S,KAAM,YACNk4b,WAAW,EACX/rc,U9OnwBO,WAAiB,IAADurQ,EAAAs4M,EAAAC,EAC3B,MAAM51Q,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBxuM,EAAU2wB,KAChBk5M,GAAc,QAEd,MAAM,UAAEjoK,GAAc0oK,KAChBnnG,GAAcD,EAAAA,GAAAA,kBACdhd,EAAOo8F,MACN8hQ,EAAgBC,IAAqBxhZ,EAAAA,EAAAA,UAAS,CACjD0xD,OAAQ,KACRj+G,GAAI,OAEF4mP,EAAa9Q,KACbk4N,GAAmBr6U,EAAAA,GAAAA,UACrB,CAACmqG,GAA0B,CAAE99N,GAAO,OAAHi4L,QAAG,IAAHA,GAAO,QAAJq9D,EAAHr9D,EAAKntG,UAAE,IAAAwqK,OAAJ,EAAHA,EAASt1P,MAC1C,SAAAwzR,EAAA,OAAM5sC,EAAW3P,kBAAqB,OAAHh/C,QAAG,IAAHA,GAAO,QAAJu7F,EAAHv7F,EAAKntG,UAAE,IAAA0oM,OAAJ,EAAHA,EAASxzR,GAAI,KAAK,IAGzD,OACIovN,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAC5yL,UAAWD,EAAQ6rY,gBAAgB9rY,SAAA,CACnB,OAAhBukd,QAAgB,IAAhBA,GAAsB,QAANJ,EAAhBI,EAAkBthc,YAAI,IAAAkhc,GAAM,QAANC,EAAtBD,EAAwBt2S,YAAI,IAAAu2S,OAAZ,EAAhBA,EAA8B7/c,KAAKigd,IAAM,IAAAC,EAAA,OACtCxyR,EAAAA,GAAAA,KAACxZ,GAAK,CACFv4K,UAAW,GAAGD,EAAQqlY,cAClBrlY,EAAQgsY,wBAEF,OAANu4E,QAAM,IAANA,OAAM,EAANA,EAAQjuc,OAAqB,OAAd8tc,QAAc,IAAdA,OAAc,EAAdA,EAAgB9tc,IACzBtW,EAAQ8rY,iBACR9rY,EAAQ+rY,oBAElBzmT,QAASA,IACL++X,EAAkB,CACd9vV,OAAQ,IACJ6vV,GACAA,EAAe9tc,KAAOiuc,EAAOjuc,GACvB,OACA,YAEVA,GAAU,OAANiuc,QAAM,IAANA,OAAM,EAANA,EAAQjuc,KAEnBvW,UAEM,OAANwkd,QAAM,IAANA,OAAM,EAANA,EAAQjuc,OAAqB,OAAd8tc,QAAc,IAAdA,OAAc,EAAdA,EAAgB9tc,KAC5BovN,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,YAAY86B,QAAM,EAAA3jL,SAC3B,OAANwkd,QAAM,IAANA,OAAM,EAANA,EAAQhhd,QAEbyuL,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACR,GAAS,OAANwkd,QAAM,IAANA,GAAa,QAAPC,EAAND,EAAQ1+E,aAAK,IAAA2+E,OAAP,EAANA,EAAelqc,iBACpB03K,EAAAA,GAAAA,KAAC3O,GAAU,CACPz6B,QAAQ,UACR86B,QAAM,EAAA3jL,SACR,GAAG6hE,EAAU,gBACL,OAAN2iZ,QAAM,IAANA,OAAM,EAANA,EAAQlid,qBAKhBqjO,EAAAA,GAAAA,MAAC7yC,GAAG,CACAhxL,QAAQ,OACRipB,KAAM,EACN2I,eAAe,SACfC,WAAW,SACXH,cAAc,SACd3Q,MAAO,CAAEhhB,OAAQ,QAAS7B,SAAA,EAE1B2lO,EAAAA,GAAAA,MAACriD,GAAU,CAACz6B,QAAQ,YAAYp/E,MAAM,SAAQzpE,SAAA,CAAC,gBAC7Bwkd,EAAOhhd,SAEzByuL,EAAAA,GAAAA,KAAC3O,GAAU,CAACz6B,QAAQ,UAAUp/E,MAAM,SAAQzpE,SAAC,mCAKjD,KAEZiyL,EAAAA,GAAAA,KAACxZ,GAAK,CACFv4K,UAAW,GAAGD,EAAQqlY,cAAcrlY,EAAQgsY,sBAC5CppX,MAAO,CAAEjhB,MAAO,IAAKC,OAAQ,KAC7B0jF,QAASA,IACL++X,EAAkB,CAAE9vV,OAAQ,SAAUj+G,GAAI,WAC7CvW,UAEDiyL,EAAAA,GAAAA,KAACa,GAAG,CACAhxL,QAAQ,OACRipB,KAAM,EACN2I,eAAe,SACfC,WAAW,SACX9Q,MAAO,CAAEhhB,OAAQ,QAAS7B,UAE1BiyL,EAAAA,GAAAA,KAAC3O,GAAU,CAAAtjL,SAAC,kCAKxB2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAACq4M,GAAqB,CAACnkR,KAAMA,KAC7B8rE,EAAAA,GAAAA,KAACa,GAAG,CAACj4F,GAAI,EAAE76F,UACPiyL,EAAAA,GAAAA,KAAC4nD,GAAO,OAEZ5nD,EAAAA,GAAAA,KAACa,GAAG,CAAC5nK,EAAG,EAAElrB,UACNiyL,EAAAA,GAAAA,KAAA,OAAK/xL,UAAWD,EAAQisY,UAAUlsY,UAC9BiyL,EAAAA,GAAAA,KAACa,GAAG,CAAC5yL,UAAWD,EAAQksY,aAAansY,UACjC2lO,EAAAA,GAAAA,MAAC7yC,GAAG,CAAChxL,QAAQ,OAAM9B,SAAA,EACfiyL,EAAAA,GAAAA,KAAC04M,GAAgB,CACbC,UAAW,EACXC,aAAa,KAEjB54M,EAAAA,GAAAA,KAAC04M,GAAgB,CAACC,UAAW,KAC7B34M,EAAAA,GAAAA,KAAC04M,GAAgB,CAACC,UAAW,MAC7B34M,EAAAA,GAAAA,KAACq5M,GAAiB,iBAOtCr5M,EAAAA,GAAAA,KAACi3M,GAAU,CACP9hO,KAC+B,UAAb,OAAdi9S,QAAc,IAAdA,OAAc,EAAdA,EAAgB7vV,SACW,YAAb,OAAd6vV,QAAc,IAAdA,OAAc,EAAdA,EAAgB7vV,QAEpBj+G,GAAkB,OAAd8tc,QAAc,IAAdA,OAAc,EAAdA,EAAgB9tc,GACpB2zJ,QAASA,KACLo6S,EAAkB,CAAE9vV,OAAQ,WAAYj+G,GAAI,OAC5C6sH,EAAYnE,kBAAkBo1G,GAAyB,MAK3E,G8OioBI,CACI99N,GAAI,YACJhV,KAAM,cACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UiD1wBO,WACXwpO,GAAc8M,GAAaoY,QAAQC,WAEnC,MAAMzgD,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEhBi2Q,EAAkBC,IAAuB7hZ,EAAAA,EAAAA,aACzC8hZ,EAA0BC,IAC7B/hZ,EAAAA,EAAAA,WAAS,GAEPq6L,EAAa9Q,MAEZtwH,EAASqpN,GAAcl7G,GAC1B,CAAC,EACD6K,IAGE3xG,GAAcD,EAAAA,GAAAA,kBACdm4H,EAAc,IAAKv/H,EAASxlH,GAAIi4L,EAAIntG,GAAI9qF,IACxC+7G,EAAW,CAACyiH,GAAuBumB,GAEzC,OACI31B,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EAEFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,SAGd4gQ,SAAWhlQ,IACPgmV,EAAWhmV,EAAM,KAIzB6yL,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUyiH,GACVljH,QAASzmH,IAAA,IAAC,GACNmL,KACGiL,GACkCpW,EAAA,OACrC+xP,EAAWnP,gBAAgBz3O,EAAIiL,EAAO,EAG1C85O,YAAaA,EACb8X,aAAW,EACXluK,QAAS,CACL,CACIslE,MAAO,IACPxmK,KAAM,UACN5E,MAAQklQ,IAAa,CACjB1zK,MAAO,IACPxxF,MAAOklQ,EAAI/tP,KAEfgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,KACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,qBACT,KAGb,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNmzD,MAAO,OACPsS,MAAO,OACPrqE,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,KACLo/X,EAAoBrgN,GACpBugN,GAA4B,EAAK,EAErCh8T,QAAQ,QAAO7oJ,SAEdskQ,EAAI9gQ,QAIjB,CACIgnK,MAAOgkC,EAAIhzL,EAAE,sBACbpc,MAAQklQ,GAAkB,GAAGA,EAAI2lE,0BAK5C26I,IACG3yR,EAAAA,GAAAA,KAACw3Q,GAAkB,CACfz/H,SAAU06I,EACVx6S,QAASA,KACL26S,GAA4B,GAC5BF,OAAoBrjd,EAAU,EAElC0hB,SAAUA,KACNogH,EAAYnE,kBAAkB,CAAE3M,aAChCqyV,OAAoBrjd,GACpBujd,GAA4B,EAAM,EAEtCj+M,OAAQA,KACJxjI,EAAYnE,kBAAkB,CAAE3M,aAChCqyV,OAAoBrjd,GACpBujd,GAA4B,EAAM,EAEtCnxT,SAAUA,KACNtwB,EAAYnE,kBAAkB,CAAE3M,aAChCqyV,OAAoBrjd,GACpBujd,GAA4B,EAAM,KAK9C5yR,EAAAA,GAAAA,KAAC4rL,GAAY,CACTt4R,QAASA,KACLs/X,GAA4B,EAAK,MAKrD,GjDopBI,CACItuc,GAAI,UACJhV,KAAM,cACN4S,KAAM,aACNk4b,WAAW,EACX/rc,UH5wBO,WAAoB,IAADypS,EAAAo3B,EAAA64B,EAAAC,EAAA57B,EAAAymJ,EAAAC,EAAAllG,EAAAmlG,EAAAC,EAC9B,MAAMz2Q,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAChBy2Q,EAAOC,IAAYriZ,EAAAA,EAAAA,aACnBluB,IAAQkuB,EAAAA,EAAAA,UAASp+D,SAASsjC,MAAS/K,OAAO,WAC1Cmob,EAAeC,IAAoBviZ,EAAAA,EAAAA,UAAS,IAC5CwiZ,EAAaC,IAAkBziZ,EAAAA,EAAAA,UAAS,IACxC0iZ,EAAaC,IAAkB3iZ,EAAAA,EAAAA,WAAS,GAEzC4iZ,EAAc,CAAC,UAAW,YAEhC7iZ,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAOgkC,EAAIntG,GAAG79F,MAAO,GAEtC,CAACgrM,EAAIntG,MA8BRx+B,EAAAA,EAAAA,YAAU,KAAO,IAADgpM,EACF,QAAVA,EAAIr9D,EAAIntG,UAAE,IAAAwqK,GAANA,EAAQt1P,IA5BZi4L,EAAIo4B,IAAI,MAAO,QAAQp4B,EAAIntG,GAAG9qF,WAAY,CACtCiL,OAAQ,CACJmzB,MAAO,CAACC,EAAO,EAAGA,GAAMhwC,KAAK,KAC7B+gd,iBAAiB,EACjBC,eAAe,EACfC,kBAAkB,GAEtBx2c,QAAUiM,IACN6pc,EAAS7pc,GACTmqc,GAAe,GAGf,IAAIK,EAAM,EACNC,EAAS,EACb,IAAK,IAAIxgd,EAAI,EAAGA,EAAI,GAAIA,IACpBugd,GAAOxqc,EAAEq5B,MAAMC,GAAMrvC,GAAGivX,YACxBuxF,GAAUzqc,EAAEq5B,MAAMC,GAAMrvC,GAAGwgd,OAE/BV,EAAiBS,GACjBP,EAAeQ,EAAO,GAW9B,GAED,CAAO,QAAPh8K,EAACv7F,EAAIntG,UAAE,IAAA0oM,OAAA,EAANA,EAAQxzR,KAKZ,MAAMyvc,EACFd,IACCz+c,OAAOgiB,MAAMpjB,WAAgB,OAAL6/c,QAAK,IAALA,OAAK,EAALA,EAAOe,UAAW,OAC1Cx/c,OAAOgiB,MAAMpjB,WAAgB,OAAL6/c,QAAK,IAALA,OAAK,EAALA,EAAOgB,WAAY,KAGhD,OACIvgP,EAAAA,GAAAA,MAAA,OAAA3lO,SAAA,CACKwld,IACGvzR,EAAAA,GAAAA,KAACa,GAAG,CAACrpH,MAAM,SAAS1C,GAAI,GAAG/mE,UACvBiyL,EAAAA,GAAAA,KAAC64Q,GAAqB,CAAC9nc,OAAQwid,MAGtCN,IACGv/O,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAGC,GAAI,EAAExH,UAC5B2lO,EAAAA,GAAAA,MAACz1C,GAAI,CAAC/qK,WAAS,EAAC3c,QAAS,EAAExI,SAAA,EACvBiyL,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAAGvH,UAC7BiyL,EAAAA,GAAAA,KAACg5Q,GAAQ,CACLzgS,MAAOgkC,EAAIhzL,EAAE,aACbqjQ,SAAUrwE,EAAIhzL,EAAE,SAChBo1E,MAAO49G,EAAIntG,GAAG8kX,aACd77c,MAAM2nL,EAAAA,GAAAA,KAACipN,GAAMA,EAAI,QAIxB8qE,IACG/zR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAAGvH,UAC7BiyL,EAAAA,GAAAA,KAACg5Q,GAAQ,CACLzgS,MAAOgkC,EAAIhzL,EAAE,UACbqjQ,SAAUjqO,EACVg8C,MAAOilL,GACHyvM,EAAY5+c,QAAQ,GACd,QADgBy6T,EACtB3yH,EAAIntG,UAAE,IAAA8/N,GAAM,QAAN64B,EAAN74B,EAAQ1xE,YAAI,IAAAuqG,GAAS,QAATC,EAAZD,EAAc/kG,eAAO,IAAAglG,OAAf,EAANA,EAAuB1hR,UAE3BjuE,MAAM2nL,EAAAA,GAAAA,KAACm0R,GAAWA,EAAI,QAKjCJ,IACG/zR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAAGvH,UAC7BiyL,EAAAA,GAAAA,KAACg5Q,GAAQ,CACLzgS,MAAOgkC,EAAIhzL,EAAE,QACbqjQ,SAAUrwE,EAAIhzL,EAAE,SAChBo1E,MAAOilL,GACHqvM,EAAMe,UAAUv/c,QAAQ,GAClB,QADoB23T,EAC1B7vH,EAAIntG,UAAE,IAAAg9N,GAAM,QAANymJ,EAANzmJ,EAAQ5uE,YAAI,IAAAq1N,GAAS,QAATC,EAAZD,EAAc7vN,eAAO,IAAA8vN,OAAf,EAANA,EAAuBxsY,UAE3BjuE,MAAM2nL,EAAAA,GAAAA,KAACo0R,GAAyBA,EAAI,QAK/CL,IACG/zR,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAAGvH,UAC7BiyL,EAAAA,GAAAA,KAACg5Q,GAAQ,CACLzgS,MAAOgkC,EAAIhzL,EAAE,SACbqjQ,SAAUrwE,EAAIhzL,EAAE,SAChBo1E,MAAOilL,GACHqvM,EAAMgB,WAAWx/c,QAAQ,GACnB,QADqBm5W,EAC3BrxK,EAAIntG,UAAE,IAAAw+Q,GAAM,QAANmlG,EAANnlG,EAAQpwH,YAAI,IAAAu1N,GAAS,QAATC,EAAZD,EAAc/vN,eAAO,IAAAgwN,OAAf,EAANA,EAAuB1sY,UAE3BjuE,MAAM2nL,EAAAA,GAAAA,KAACq0R,GAAQA,EAAI,SAK/Br0R,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAAGvH,UAC7BiyL,EAAAA,GAAAA,KAACg5Q,GAAQ,CACLzgS,MAAOgkC,EAAIhzL,EAAE,YACbqjQ,SAAUjqO,EACVg8C,MAAOw0X,EACP96c,MAAM2nL,EAAAA,GAAAA,KAACs0R,GAAMA,EAAI,cAKjCt0R,EAAAA,GAAAA,KAAC/B,GAAI,CAAC39J,MAAI,EAAClrB,GAAI,GAAIE,GAAI,EAAGC,GAAI,GAAGxH,SAC5Bkld,IACGv/O,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACIiyL,EAAAA,GAAAA,KAAC84Q,GAAS,CACNvgS,MAAOgkC,EAAIhzL,EAAE,YACbnX,OAAQqhd,EACR/wa,MAAO11C,OAAOgI,KAAKi+c,EAAMvwa,OACzB1xB,KAAM,CACFiic,EAAMvwa,MAAMC,EAAO,IAAM,CACrBg8C,MAAOh8C,EAAO,EACd3xB,KAAMhkB,OAAOgI,KACTi+c,EAAMvwa,MAAMC,EAAO,IACrBrwC,KAAK4T,GAAU,CACbq2L,EAAIhzL,EAAE,SAASrD,KACf+sc,EAAMvwa,MAAMC,EAAO,GAAGz8B,GACjBq8W,gBAGb,CACI5jS,MAAOh8C,EACP3xB,KAAMhkB,OAAOgI,KACTi+c,EAAMvwa,MAAMC,IACdrwC,KAAK4T,GAAU,CACbq2L,EAAIhzL,EAAE,SAASrD,KACf+sc,EAAMvwa,MAAMC,GAAMz8B,GACbq8W,mBAMpBwxF,IACG/zR,EAAAA,GAAAA,KAAC84Q,GAAS,CACNvgS,MAAOgkC,EAAIhzL,EAAE,UACbnX,OAAQqhd,EACR/wa,MAAO11C,OAAOgI,KAAKi+c,EAAMvwa,OACzB1xB,KAAM,CACFiic,EAAMvwa,MAAMC,EAAO,IAAM,CACrBg8C,MAAOh8C,EAAO,EACd3xB,KAAMhkB,OAAOgI,KACTi+c,EAAMvwa,MAAMC,EAAO,IACrBrwC,KAAK4T,GAAU,CACbq2L,EAAIhzL,EAAE,SAASrD,KACf+sc,EAAMvwa,MAAMC,EAAO,GAAGz8B,GACjB4tc,WAGb,CACIn1X,MAAOh8C,EACP3xB,KAAMhkB,OAAOgI,KACTi+c,EAAMvwa,MAAMC,IACdrwC,KAAK4T,GAAU,CACbq2L,EAAIhzL,EAAE,SAASrD,KACf+sc,EAAMvwa,MAAMC,GAAMz8B,GACb4tc,eAOzB9zR,EAAAA,GAAAA,KAAC84Q,GAAS,CACNvgS,MAAOgkC,EAAIhzL,EAAE,aACbnX,OAAQqhd,EACR/wa,MAAO11C,OAAOgI,KAAKi+c,EAAMvwa,OACzB1xB,KAAM,CACFiic,EAAMvwa,MAAMC,EAAO,IAAM,CACrBg8C,MAAOh8C,EAAO,EACd3xB,KAAMhkB,OAAOgI,KACTi+c,EAAMvwa,MAAMC,EAAO,IACrBrwC,KAAK4T,GAAU,CACbq2L,EAAIhzL,EAAE,SAASrD,KACf+sc,EAAMvwa,MAAMC,EAAO,GAAGz8B,GACjBguc,iBAGb,CACIv1X,MAAOh8C,EACP3xB,KAAMhkB,OAAOgI,KACTi+c,EAAMvwa,MAAMC,IACdrwC,KAAK4T,GAAU,CACbq2L,EAAIhzL,EAAE,SAASrD,KACf+sc,EAAMvwa,MAAMC,GAAMz8B,GACbguc,8BAYrD,GGgjBI,CACI5vc,GAAI,iBACJhV,KAAM,QACN4S,KAAM,mBACNk4b,WAAW,EACX/rc,UkD5xBO,WACXwpO,GAAc,aACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBrrE,GAAcD,EAAAA,GAAAA,kBACdy4H,EAAmBtR,MAClBvuH,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAG8H,KAC3C2gL,EAAYmC,IAAiBhyV,EAAAA,EAAAA,UAAS,MAqB7C,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,OACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,YAGvBogQ,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,oBACfhY,KAAM,SACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,SACN5E,MAAO,MACP0O,QAAS,CACL,CAAEyI,GAAI,MAAOq6E,MAAO49G,EAAIhzL,EAAE,QAC1B,CAAEjF,GAAI,WAAYq6E,MAAO49G,EAAIhzL,EAAE,gBAC/B,CAAEjF,GAAI,OAAQq6E,MAAO49G,EAAIhzL,EAAE,cAGnC,CACIjO,QAASihM,EAAIhzL,EAAE,oBACfhY,KAAM,qBACNQ,KAAM,SACN5E,MAAO,MACP0O,QAAS,CACL,CAAEyI,GAAI,MAAOq6E,MAAO49G,EAAIhzL,EAAE,QAC1B,CAAEjF,GAAI,SAAUq6E,MAAO49G,EAAIhzL,EAAE,WAC7B,CAAEjF,GAAI,WAAYq6E,MAAO49G,EAAIhzL,EAAE,gBAI3C4oP,SAvDS/5B,IACjB,MAAMm8O,EAAkB,IAAKn8O,GAEc,QAAvCm8O,EAAgBC,2BACTD,EAAgBC,mBAEE,QAAzBD,EAAgBxid,aACTwid,EAAgBxid,KAG3BohV,EAAWohI,EAAgB,KAgDvBv0R,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAU0/G,GACVngH,QAAUrwG,GAAWo6O,EAAiBzR,QAAQ3oO,GAC9C85O,YAAav/H,EACbq3I,aAAa,EACbC,WAAa/O,GAAQwwJ,EAAcxwJ,EAAI/tP,IACvC2uF,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPtS,MAAO,OACP/3D,MAAQklQ,GAAQ91D,EAAIhzL,EAAE,MAAM8oP,EAAItgQ,SAEpC,CACIwmK,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPtS,MAAO,QAEX,CACIqzG,MAAO,MACP/gG,MAAO,OACPtS,MAAO,OAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,kBACbiuD,MAAO,OACPrqE,MAAQklQ,GACJA,EAAIoiN,eACA,GAAG1+a,IAAOs8N,EAAIoiN,eAAehxM,KAAKz4O,OAC9B,mBACG+K,IAAOs8N,EAAIoiN,eAAex+c,KAAK+0B,OAClC,iBAGJg1J,EAAAA,GAAAA,KAAA,KAAGpvK,MAAO,CAAEziB,MAAO,OAAQJ,SACtBwuM,EAAIhzL,EAAE,qBAIvB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,gBACbiuD,MAAO,OACPrqE,MAAQklQ,GACJA,EAAI/xD,aACA,GAAGvqK,IAAOs8N,EAAI/xD,aAAamjE,KAAKz4O,OAC5B,mBACG+K,IAAOs8N,EAAI/xD,aAAarqM,KAAK+0B,OAChC,iBAGJg1J,EAAAA,GAAAA,KAAA,KAAGpvK,MAAO,CAAEziB,MAAO,OAAQJ,SACtBwuM,EAAIhzL,EAAE,0BAIvB,CACIgvJ,MAAO,GAAGgkC,EAAIhzL,EAAE,YAAYgzL,EAAIhzL,EAAE,kBAClCiuD,MAAO,OACPrqE,MAAQklQ,IAAG,IAAAqiN,EAAA,OACPriN,EAAIoiN,gBACAz0R,EAAAA,GAAAA,KAAA,KAAAjyL,SAAI,GAA2B,QAA3B2md,EAAGriN,EAAIoiN,eAAev1N,aAAK,IAAAw1N,EAAAA,EAAI,KAAKn4Q,EAAIhzL,EACxC,YAGJ,EACH,OAKjBy2K,EAAAA,GAAAA,KAACuiO,GAAa,CACVj+Y,GAAIo8Y,EACJzoP,QAASA,KACL4qP,EAAc,MACd1xR,EAAYnE,kBAAkB+yG,GAAqB,KAI3D//C,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMuvU,EAAc,cAGvD,GlDqoBI,CACIv+Y,GAAI,WACJhV,KAAM,QACN4S,KAAM,aACNk4b,WAAW,EACX/rc,UmDnyBO,SAAiB8K,GAAM,MAAHA,EAC/B0+N,GAAc,WAEd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBp2D,EAAU6H,MACTnkB,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAGkI,KAC3Coc,EAAMuwK,IAAWj8V,EAAAA,EAAAA,UAAS,MAC3Bq6L,EAAa9Q,KACbjpH,GAAcD,EAAAA,GAAAA,kBAEpB,OACIwiG,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,EACI2lO,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO,KAGfw8Q,YAAa,CACT,CACIruQ,QAAS,MAAMihM,EAAIhzL,EAAE,iBACrBhY,KAAM,KACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,SACN5E,MAAO,SACP0O,QAAS,CACL,CAAEyI,GAAI,SAAUq6E,MAAO49G,EAAIhzL,EAAE,eAC7B,CACIjF,GAAI,WACJq6E,MAAO49G,EAAIhzL,EAAE,iBAEjB,CACIjF,GAAI,cACJq6E,MAAO49G,EAAIhzL,EAAE,uBAIzB,CACIjO,QAAS,GAAGihM,EAAIhzL,EAAE,yBAClBhY,KAAM,UACNQ,KAAM,QACNi4F,SAAS,GAEb,CACI1uF,QAASihM,EAAIhzL,EAAE,kBACfhY,KAAM,YACNQ,KAAM,QACNi4F,SAAS,IAGjBmoK,SAAUghF,EACVnpE,aAAW,KAGfhqF,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAU8/G,GACVvgH,QAAUrwG,GAAW27O,EAAWhT,QAAQ3oO,GACxC85O,YAAav/H,EACbq3I,aAAa,EACbC,WAAa/O,GAAQy6J,EAAW,OAAHz6J,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IAClC2uF,QAAS,CACL,CACIslE,MAAO,KACPxmK,KAAM,OACN5E,MAAQklQ,GAAQA,EAAI/tP,IAExB,CACIi0J,MAAOgkC,EAAIhzL,EAAE,UACbxX,KAAM,OACNpC,MAAO,IACPxC,MAAQklQ,GAAQ91D,EAAIhzL,EAAE,MAAM8oP,EAAI9vI,WAEpC,CACIg2C,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPtS,MAAO,OACP/3D,MAAQklQ,GAAQA,EAAI9gQ,MAAQ8gQ,EAAIzyP,OAEpC,CACI24J,MAAOgkC,EAAIhzL,EAAE,aACb27C,MAAO,eACPnzD,KAAM,UACN5E,MAAQklQ,GAAQA,EAAI6hN,cAExB,CACI37S,MAAOgkC,EAAIhzL,EAAE,WACbxX,KAAM,eACN5E,MAAQklQ,GAAQA,EAAIh/B,SAExB,CACI96D,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNpC,MAAO,IACPxC,MAAQklQ,GAAQA,EAAI7U,MAAQ6U,EAAI7U,KAAKjsP,MAEzC,CACIgnK,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,UACPnzD,KAAM,SACNpC,MAAO,GACPxC,MAAQklQ,GACJA,EAAIt3H,SAAWs3H,EAAIt3H,QAAQhsE,SAAS,YAE5C,CACIwpG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,OACPnzD,KAAM,SACNpC,MAAO,GACPxC,MAAQklQ,GACJA,EAAIt3H,SAAWs3H,EAAIt3H,QAAQhsE,SAAS,SAE5C,CACIwpG,MAAOgkC,EAAIhzL,EAAE,YACb27C,MAAO,WACPnzD,KAAM,SACNpC,MAAO,GACPxC,MAAQklQ,GACJA,EAAIt3H,SAAWs3H,EAAIt3H,QAAQhsE,SAAS,aAE5C,CACIwpG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,QACPnzD,KAAM,SACNpC,MAAO,GACPxC,MAAQklQ,GACJA,EAAIt3H,SAAWs3H,EAAIt3H,QAAQhsE,SAAS,UAE5C,CACIwpG,MAAOgkC,EAAIhzL,EAAE,YACb27C,MAAO,UACPnzD,KAAM,SACNpC,MAAO,GACPxC,MAAQklQ,GACJA,EAAIt3H,SAAWs3H,EAAIt3H,QAAQhsE,SAAS,YAE5C,CACIwpG,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,OACPnzD,KAAM,SACNpC,MAAO,GACPxC,MAAQklQ,GAAQA,EAAIsiN,cAExB,CACIp8S,MAAO,MACP/gG,MAAO,OACPtS,MAAO,OACP/3D,MAAQklQ,GACJA,EAAIuN,UACA5/E,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,IACL8yD,EAAQhyI,KACJywB,GAAQ,eAAgB,CACpBvgB,GAAI+tP,EAAIuN,QAAQt7P,MAG3BvW,SAEAskQ,EAAIuN,QAAQruQ,QAI7B,CACIgnK,MAAO,MACPrzG,MAAO,MACPnzD,KAAM,SACNpC,MAAO,GACPxC,MAAQklQ,GAAQA,EAAIxtB,SAKhC7kD,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMw5U,EAAQ,gBAGzC9sO,EAAAA,GAAAA,KAACgsO,GAAO,CACJ1nZ,GAAIi4O,EACJtkF,QAASA,KACL60P,EAAQ,MACR37R,EAAYnE,kBAAkBmzG,GAAe,MAKjE,GnDomBI,CACI77N,GAAI,uBACJhV,KAAM,QACN4S,KAAM,sBACNk4b,WAAW,EACX/rc,UAAWumd,IAEf,CACItwc,GAAI,wBACJhV,KAAM,QACN4S,KAAM,0BACNk4b,WAAW,EACX/rc,UAAWwmd,IAEf,CACIvwc,GAAI,gBACJhV,KAAM,QACN4S,KAAM,kBACNk4b,WAAW,EACX/rc,UoDtzBO,WACXwpO,GAAc,YACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBmlK,EAAkBzpC,MACjBpuM,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAGqI,KAC3Cy4H,EAAWC,IAAgBnoS,EAAAA,EAAAA,UAAS,OACrC,aAAEyoK,GAAiBf,MAClBu8O,EAAanzM,IAAkB9wM,EAAAA,EAAAA,UAAS,GAuB/C,SAASuoK,EAASpuM,GAEdsuM,EAAa,aAAatuM,IADF,QAAXA,EAAmB,kBAAoB,WACV,CACtC4wI,KAAM,GACNxyJ,KAAM0rc,KACHhrV,GAEX,CAEA,OACI4pG,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAAS,KACT/J,KAAM,KACNQ,KAAM,OACN5E,MAAO,KAGfw8Q,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,WACfhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAAS,GAAGihM,EAAIhzL,EAAE,gBAClBhY,KAAM,YACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAAS,GAAGihM,EAAIhzL,EAAE,aAClBhY,KAAM,SACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAAS,GAAGihM,EAAIhzL,EAAE,oBAClBhY,KAAM,OACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,SACN5E,MAAO,SACP0O,QAASg5N,GAAUwuB,QAAQ4a,eAE/B,CACI3iQ,QAASihM,EAAIhzL,EAAE,eACfhY,KAAM,eACNQ,KAAM,SACN5E,MAAO,MACP0O,QACI0gM,EAAIs4B,UAAU8J,cACdpiC,EAAIs4B,UAAU8J,aAAarsO,KAAKkrG,GAClB,KAAVA,EAAGl5F,GACG,CACIA,GAAI,MACJq6E,MAAO49G,EAAIhzL,EAAE,QAEjBi0F,KAGlB,CACIliG,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,OACfhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,KAGf27O,KAAM,CACF,CACIxtO,QAAS,GAAGihM,EAAIhzL,EAAE,kBAClB+pE,QAASA,IAAM8lJ,EAAS,QAE5B,CACI99N,QAAS,GAAGihM,EAAIhzL,EAAE,kBAClB+pE,QAASA,IAAM8lJ,EAAS,SAGhC4wC,aAAW,EACX7X,SA9GS/5B,IACjB,MAAMovH,EAAkB,IAAKpvH,GAEQ,SAAnB,OAAdA,QAAc,IAAdA,OAAc,EAAdA,EAAgBuG,sBACT6oH,EAAgB7oH,aAGI,SAAb,OAAdvG,QAAc,IAAdA,OAAc,EAAdA,EAAgB71G,gBACTilO,EAAgBjlO,OAG3B4wN,EAAWqU,EAAgB,KAsGvBxnK,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUigH,GACV1gH,QAAUrwG,GAAWoyV,EAAgBzpH,QAAQ3oO,GAC7C85O,YAAav/H,EACbq3I,aAAa,EACbC,WAAa/O,GAAQ2mG,EAAgB,OAAH3mG,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IACvCq9P,eAAgBA,EAChB1uK,QAAS,CACL,CACIslE,MAAO,KACPxmK,KAAM,KACNmzD,MAAO,MAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,UACPnzD,KAAM,SAEV,CACIwmK,MAAOgkC,EAAIhzL,EAAE,WACbpc,MAAQklQ,IAAG,IAAA0iN,EAAA,OAAQ,OAAH1iN,QAAG,IAAHA,GAAY,QAAT0iN,EAAH1iN,EAAK1R,eAAO,IAAAo0N,OAAT,EAAHA,EAAczpN,KAAK,GAEvC,CACI/yF,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,IAAG,IAAAoiF,EAAAN,EAAA,MAAK,GAAM,OAAH9hF,QAAG,IAAHA,GAAS,QAANoiF,EAAHpiF,EAAKzsB,YAAI,IAAA6uG,OAAN,EAAHA,EAAWnwU,QAAW,OAAH+tP,QAAG,IAAHA,GAAS,QAAN8hF,EAAH9hF,EAAKzsB,YAAI,IAAAuuG,OAAN,EAAHA,EAAW5iV,MAAM,GAE3D,CACIgnK,MAAOgkC,EAAIhzL,EAAE,WACbiuD,MAAO,OACPrqE,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAAA,KAAAjyL,SAAO,OAAHskQ,QAAG,IAAHA,OAAG,EAAHA,EAAK11B,WAE7B,CACIpkE,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,UAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,eACb27C,MAAO,eAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,cACPnzD,KAAM,SAEV,CACIwmK,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,QACPnzD,KAAM,YAKjBgnW,IACG/4K,EAAAA,GAAAA,KAAC+oQ,GAAY,CACTzkb,GAAIy0V,EACJ9gM,QAASA,IAAM+gM,EAAa,UAKhD,GpD8nBI,CACI10V,GAAI,gBACJhV,KAAM,QACN4S,KAAM,kBACNk4b,WAAW,EACX/rc,UqD/zBO,WACXwpO,GAAc,qBAEd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IAEjBrrE,GAAcD,EAAAA,GAAAA,kBACd84H,EAAcrR,MACb7uH,EAASqpN,GAAcl7G,GAC1B,CAAC,EACDwI,KAGGu0O,EAAWC,IAAgBpkZ,EAAAA,EAAAA,UAAS,MAiB3C,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,SACNuJ,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQxrP,MACpCA,KAAM,OACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQ0C,MACpC1tP,KAAM,SACNR,KAAM,OACNpE,MAAO,MACP0O,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAEo7N,GAAaoY,QAAQ9gK,KACpC9uF,MAAO,OAEX,CACImO,QAAS,iBACTnO,MAAO,kBAEX,CACImO,QAAS,MACTnO,MAAO,OAEX,CACImO,QAAS,SACTnO,MAAO,UAEX,CACImO,QAAS,WACTnO,MAAO,YAEX,CACImO,QAAS,WACTnO,MAAO,eAKvBglQ,SAtDS/5B,IACjB,MAAMy1O,EAAa,IAAKz1O,GAEA,QAApBy1O,EAAWpuN,aACJouN,EAAWpuN,KAGtB0zF,EAAW06H,EAAW,KAkDlB7tR,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUogH,GACV7gH,QAAUrwG,GAAWy6O,EAAYpR,sBAAsBrpO,GACvD85O,YAAav/H,EACbs3I,WAAa/O,GAAQ4iN,EAAgB,OAAH5iN,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IACvC2uF,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ0C,MAClCv6L,MAAO,OACPv1D,MAAO,KAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQxrP,MAClCQ,KAAM,OACNmzD,MAAO,OACPsS,MAAO,OACP7nE,MAAO,KAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAEo7N,GAAaoY,QAAQ51I,MAClCjiD,MAAO,cACPv1D,MAAO,SAKnBqwL,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAM2hY,EAAa,YAEzCD,IACGh1R,EAAAA,GAAAA,KAACytQ,GAAY,CACTnpb,GAAI0wc,EACJ/8S,QAASA,IAAMg9S,EAAa,MAC5B/mT,SAAUA,IACN/8B,EAAYnE,kBACRyzG,IAGR1vN,SAAUA,IACNogH,EAAYnE,kBACRyzG,IAGRh/E,SAAUA,KACNwzT,EAAa,MACb9jV,EAAYnE,kBACRyzG,GACH,MAMzB,GrDisBI,CACIn8N,GAAI,kBACJhV,KAAM,QACN4S,KAAM,oBACNk4b,WAAW,EACX/rc,UAAW6md,IAEf,CACI5wc,GAAI,sBACJhV,KAAM,QACN4S,KAAM,wBACNk4b,WAAW,EACX/rc,UAAW8md,IAEf,CACI7wc,GAAI,aACJhV,KAAM,QACN4S,KAAM,eACNk4b,WAAW,EACX/rc,UsDr1BO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBrrE,GAAcD,EAAAA,GAAAA,kBACd46I,EAAeL,MACdwvB,EAAQ+0J,IAAan/X,EAAAA,EAAAA,UAAS,OAC9Bi5D,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAG2I,IAElD,OACIlN,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACH0wP,YAAa,CACT,CACIruQ,QAAS,WACT/J,KAAM,WACNpE,MAAO,IAEX,CACImO,QAAS,SACT/J,KAAM,SACNpE,MAAO,IAEX,CACImO,QAAS,QACT/J,KAAM,QACNpE,MAAO,IAEX,CACImO,QAAS,SACT/J,KAAM,SACNpE,MAAO,IAEX,CACImO,QAAS,MACT/J,KAAM,MACNpE,MAAO,IAEX,CACImO,QAAS,QACT/J,KAAM,QACNpE,MAAO,IAEX,CACImO,QAAS,MACT/J,KAAM,YACNpE,MAAO,IAEX,CACImO,QAAS,QACT/J,KAAM,QACNpE,MAAO,IAEX,CACImO,QAAS,UACT/J,KAAM,UACNpE,MAAO,IAEX,CACImO,QAAS,kBACT/J,KAAM,kBACNpE,MAAO,IAEX,CACImO,QAAS,oBACT/J,KAAM,oBACNpE,MAAO,IAEX,CACImO,QAAS,WACT/J,KAAM,WACNQ,KAAM,QACN5E,MAAO,KAGf68Q,aAAW,EACX7X,SAAUghF,KAGdnzJ,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUugH,GACVhhH,QAAUrwG,GAAWu8P,EAAa5zB,QAAQ3oO,GAC1C85O,YAAav/H,EACbwvH,aAAc,CAAEvyH,UAAW,KAC3B9zB,QAAS,CACL,CACIslE,MAAO,KACPxmK,KAAM,UACN5E,MAAQklQ,IAAG,CAAQ1zK,MAAO0zK,EAAI/tP,GAAInX,MAAOklQ,EAAI/tP,KAC7CgvE,QAAU++K,GACNqpF,GAAgBrpF,EAAI/tP,IAAI,IACpBi4L,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,yBAItB,CACIgvJ,MAAOgkC,EAAIhzL,EAAE,WACbiuD,MAAO,OACPzlE,KAAM,MACNmzD,MAAO,WAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,QACPnzD,KAAM,OACNuhF,QAAU++K,GAAQ29L,EAAU39L,EAAI/tP,KAEpC,CACIi0J,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,YAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,QAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,UAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,OACb27C,MAAO,OAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,SAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,UAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,cAKnB86H,EAAAA,GAAAA,KAACwvQ,GAAS,CACNlrb,GAAI22R,EACJhjI,QAASA,IAAM+3R,EAAU,MACzB9hS,SAAUA,IAAM/8B,EAAYnE,kBAAkB4zG,IAC9C7vN,SAAUA,IAAMogH,EAAYnE,kBAAkB4zG,IAC9Cn/E,SAAUA,KACNuuS,EAAU,MACV7+T,EAAYnE,kBAAkB4zG,GAAiB,MAKnE,GtDgsBI,CACIt8N,GAAI,eACJhV,KAAM,QACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UAAW+md,IAEf,CACI9wc,GAAI,qBACJhV,KAAM,QACN4S,KAAM,uBACNk4b,WAAW,EACX/rc,UAAWgnd,IAEf,CACI/wc,GAAI,2BACJhV,KAAM,QACN4S,KAAM,6BACNk4b,WAAW,EACX/rc,UAAWind,IAEf,CACIhxc,GAAI,4BACJhV,KAAM,QACN4S,KAAM,8BACNk4b,WAAW,EACX/rc,UAAWknd,IAEf,CACIjxc,GAAI,cACJhV,KAAM,QACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,UAAWmnd,IAEf,CACIlxc,GAAI,4CACJhV,KAAM,QACN4S,KAAM,8CACNk4b,WAAW,EACX/rc,UAAWond,IAEf,CACInxc,GAAI,kDACJhV,KAAM,QACN4S,KAAM,yDACNk4b,WAAW,EACX/rc,UAAWqnd,IAEf,CACIpxc,GAAI,cACJhV,KAAM,QACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,UAAWsnd,IAEf,CACIrxc,GAAI,0BACJhV,KAAM,QACN4S,KAAM,4BACNk4b,WAAW,EACX/rc,UAAWund,IAEf,CACItxc,GAAI,YACJhV,KAAM,QACN4S,KAAM,cACNk4b,WAAW,EACX/rc,UAAWwnd,IAEf,CACIvxc,GAAI,cACJhV,KAAM,QACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,UAAWynd,IAEf,CACIxxc,GAAI,yBACJhV,KAAM,QACN4S,KAAM,2BACNk4b,WAAW,EACX/rc,UAAW0nd,IAEf,CACIzxc,GAAI,eACJhV,KAAM,QACN4S,KAAM,iBACNk4b,WAAW,EACX/rc,UuD/6BO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBrrE,GAAcD,EAAAA,GAAAA,kBACpB2mG,GAAc,WACd,MAAMi5I,EAAiB3B,MAChBrlP,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAG6I,KAC3C8lD,EAAUmqF,IAAelgT,EAAAA,EAAAA,UAAS,MAezC,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,SACNuJ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,SACNR,KAAM,QACNpE,MAAO,MACP0O,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,OAEX,CACImO,QAASihM,EAAIhzL,EAAE,SACfpc,MAAO,SAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,SAKvBglQ,SAxCS/5B,IACjB,MAAMy1O,EAAa,IAAKz1O,GACC,QAArBy1O,EAAWp7b,cACJo7b,EAAWp7b,MAEtB0gU,EAAW06H,EAAW,KAsClB7tR,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUygH,GACVlhH,QAAUrwG,GAAWuhW,EAAe54H,QAAQ3oO,GAC5C85O,YAAav/H,EACbs3I,WAAa/O,GAAQ0+G,EAAe,OAAH1+G,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IACtC2uF,QAAS,CACL,CACIslE,MAAO,KACP/gG,MAAO,SACPtS,MAAO,MAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,WACbiuD,MAAO,OACPzlE,KAAM,MACNmzD,MAAO,WAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACbxX,KAAM,OACNmzD,MAAO,OACPsS,MAAO,OACP7nE,MAAO,KAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAE,eACbiuD,MAAO,OACPtS,MAAO,eAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACbiuD,MAAO,SACPtS,MAAO,SAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,SACPtS,MAAO,SAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,UACbiuD,MAAO,SACPtS,MAAO,SACPnzD,KAAM,SACN5E,MAAQklQ,IACD,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK9vI,UAAWsyG,GAAUgwB,OAAOtiI,OAAOs+I,WAIvD+lB,IACG5mG,EAAAA,GAAAA,KAACg2O,GAAW,CACR1xZ,GAAIsiR,EACJ3uH,QAASA,KACL84M,EAAY,MACZ5/O,EAAYnE,kBAAkB8zG,GAAmB,KAK7D9gD,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMy9R,EAAY,cAGrD,GvD2zBI,CACIzsW,GAAI,eACJhV,KAAM,QACN4S,KAAM,qBACNk4b,WAAW,EACX/rc,UAAWmiX,IAEf,CACIlsW,GAAI,oBACJhV,KAAM,QACN4S,KAAM,sBACNk4b,WAAW,EACX/rc,UzHp7BO,SAA0B8K,GAAM,MAAHA,EACxC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBs9B,EAAcD,KACpBhC,GAAc,gBACd,MAAM7pO,EAAU2wB,KACVwyG,GAAcD,EAAAA,GAAAA,kBACdshS,EAAsBb,MACrB7nS,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAGiJ,KAC3CuxL,EAAeC,IAAoB7hW,EAAAA,EAAAA,UAAS,MAC7C4iU,GAAiBnhQ,EAAAA,GAAAA,cAClB/iH,GAAWijZ,EAAoB90Y,OAAa,OAANnO,QAAM,IAANA,OAAM,EAANA,EAAQjL,GAAU,OAANiL,QAAM,IAANA,OAAM,EAANA,EAAQA,SAC3D,CACIozG,UAAWA,KACPwO,EAAYnE,kBAAkBk0G,GAAwB,KAI3D,CAAE2F,GAAUrP,GAAU,CAACi8J,EAAelxQ,SAgCvCyzV,EAAoBA,CAAC9wO,EAAanzO,KACpC0hY,EAAe/hQ,OAAO,CAClBptH,GAAe,OAAX4gO,QAAW,IAAXA,OAAW,EAAXA,EAAa5gO,GACjBiL,OAAQ,CACJ,CAACxd,IAAQmzO,EAAYnzO,KAE3B,EAGN,OACI2hO,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACDnT,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNpE,MAAO,IAEX,CACI4E,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,eACfhY,KAAM,KACNpE,MAAO,IAEX,CACI4E,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,eACfhY,KAAM,KACNpE,MAAO,IAEX,CACI4E,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,eACfhY,KAAM,KACNpE,MAAO,IAEX,CACI4E,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,cACfhY,KAAM,KACNpE,MAAO,IAEX,CACI4E,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,cACfhY,KAAM,KACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,QACfxX,KAAM,SACNR,KAAM,kBACNpE,MAAO,MACP0O,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,OAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,OAEX,CACImO,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,OAEX,CACImO,QAASihM,EAAIhzL,EAAE,QACfpc,MAAO,WAKvB68Q,aAAW,EACX7X,SAtGK/5B,IACjB,MAAMovH,EAAkB,IAAKpvH,GAEW,SAAtB,OAAdA,QAAc,IAAdA,OAAc,EAAdA,EAAgB69O,yBACTzuH,EAAgB0uH,WAChB1uH,EAAgB3iH,WAChB2iH,EAAgB/iR,MACoB,SAAtB,OAAd2zJ,QAAc,IAAdA,OAAc,EAAdA,EAAgB69O,yBAChBzuH,EAAgB0uH,WAChB1uH,EAAgB/iR,KACvB+iR,EAAgB3iH,KAAM,GACqB,SAAtB,OAAdzM,QAAc,IAAdA,OAAc,EAAdA,EAAgB69O,yBAChBzuH,EAAgB3iH,WAChB2iH,EAAgB/iR,KACvB+iR,EAAgB0uH,KAAM,WAEf1uH,EAAgB0uH,WAChB1uH,EAAgB3iH,IACvB2iH,EAAgB/iR,MAAO,GAG3B0uQ,EAAWqU,EAAgB,IAqFF,QAAhB1tH,IACG95C,EAAAA,GAAAA,KAACa,GAAG,CAACrpH,MAAM,QAAQ1C,GAAI,EAAG8zB,GAAI,EAAGre,GAAI,EAAEx8E,UACnCiyL,EAAAA,GAAAA,KAACspD,GAAS,CACNhuO,QAAQ,qBACRs7I,QAAQ,YACRzoJ,MAAM,UACNmlF,QAASA,KACLipH,EAAIo4B,IAAI,OAAQ,sBAAuB,CACnCv3N,QAAU48M,IACN,GAAIA,GAAYA,EAAS1xM,MAAO,CAC5B,MAAM,MAAEA,GAAU0xM,EAClBzd,EAAIq4B,YACA,IACA,OAAItsN,uCAEZ,GAEJrX,MAAQqY,IACJizL,EAAIq4B,YAAY,IAAKtrN,EAAE8zB,IAAI,GAEjC,OAMlB4iJ,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAU6gH,GACVthH,QAAUrwG,GAAWijZ,EAAoBt6K,QAAQ3oO,GACjD85O,YAAav/H,EACb72B,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,WACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACjlB,GAAU,CACP3gK,KAAK,QACL,aAAW,SACXk5E,QAASA,IACLooQ,GAAgBrpF,EAAI7sO,MAAM,IACtB+2K,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,wBAGjBxb,UAEDiyL,EAAAA,GAAAA,KAACm2R,GAAQ,CAAC3nd,SAAS,eAI/B,CACI+pK,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPtS,MAAO,OACPnzD,KAAM,OACN5E,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAClxC,GAAI,CAACx7D,QAASA,IAAMo/U,EAAiBrgK,EAAI/tP,IAAIvW,SACzCskQ,EAAI7sO,QAIjB,CACI+yI,MAAO,KACP/gG,MAAO,OACPtS,MAAO,MAEX,CACIqzG,MAAO,QACP/gG,MAAO,OACPtS,MAAO,MAEX,CACIqzG,MAAO,KACP/gG,MAAO,OACPtS,MAAO,MAEX,CACIqzG,MAAO,KACP/gG,MAAO,OACPtS,MAAO,MAEX,CACIqzG,MAAO,KACP/gG,MAAO,OACPtS,MAAO,MAEX,CACIqzG,MAAO,MACPprK,MAAQklQ,GACJA,EAAIhV,QACAr9D,EAAAA,GAAAA,KAAC2kF,GAAkB,CACf12Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQsma,2BACpDhhV,QAASA,IACL0iY,EAAkB3jN,EAAK,aAI/BryE,EAAAA,GAAAA,KAAC4kF,GAAY,CACT32Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQuma,6BACpDjhV,QAASA,IACL0iY,EAAkB3jN,EAAK,aAK3C,CACI95F,MAAO,UACPprK,MAAQklQ,GACJA,EAAIxtB,KACA7kD,EAAAA,GAAAA,KAAC2kF,GAAkB,CACf12Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQsma,2BACpDhhV,QAASA,IACL0iY,EAAkB3jN,EAAK,UAI/BryE,EAAAA,GAAAA,KAAC4kF,GAAY,CACT32Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQuma,6BACpDjhV,QAASA,IACL0iY,EAAkB3jN,EAAK,UAK3C,CACI95F,MAAO,OACPprK,MAAQklQ,GACJA,EAAI5tL,MACAu7G,EAAAA,GAAAA,KAAC2kF,GAAkB,CACf12Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQsma,2BACpDhhV,QAASA,IACL0iY,EAAkB3jN,EAAK,WAI/BryE,EAAAA,GAAAA,KAAC4kF,GAAY,CACT32Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQuma,6BACpDjhV,QAASA,IACL0iY,EAAkB3jN,EAAK,eAQnDryE,EAAAA,GAAAA,KAAC4xO,GAAgB,CACbttZ,GAAImuZ,EACJx6P,QAASA,IAAMy6P,EAAiB,MAChCxkQ,SAAUA,IACN/8B,EAAYnE,kBAAkBk0G,IAElCnwN,SAAUA,IACNogH,EAAYnE,kBAAkBk0G,IAElCz/E,SAAUA,KACNixQ,EAAiB,MACjBvhS,EAAYnE,kBAAkBk0G,GAAwB,KAI9DlhD,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMo/U,EAAiB,iBAI9D,GyH8oBI,CACIpuZ,GAAI,cACJhV,KAAM,QACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,UwDr8BO,WACX,MAAMkuM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACvBq7B,GAAc,UACd,MAAMuxB,EAAgBhR,KAChBjnH,GAAcD,EAAAA,GAAAA,mBACbpH,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAGmJ,KAC3C0kN,EAAQC,IAAal1X,EAAAA,EAAAA,UAAS,MAErC,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,OACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,YAGvBygQ,aAAW,EACX7X,SAAUghF,KAGdnzJ,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAU+gH,GACVxhH,QAAUrwG,GAAW65O,EAAclR,QAAQ3oO,GAC3C85O,YAAav/H,EACbs3I,WAAa/O,GAAQ0zL,EAAa,OAAH1zL,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IACpC2uF,QAAS,CACL,CACIslE,MAAO,KACP/gG,MAAO,OACPtS,MAAO,MAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACbiuD,MAAO,OACPtS,MAAO,YAKnB86H,EAAAA,GAAAA,KAAC4kQ,GAAS,CACNtgb,GAAIwhb,EACJ7tR,QAASA,IAAM8tR,EAAU,MACzB73R,SAAUA,IACN/8B,EAAYnE,kBAAkBo0G,IAElCrwN,SAAUA,IACNogH,EAAYnE,kBAAkBo0G,IAElC3/E,SAAUA,KACNskS,EAAU,MACV50T,EAAYnE,kBAAkBo0G,GAAkB,KAIxDphD,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMyyW,EAAU,cAGnD,GxD04BI,CACIzhb,GAAI,YACJhV,KAAM,QACN4S,KAAM,cACNk4b,WAAW,EACX/rc,UyDx8BO,SAAkB8K,GAAM,MAAHA,EAChC0+N,GAAc,QACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBrrE,GAAcD,EAAAA,GAAAA,kBACdysR,EAAc1B,MACbnyR,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAGoJ,KAC3C08K,EAAOiC,IAAYnvV,EAAAA,EAAAA,UAAS,MAanC,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,SACNR,KAAM,YACN+J,QAASihM,EAAIhzL,EAAE,WACfpc,MAAO,EACP0O,QAAS,CACL,CAAEyI,GAAI,EAAGq6E,MAAO,MAChB,CAAEr6E,GAAI,EAAGq6E,MAAO,OAEpBrpF,GAAI,GAER,CACIvD,KAAM,OACNR,KAAM,WACN+J,QAASihM,EAAIhzL,EAAE,YACfpc,MAAO,GACPmI,GAAI,GAER,CACIvD,KAAM,OACNR,KAAM,WACN+J,QAASihM,EAAIhzL,EAAE,YACfpc,MAAO,GACPmI,GAAI,GAER,CACIvD,KAAM,SACNR,KAAM,SACN+J,QAASihM,EAAIhzL,EAAE,UACfpc,MAAO,MACP0O,QAAS,CACL,CAAEyI,GAAI,MAAOq6E,MAAO,SACpB,CAAEr6E,GAAI,MAAOq6E,MAAO,OACpB,CAAEr6E,GAAI,OAAQq6E,MAAO,QACrB,CAAEr6E,GAAI,MAAOq6E,MAAO,OACpB,CAAEr6E,GAAI,SAAUq6E,MAAO,WAE3BrpF,GAAI,IAGZ68P,SAnDS/5B,IACa,QAA1BA,EAAetrF,eAAyBsrF,EAAetrF,OAE3DqmM,EAAW/6G,EAAe,KAmDtBp4C,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUghH,GACVzhH,QAAUrwG,GAAWouY,EAAYzlK,QAAQ3oO,GACzC85O,YAAav/H,EACbq3I,aAAa,EACbluK,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,WACbpc,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACjlB,GAAU,CACP3gK,KAAK,QACL,aAAW,SACXk5E,QAASA,IACLooQ,GAAgBrpF,EAAIr7B,UAAU,IAC1Bz6B,EAAIq4B,YACA,IACAr4B,EAAIhzL,EAAE,wBAGjBxb,UAEDiyL,EAAAA,GAAAA,KAACm2R,GAAQ,CAAC3nd,SAAS,eAI/B,CACI+pK,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,SACP/3D,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACo9N,GAAe,CAACC,SAAUhrJ,EAAIvlH,UAGvC,CACIyrB,MAAOgkC,EAAIhzL,EAAE,YACb27C,MAAO,WACPsS,MAAO,OACPrqE,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAClxC,GAAI,CAACx7D,QAASA,IAAM0sU,EAAS3tJ,EAAI/tP,IAAIvW,UAClCiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIskQ,EAAIr7B,cAIpB,CACIz+D,MAAOgkC,EAAIhzL,EAAE,YACb27C,MAAO,YAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,OACPsS,MAAO,QAEX,CACI+gG,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,aACPsS,MAAO,OACPrqE,MAAQklQ,GAAQ,GAAGA,EAAI1kM,UAAU0kM,EAAI5kC,YAEzC,CACIl1D,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,SACPnzD,KAAM,UAEV,CACIwmK,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,WACPnzD,KAAM,WAEV,CACIwmK,MAAOgkC,EAAIhzL,EAAE,SACb27C,MAAO,gBACPnzD,KAAM,WAEV,CACIwmK,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,YACPnzD,KAAM,eAKlBiuL,EAAAA,GAAAA,KAACo/N,GAAQ,CACL96Y,GAAIy5Y,EACJ9lP,QAASA,KACL+nP,EAAS,MACT7uR,EAAYnE,kBAAkBq0G,GAAgB,KAItDrhD,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAM0sU,EAAS,cAGlD,GzD4yBI,CACI17Y,GAAI,iBACJhV,KAAM,QACN4S,KAAM,qBACNk4b,WAAW,EACX/rc,U0Dr9BO,SAAuB8K,GAAM,MAAHA,EACrC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACvBq7B,GAAc,aACd,MAAM8lL,EAAc1B,MACbnyR,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAGyJ,KAC3CsxN,EAAYoB,IAAiBvjY,EAAAA,EAAAA,UAAS,MAE7C,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,SACNuJ,QAASihM,EAAIhzL,EAAE,WACfhY,KAAM,YACNpE,MAAO,EACP0O,QAAS,CACL,CACIP,QAAS,KACTnO,MAAO,GAEX,CACImO,QAAS,KACTnO,MAAO,KAInB,CACI4E,KAAM,SACNuJ,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNpE,MAAO,KAGfglQ,SAAUghF,KAGdnzJ,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUqhH,GACV9hH,QAAUrwG,GAAWouY,EAAYhB,aAAaptY,GAC9C85O,YAAav/H,EACbs3I,WAAa/O,GAAQ+hM,EAAiB,OAAH/hM,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IACxC2uF,QAAS,CACL,CACIslE,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,OACPsS,MAAO,OACPrqE,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAAA,KAAAjyL,SAAO,OAAHskQ,QAAG,IAAHA,OAAG,EAAHA,EAAK9gQ,QAE7B,CACIgnK,MAAOgkC,EAAIhzL,EAAE,eACb27C,MAAO,cACPsS,MAAO,YAKnBwoH,EAAAA,GAAAA,KAAC6zQ,GAAa,CACVvvb,GAAI0ub,EACJL,WAAmB,OAAP7oU,QAAO,IAAPA,OAAO,EAAPA,EAAS+oU,UACrB56R,QAASA,IAAMm8R,EAAc,SAGjCp0Q,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAM8gX,EAAc,cAGvD,G1Do5BI,CACI9vb,GAAI,eACJhV,KAAM,QACN4S,KAAM,oBACNk4b,WAAW,EACX/rc,U2Dz9BO,SAAqB8K,GAAM,MAAHA,EACnC,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACvBq7B,GAAc,WACd,MAAM8lL,EAAc1B,MACbnyR,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAG4J,KAC3C0rL,EAAQ6oD,IAAavlZ,EAAAA,EAAAA,UAAS,OAG9BwlZ,EAAOC,IAAYzlZ,EAAAA,EAAAA,UAAS,GA6BnC,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACIntB,KAAM,SACNuJ,QAAS,KACT/J,KAAM,KACNpE,MAAO,KAGfw8Q,YAAa,CACT,CACIruQ,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,YACfhY,KAAM,WACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,SACfhY,KAAM,UACNQ,KAAM,OACN5E,MAAO4oC,MAAS/K,OAAO,eAE3B,CACI1vB,QAASihM,EAAIhzL,EAAE,OACfhY,KAAM,UACNQ,KAAM,OACN5E,MAAO4oC,MAAS/K,OAAO,eAE3B,CACI1vB,QAAS,SACT/J,KAAM,QACNpE,MAAO,IAEX,CACImO,QAASihM,EAAIhzL,EAAE,kBACfhY,KAAM,aACNQ,KAAM,QACNi4F,QAAS,IAEb,CACI1uF,QAASihM,EAAIhzL,EAAE,mBACfhY,KAAM,eACNQ,KAAM,QACNi4F,QAAS,KAGjBmoK,SAtFS/5B,IACjB,MAAMovH,EAAkB,IAAKpvH,GAKzBi+O,GAAS,GAAGC,EAASD,EAAQ,GAE7Bj+O,EAAey/G,UACf2P,EAAgB3P,QAAU9hT,IAAOqiM,EAAey/G,SAAS7sT,OACrD,eAIJotM,EAAe0/G,UACf0P,EAAgB1P,QAAU/hT,IAAOqiM,EAAe0/G,SAAS9sT,OACrD,eAIRmoT,EAAWqU,EAAgB,KAqEvBxnK,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUwhH,GACVjiH,QAAUrwG,GAAWouY,EAAYR,kBAAkB5tY,GACnD85O,YAAav/H,EACbwvH,aAAc,CAAEh0H,UAAWn5F,IAAUu6F,QAAS2vV,GAAS,GACvDj1M,WAAa/O,GAAQ+jN,EAAU/jN,GAC/Bp/J,QAAS,CACL,CACIslE,MAAO,KACPxmK,KAAM,KACNmzD,MAAO,MAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,SACbpc,MAAQklQ,GACU,OAAdA,EAAIphQ,OACU,KAAdohQ,EAAIphQ,QACA+uL,EAAAA,GAAAA,KAAC4kF,GAAY,CAACh0P,MAAO,CAAEziB,MAAO,cAG1C,CACIoqK,MAAOgkC,EAAIhzL,EAAE,SACbpc,MAAQklQ,GACJA,EAAIkkN,eACAv2R,EAAAA,GAAAA,KAAC4kF,GAAY,CAACh0P,MAAO,CAAEziB,MAAO,cAG1C,CACIoqK,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,UACPnzD,KAAM,SAEV,CACIwmK,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,GACJA,EAAI19B,MACA30C,EAAAA,GAAAA,KAACo9N,GAAe,CAACC,SAAUhrJ,EAAI19B,IAAI7nF,SAE3Cn9I,MAAO,IAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAE,YACbiuD,MAAO,OACPrqE,MAAQklQ,IAAQryE,EAAAA,GAAAA,KAAA,KAAAjyL,SAAIskQ,EAAIr7B,YAE5B,CACIz+D,MAAOgkC,EAAIhzL,EAAE,YACbpc,MAAQklQ,GACJA,EAAI7jC,UACJ,GAAG6jC,EAAI7jC,SAASlqN,QAAQ+tP,EAAI7jC,SAASj9N,QAE7C,CACIgnK,MAAOgkC,EAAIhzL,EAAE,WACb27C,MAAO,UACPv1D,MAAO,IAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAE,MACb27C,MAAO,KACPv1D,MAAO,IAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAE,QACb27C,MAAO,WACPv1D,MAAO,IAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAE,YACbxX,KAAM,eACN5E,MAAQklQ,GAAW,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAKu7J,UAMjC5tO,EAAAA,GAAAA,KAACstO,GAAiB,CACdC,OAAQA,EACRt1P,QAASA,IAAMm+S,EAAU,UAIzC,G3DmyBI,CACI9xc,GAAI,uBACJhV,KAAM,QACN4S,KAAM,uBACNk4b,WAAW,EACX/rc,U1B79BO,SAA6B8K,GAAM,MAAHA,EAC3C,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBxuM,EAAU2wB,KACVwyG,GAAcD,EAAAA,GAAAA,kBACpB2mG,GAAc,mBACd,MAAMu4B,EAAelB,KACfhE,EAAa9Q,MACZo6M,EAAYC,IAAiB5jY,EAAAA,EAAAA,UAAS,MACvC0iU,GAAiBjhQ,EAAAA,GAAAA,cAClB/iH,GACG27O,EAAW9P,qBAA2B,OAAN7rO,QAAM,IAANA,OAAM,EAANA,EAAQgtO,KAAY,OAANhtO,QAAM,IAANA,OAAM,EAANA,EAAQ4rO,YAC1D,CACIx4H,UAAWA,IACPwO,EAAYnE,kBAAkB80G,OAGnC,CAAE+E,GAAUrP,GAAU,CAAC+7J,EAAehxQ,SAE7C,OACImxG,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,CACD84O,GACD7mD,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHg5O,YAAa,CACT,CACI55P,MAAM2nL,EAAAA,GAAAA,KAACkyE,GAASA,EAAI,IACpB5+K,QAASA,IACL69C,EAAYnE,kBACR80G,SAMpB9hD,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAUyhH,GACVliH,QAAUrwG,GAAW6gP,EAAajB,qBAAqB5/O,GACvD0jF,QAAS,CACL,CACIslE,MAAO,KACPrzG,MAAO,KACP/3D,MAAQklQ,GAAW,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IAEzB,CACIi0J,MAAOgkC,EAAIhzL,EAAE,UACbpc,MAAQklQ,IAAG,IAAA81L,EAAA,OAAQ,OAAH91L,QAAG,IAAHA,GAAO,QAAJ81L,EAAH91L,EAAKjjK,UAAE,IAAA+4V,OAAJ,EAAHA,EAAS7jb,EAAE,GAE/B,CACIi0J,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,IAAG,IAAAmkN,EAAA,OAAQ,OAAHnkN,QAAG,IAAHA,GAAgB,QAAbmkN,EAAHnkN,EAAK7B,mBAAW,IAAAgmN,OAAb,EAAHA,EAAkBhxb,IAAI,GAE1C,CACI+yI,MAAO,SACPprK,MAAQklQ,IAAG,IAAAokN,EAAA,OAAQ,OAAHpkN,QAAG,IAAHA,GAAgB,QAAbokN,EAAHpkN,EAAK7B,mBAAW,IAAAimN,OAAb,EAAHA,EAAkBlmN,MAAM,GAE5C,CACIh4F,MAAO,GACPprK,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACs1Q,GAAqBA,EAAI,CACtBrnc,UAAW,GAAGD,EAAQkhV,eACtB57P,QAASA,KAAA,IAAAojY,EAAAC,EAAA,OACLpjF,EAAe7hQ,OAAO,CAClBypH,UAAc,OAAHkX,QAAG,IAAHA,GAAgB,QAAbqkN,EAAHrkN,EAAK7B,mBAAW,IAAAkmN,OAAb,EAAHA,EAAkBpyc,GAC7Bi4O,KAAS,OAAH8V,QAAG,IAAHA,GAAO,QAAJskN,EAAHtkN,EAAKjjK,UAAE,IAAAunX,OAAJ,EAAHA,EAASryc,IACjB,SAS1B07K,EAAAA,GAAAA,KAACs0Q,GAAyB,CACtBC,gBAAiBC,EACjBv8R,QAASA,IAAMw8R,EAAc,MAC7BvmS,SAAUA,IACN/8B,EAAYnE,kBAAkB80G,OAItC9hD,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAMmhX,EAAc,CAAC,OAGxD,G0B24BI,CACInwb,GAAI,mBACJhV,KAAM,QACN4S,KAAM,mBACNk4b,WAAW,EACX/rc,UvDr9BO,WACXwpO,GAAc,yBAEd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBxuM,EAAU2wB,MACV,UAAEixC,GAAc0oK,KAEhBnnG,GAAcD,EAAAA,GAAAA,kBACdk/H,EAAelB,MACdplI,EAASqpN,GAAcl7G,GAC1B,CAAC,EACD8J,KAEGouB,EAAkBymN,IAAuB/lZ,EAAAA,EAAAA,UAAS,OAClDgmZ,EAAoBC,IAAyBjmZ,EAAAA,EAAAA,UAAS,CACzD0rL,KAAM,KACNkT,cAAe,OAEZsnN,EAAyBC,IAC5BnmZ,EAAAA,EAAAA,WAAS,GAEP8/L,GAAiBr+H,EAAAA,GAAAA,cAClB/iH,GAAW6gP,EAAab,iCAAuC,OAANhgP,QAAM,IAANA,OAAM,EAANA,EAAQjL,KAClE,CACIq+G,UAAWA,KACPwO,EAAYnE,kBACR+0G,GACH,IAKPytB,GAA+Bl9H,EAAAA,GAAAA,cAChC/iH,GAAW6gP,EAAaZ,6BAA6BjgP,IACtD,CACIozG,UAAWA,KACPwO,EAAYnE,kBACR+0G,GACH,KAKN,CAAE8E,GAAUrP,GAAU,CAACm5B,EAAepuI,SAE7C,OACImxG,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,CACD84O,GACD7mD,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,OACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,qBAGvBogQ,YAAa,CACT,CACIp4Q,KAAM,KACNQ,KAAM,OACN5E,MAAO,GACPmO,QAAS,MAEb,CACI/J,KAAM,OACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,SAEnB,CACIhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,YAEnB,CACIhY,KAAM,SACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,cAEnB,CACIhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,YAEnB,CACIhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,YAEnB,CACIhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,YAEnB,CACIhY,KAAM,UACNQ,KAAM,OACN5E,MAAO,GACPmO,QAASihM,EAAIhzL,EAAE,YAEnB,CACIjO,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNQ,KAAM,SACN5E,MAAO,MACP0O,QAAS,CACL,CAAEyI,GAAI,MAAOq6E,MAAO49G,EAAIhzL,EAAE,QAC1B,CAAEjF,GAAI,KAAMq6E,MAAO,MACnB,CAAEr6E,GAAI,QAASq6E,MAAO49G,EAAIhzL,EAAE,UAC5B,CAAEjF,GAAI,OAAQq6E,MAAO,WAIjCwzK,SAAWhlQ,IACP,IAAI,QAAEyqV,EAAO,QAAED,GAAY,IAAKxqV,GAChC,MAAM,QAAE2qV,EAAO,QAAED,KAAY4jC,GAAc,IACpCtuX,GAGHwqV,IACAA,EAAUE,EACJ,IAAIltB,GAAYgtB,GAASz9R,QAAQ29R,GAAS7sB,SAC1C,IAAIL,GAAYgtB,GAAS/sB,OAE/BgtB,IACAA,EAAUE,EACJ,IAAIntB,GAAYitB,GAAS19R,QAAQ49R,GAAS9sB,SAC1C,IAAIL,GAAYitB,GAAShtB,OAGV,QAArB6wD,EAAUl5P,SACVk5P,EAAUl5P,OAAS,MAGvB4wN,EAAW,IAAKsoC,EAAW9jC,UAASC,WAAU,KAGtD53J,EAAAA,GAAAA,KAACa,GAAG,CAACvrL,GAAI,EAAEvH,UACPiyL,EAAAA,GAAAA,KAACi6D,GAAe,CACZ3+O,QAASs0D,EAAU,4BACnBt6D,GAAI,EACJg+E,QAASA,KACL0jY,GAA0B,EAAK,EAEnCpmc,MAAO,CAAE0/H,WAAY,SAG7B0vC,EAAAA,GAAAA,KAACqpF,GAAY,CACT9wG,MAAOgkC,EAAIhzL,EAAE,UACb4rJ,KAAM4hT,EACN9+S,QAASA,KACL++S,GAA0B,EAAM,EAEpC93b,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,QACfhY,KAAM,OACNQ,KAAM,OACN5E,MAAO0pd,EAAmBt6N,MAE9B,CACIjhP,QAASihM,EAAIhzL,EAAE,sBACfhY,KAAM,gBACNQ,KAAM,OACN5E,MAAO0pd,EAAmBpnN,gBAGlClxK,SAAUplF,IAAsB,IAArB,MAAEhM,EAAK,KAAEoE,GAAM4H,EACtB29c,EAAsB,IACfD,EACH,CAACtld,GAAiB,KAAVpE,EAAe,KAAOA,GAChC,EAENm8Q,QAASA,KACL9Z,EAA6B99H,OAAO,CAChC6qH,KAAMs6N,EAAmBt6N,KACzBkT,cAAeonN,EAAmBpnN,gBAEtCunN,GAA0B,EAAM,KAGxCh3R,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAU0hH,GACVniH,QAAUrwG,GACN6gP,EAAahB,2BAA2B7/O,GAE5C85O,YAAav/H,EACb72B,QAAS,CACL,CACIslE,MAAO,KACPrzG,MAAO,KACP/3D,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAClxC,GAAI,CACDx7D,QAASA,IAAMsjY,EAAoBvkN,GACnCz7G,QAAQ,QAAO7oJ,SAEdskQ,EAAI/tP,MAIjB,CACIi0J,MAAO,UACPrzG,MAAO,UACPnzD,KAAM,SAGV,CACIwmK,MAAO,YACPrzG,MAAO,YACPnzD,KAAM,SAEV,CACIwmK,MAAO,SACPrzG,MAAO,SACP/3D,MAAQklQ,IACJ,IAAIlkQ,EAAQ,MAQZ,MAPoB,QAAb,OAAHkkQ,QAAG,IAAHA,OAAG,EAAHA,EAAK9vI,UACLp0H,EAAQ,SAEQ,UAAb,OAAHkkQ,QAAG,IAAHA,OAAG,EAAHA,EAAK9vI,UACLp0H,EAAQ,SAGL6xL,EAAAA,GAAAA,KAAA,KAAGpvK,MAAO,CAAEziB,SAAQJ,SAAK,OAAHskQ,QAAG,IAAHA,OAAG,EAAHA,EAAK9vI,QAAW,GAGrD,CACIg2C,MAAO,KACPrzG,MAAO,KACP/3D,MAAQklQ,IAAG,IAAA4kN,EAAAC,EAAA,OAAQ,OAAH7kN,QAAG,IAAHA,GAAkB,QAAf4kN,EAAH5kN,EAAK/B,qBAAa,IAAA2mN,GAAI,QAAJC,EAAlBD,EAAoB7nX,UAAE,IAAA8nX,OAAnB,EAAHA,EAAwB3ld,IAAI,GAEhD,CACIgnK,MAAO,UACPprK,MAAQklQ,IAAG,IAAA8kN,EAAAC,EAAA,OAAQ,OAAH/kN,QAAG,IAAHA,GAAkB,QAAf8kN,EAAH9kN,EAAK/B,qBAAa,IAAA6mN,GAAa,QAAbC,EAAlBD,EAAoB3mN,mBAAW,IAAA4mN,OAA5B,EAAHA,EAAiC7mN,MAAM,GAE3D,CACIh4F,MAAO,OACPprK,MAAQklQ,IAAG,IAAAglN,EAAAC,EAAA,OAAQ,OAAHjlN,QAAG,IAAHA,GAAkB,QAAfglN,EAAHhlN,EAAK/B,qBAAa,IAAA+mN,GAAa,QAAbC,EAAlBD,EAAoB7mN,mBAAW,IAAA8mN,OAA5B,EAAHA,EAAiC9xb,IAAI,GAEzD,CACI+yI,MAAO,UACP5oK,MAAO,GACPxC,MAAQklQ,IAAG,IAAAklN,EAAA,OAAQ,OAAHllN,QAAG,IAAHA,GAAY,QAATklN,EAAHllN,EAAKt4C,eAAO,IAAAw9P,OAAT,EAAHA,EAAc91c,MAAM,EAAG,GAAG,GAE9C,CACI82J,MAAO,SACP5oK,MAAO,GACPxC,MAAQklQ,IAAG,IAAAmlN,EAAA,OAAQ,OAAHnlN,QAAG,IAAHA,GAAW,QAARmlN,EAAHnlN,EAAK5B,cAAM,IAAA+mN,OAAR,EAAHA,EAAa/1c,MAAM,EAAG,GAAG,GAE7C,CACI82J,MAAO,SACP5oK,MAAO,GACPxC,MAAQklQ,IAAG,IAAAolN,EAAAC,EAAAxjI,EAAA,OACH,OAAH7hF,QAAG,IAAHA,OAAG,EAAHA,EAAKn3B,SAAY,OAAHm3B,QAAG,IAAHA,GAAU,QAAPolN,EAAHplN,EAAKn3B,aAAK,IAAAu8O,OAAP,EAAHA,EAAYnzc,MACvB,OAAH+tP,QAAG,IAAHA,OAAG,EAAHA,EAAK1T,SAAY,OAAH0T,QAAG,IAAHA,GAAU,QAAPqlN,EAAHrlN,EAAK1T,aAAK,IAAA+4N,OAAP,EAAHA,EAAYpzc,MACvB,OAAH+tP,QAAG,IAAHA,OAAG,EAAHA,EAAKtnM,SAAY,OAAHsnM,QAAG,IAAHA,GAAU,QAAP6hF,EAAH7hF,EAAKtnM,aAAK,IAAAmpR,OAAP,EAAHA,EAAY5vU,KAC3B,EAAE,GAEV,CACIi0J,MAAO,GACPprK,MAAQklQ,IACJryE,EAAAA,GAAAA,KAACsyE,GAASA,EAAI,CACVrkQ,UAAWD,EAAQsjQ,WACnBh+K,QAASA,IACLq9K,EAAej/H,OAAO,CAAEptH,GAAO,OAAH+tP,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,WAQxD6rP,IACGnwE,EAAAA,GAAAA,KAAC0vE,GAA8B,CAC3BS,iBAAkBA,EAClBl4F,QAASA,KACL2+S,EAAoB,KAAK,MAMjD,GuDsrBI,CACItyc,GAAI,aACJhV,KAAM,QACN4S,KAAM,eACNk4b,WAAW,EACX/rc,U4Dh/BO,SAAiB8K,GAAM,MAAHA,EAC/B,MAAMojM,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACvBq7B,GAAc,SACd,MAAM1mG,GAAcD,EAAAA,GAAAA,kBACd2tR,EAAeF,MACd70R,EAASqpN,GAAcl7G,GAAgB,CAAC,EAAG+J,KAC3CmsL,EAAQC,IAAav9V,EAAAA,EAAAA,UAAS,MAErC,OACI6iK,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI3tB,KAAM,KACNQ,KAAM,OACN5E,MAAO,GACPmO,QAAS,OAGjBquQ,YAAa,CACT,CACIruQ,QAAS,OACT/J,KAAM,OACNpE,MAAO,OACP4E,KAAM,SACN8J,QAAS0gM,EAAIs4B,UAAU8K,WAE3B,CACIrkO,QAAS,SACT/J,KAAM,SACNpE,MAAO,GACP4E,KAAM,SACN8J,QAAS0gM,EAAIs4B,UAAU+K,cAE3B,CACItkO,QAAS,cACT/J,KAAM,cACNpE,MAAO,IAEX,CACImO,QAAS,OACT/J,KAAM,OACNpE,MAAO,IAEX,CACImO,QAAS,OACT/J,KAAM,OACNpE,MAAO,IAEX,CACImO,QAAS,WACT/J,KAAM,WACNpE,MAAO,KAGfglQ,SAAUghF,KAGdnzJ,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAU2hH,GACVpiH,QAAUrwG,GAAWsvY,EAAa3mK,QAAQ3oO,GAC1C85O,YAAav/H,EACbs3I,WAAa/O,GAAQ+7J,EAAa,OAAH/7J,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,IACpC2uF,QAAS,CACL,CACIslE,MAAO,KACPrzG,MAAO,KACPnzD,KAAM,MAEV,CACIwmK,MAAO,OACPrzG,MAAO,QAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,YACb27C,MAAO,YAEX,CACIqzG,MAAOgkC,EAAIhzL,EAAE,eACb27C,MAAO,cACPsS,MAAO,OACPrqE,MAAQklQ,IACJryE,EAAAA,GAAAA,KAAA,QAAMpvK,MAAO,CAAEyQ,WAAY,YAAatzB,UACpCiyL,EAAAA,GAAAA,KAAA,KAAAjyL,SACKskQ,EAAIn4C,aACDm4C,EAAIn4C,YACC/mN,MAAM,SACNR,KAAK,WAK9B,CACI4lK,MAAOgkC,EAAIhzL,EAAE,QACbpc,MAAQklQ,GAAQA,EAAIy3F,MAAQz3F,EAAIy3F,KAAKn3V,KAAK,MAC1ChD,MAAO,KAEX,CACI4oK,MAAOgkC,EAAIhzL,EAAE,UACb27C,MAAO,cAKnB86H,EAAAA,GAAAA,KAAC6tO,GAAS,CACNvpZ,GAAI6pZ,EACJl2P,QAASA,IAAMm2P,EAAU,MACzBlgQ,SAAUkgQ,EACVr9Y,SAAUA,IAAMogH,EAAYnE,kBAAkBg1G,IAC9CvgF,SAAUA,KACNtwB,EAAYnE,kBAAkBg1G,IAC9BosL,EAAU,KAAK,KAIvBpuO,EAAAA,GAAAA,KAAC4rL,GAAY,CAACt4R,QAASA,IAAM86U,EAAU,cAGnD,G5D23BI,CACI9pZ,GAAI,0BACJhV,KAAM,QACN4S,KAAM,6BACNk4b,WAAW,EACX/rc,UjBh+BO,WACXwpO,GAAc,sBACd,MAAMt7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,IACjBxuM,EAAU2wB,KACVwyG,GAAcD,EAAAA,GAAAA,kBACdgmU,EAA4BN,MAC3B+gB,EAAiBC,IAAsB/mZ,EAAAA,EAAAA,UAAS,OAChDi5D,EAASqpN,GAAcl7G,GAC1B,CAAC,EACDiK,IAEE20N,GAAsCvkU,EAAAA,GAAAA,cACxC,IAAM4kU,EAA0BL,uCAChC,CACIl0U,UAAWA,KACPwO,EAAYnE,kBAAkBk1G,GAA+B,IAInEuxJ,GAAiBnhQ,EAAAA,GAAAA,cAClB/iH,GACG2nb,EAA0Bx5a,OAAa,OAANnO,QAAM,IAANA,OAAM,EAANA,EAAQjL,GAAU,OAANiL,QAAM,IAANA,OAAM,EAANA,EAAQA,SACzD,CACIozG,UAAWA,KACPwO,EAAYnE,kBAAkBk1G,GAA+B,EAEjEx+I,QAAUzyF,IAAW,IAADmnV,EAChB77I,EAAIq4B,YAAY,IAAU,OAAL3jO,QAAK,IAALA,GAAa,QAARmnV,EAALnnV,EAAOixM,cAAM,IAAAk2I,OAAR,EAALA,EAAeh7S,IAAI,KAI7C,CAAEypM,GAAUrP,GAAU,CACzBq/N,EAAoCt0U,OACpCkxQ,EAAelxQ,SAgBnB,OACImxG,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACDnT,EAAAA,GAAAA,MAACltD,GAAK,CAAAz4K,SAAA,EACFiyL,EAAAA,GAAAA,KAAC0pF,GAAuB,CACpBzwP,EAAG,EACHiG,OAAQ,CACJ,CACI5jB,QAASihM,EAAIhzL,EAAE,UACfxX,KAAM,SACNR,KAAM,SACNpE,MAAO,MACP0O,QAAS,CACL,CACIP,QAASihM,EAAIhzL,EAAE,OACfpc,MAAO,OAEX,CACImO,QAAS,MACTnO,MAAO,OAEX,CACImO,QAAS,OACTnO,MAAO,QAEX,CACImO,QAAS,MACTnO,MAAO,OAEX,CACImO,QAAS,SACTnO,MAAO,YAInB,CACI4E,KAAM,OACNuJ,QAASihM,EAAIhzL,EAAE,YACfhY,KAAM,WACNpE,MAAO,IAEX,CACI4E,KAAM,SACNuJ,QAASihM,EAAIhzL,EAAE,UACfhY,KAAM,SACNy4F,SAAS,GAEb,CACIj4F,KAAM,SACNuJ,QAAS,UACT/J,KAAM,UACNy4F,SAAS,IAGjBioK,YAAa,CACT,CACI55P,MAAM2nL,EAAAA,GAAAA,KAAC63R,GAAeA,EAAI,IAC1BvkY,QAASA,IACLujX,EAAoCnlU,WAGhDs4I,aAAa,EACb7X,SAtEK/5B,IACjB,MAAM0/O,EAAmB1/O,EACM,SAAb,OAAdA,QAAc,IAAdA,OAAc,EAAdA,EAAgBtrF,gBAAyBgrU,EAAiBhrU,QAC/B,KAAb,OAAdsrF,QAAc,IAAdA,OAAc,EAAdA,EAAgBrnO,gBAAyB+md,EAAiB/md,QAC9B,KAAd,OAAdqnO,QAAc,IAAdA,OAAc,EAAdA,EAAgB2/O,iBAA0BD,EAAiBC,QAC/D5kI,EAAW/6G,EAAe,KAoElBp4C,EAAAA,GAAAA,KAACozJ,GAAc,CACX/yN,SAAU6hH,GACVtiH,QAAUrwG,GACN2nb,EAA0Bh/M,QAAQ3oO,GAEtC85O,YAAav/H,EACb8oD,YAAa,IACb3/E,QAAS,CACL,CACIslE,MAAO,KACPrzG,MAAO,KACPsS,MAAO,QAEX,CACI+gG,MAAO,SACP/gG,MAAO,OACPtS,MAAO,UAEX,CACIqzG,MAAO,WACP/gG,MAAO,OACPtS,MAAO,WACP/3D,MAAQklQ,IAEJryE,EAAAA,GAAAA,KAACiB,GAAM,CAAC3tG,QAASA,IAAMskY,EAAmBvlN,GAAKtkQ,SACvC,OAAHskQ,QAAG,IAAHA,OAAG,EAAHA,EAAKr7B,YAIlB,CACIz+D,MAAO,UACPrzG,MAAO,YACPsS,MAAO,OACPrqE,MAAQklQ,GACD,OAAHA,QAAG,IAAHA,GAAAA,EAAKhsI,UACC,IAAIskM,GAAe,OAAHt4D,QAAG,IAAHA,OAAG,EAAHA,EAAKhsI,WAAW+kM,MAChC,IAEd,CACI7yJ,MAAO,QACPrzG,MAAO,QACPsS,MAAO,QAEX,CACI+gG,MAAO,MACPrzG,MAAO,sBACPsS,MAAO,OACPrqE,MAAQklQ,GACD,OAAHA,QAAG,IAAHA,GAAAA,EAAKilM,oBACC,IAAI3sI,GACG,OAAHt4D,QAAG,IAAHA,OAAG,EAAHA,EAAKilM,qBACPlsI,MACF,IAEd,CACI7yJ,MAAO,MACPrzG,MAAO,mBACPsS,MAAO,OACPrqE,MAAQklQ,GACD,OAAHA,QAAG,IAAHA,GAAAA,EAAKglM,iBACC,IAAI1sI,GACG,OAAHt4D,QAAG,IAAHA,OAAG,EAAHA,EAAKglM,kBACPjsI,MACF,IAEd,CACI7yJ,MAAO,cACPprK,MAAQklQ,GACJA,EAAIthQ,QACAivL,EAAAA,GAAAA,KAAC2kF,GAAkB,CACf12Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQsma,2BACpDhhV,QAASA,IACLmgT,EAAe/hQ,OAAO,CAClBptH,GAAO,OAAH+tP,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,GACTiL,OAAQ,CACJxe,QAASshQ,EAAIthQ,aAM7BivL,EAAAA,GAAAA,KAAC4kF,GAAY,CACT32Q,UAAW,GAAGD,EAAQqma,sBAAsBrma,EAAQuma,6BACpDjhV,QAASA,IACLmgT,EAAe/hQ,OAAO,CAClBptH,GAAO,OAAH+tP,QAAG,IAAHA,OAAG,EAAHA,EAAK/tP,GACTiL,OAAQ,CACJxe,QAASshQ,EAAIthQ,aAOzC,CACIwnK,MAAO,eACPprK,MAAQklQ,GACD,OAAHA,QAAG,IAAHA,GAAAA,EAAK0lN,SACD/3R,EAAAA,GAAAA,KAAC2kF,GAAkB,CACf12Q,UAAW,GAAGD,EAAQsma,8BAG1Bt0O,EAAAA,GAAAA,KAAC4kF,GAAY,CACT32Q,UAAW,GAAGD,EAAQuma,mCAO7CojD,IACG33R,EAAAA,GAAAA,KAACg3Q,GAAiB,CACdC,kBAAmB0gB,EACnB1/S,QAASA,KACL2/S,EAAmB,KAAK,EAE5B7mc,SAAUA,KACNogH,EAAYnE,kBACRk1G,GACH,SAO7B,GiBkvBI,CACI59N,GAAI,SACJhV,KAAM,QACN4S,KAAM,gBACNk4b,WAAW,EACX/rc,U6DjgCO,WACX,MAAM,UAAEuhE,GAAc0oK,KAEhB/7B,GAAMvpH,EAAAA,EAAAA,YAAWwpH,KAEvB5rI,EAAAA,EAAAA,YAAU,KACN2rI,EAAIyjB,UAAU,CAAEznD,MAAO,gBAAiB,GAEzC,IAEH,MAAMrkD,EAAOo8F,GAAQ,CACjB7Q,cAAe,CACXqiD,YAAajtB,GAAUwuB,QAAQ1kB,aAAa8gB,KAAKluP,KACjDw9b,MAAO,KAGTh5J,EAAap9C,MACXjnH,OAAQsmV,EAAwB,OAAEz1V,GACtCwzK,EAAWr8C,4BAA4B,CACnCh2J,QAAUhqD,IAEDN,GAASM,EAAIzoC,QACa,kBAAlByoC,EAAIzoC,MAAMmsC,KAKvBm/J,EAAIq4B,YAAY,IAAKl7L,EAAIzoC,MAAMmsC,IAAK,IAAK,EAE7CulF,UAAWA,KACP45E,EAAIq4B,YAAY,IAAK,sCAAgC,KAG1D,CAAEiS,GAAUrP,GAAU,CAAY,UAAXj1G,EAAqB,OAASA,IAE5D,OACImxG,EAAAA,GAAAA,MAAA3yC,GAAAA,SAAA,CAAAhzL,SAAA,CACK84O,GACD7mD,EAAAA,GAAAA,KAAC6wE,GAAgB,CACb38I,KAAMA,EACNh1F,OAAQ,CACJ,CACIntB,KAAM,YACNR,KAAM,QACN+J,QAAS,aACThG,GAAI,GAER,CACIvD,KAAM,SACNR,KAAM,cACN+J,QAASs0D,EAAU+0K,GAAa0e,QAAQvB,aACxCjmP,QAAS,CACL,CACIP,QAASs0D,EACLilK,GAAUwuB,QAAQ1kB,aAAaw/B,UAC1BC,iBAETjxQ,MAAO0nO,GAAUwuB,QAAQ1kB,aAAaw/B,UACjC5sQ,MAET,CACI+J,QAASs0D,EACLilK,GAAUwuB,QAAQ1kB,aAAagnB,IAC1ByY,iBAETjxQ,MAAO0nO,GAAUwuB,QAAQ1kB,aAAagnB,IAAIp0P,OAGlDu8O,kBAAkB,EAClBx4O,GAAI,IAGZqlG,QAAS,CACL,CACIxlB,MAAM,EACNpjF,KAAM,SACNuJ,QAAS,WACTg4E,QAAS4gC,EAAKi6F,cACTyM,IACGo9P,EAAyBp9P,EAAS,UAQlE,G7Dg7BI,CACIt2M,GAAI,UACJpC,KAAM,IACN7T,UAAWmtY,GACXptU,OAAO,IAOFvpC,GAAU,SACnBozb,GAEE,IADF1oc,EAA+B7d,UAAAC,OAAA,QAAAtC,IAAAqC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEnC,MAAMwmd,EAAU70U,GAAM/zE,MAAMptD,GAASA,EAAKoC,KAAO2zc,IAEjD,GAAIC,EAAS,CACT,IAAIC,EAAoBD,EAAQh2c,KAUhC,OARIqN,GACAviB,OAAOgI,KAAKua,GAAQmK,SAAS5jB,IACzBqid,EAAYA,EAAU9lc,QAClB,IAAIvc,IACJyZ,EAAOzZ,GAAM6T,WAChB,IAGFwuc,CACX,CAGA,MAAO,GACX,E8DzPA,GA3zB2B,CACvBC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,KACHC,OAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,KACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,KACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,KACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,KACHC,OAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,KACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,KACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,KACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,OAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,SAAG,IACHC,S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","sources":["../node_modules/@material-ui/core/colors/blue.js","../node_modules/@material-ui/core/colors/common.js","../node_modules/@material-ui/core/colors/green.js","../node_modules/@material-ui/core/colors/grey.js","../node_modules/@material-ui/core/colors/indigo.js","../node_modules/@material-ui/core/colors/orange.js","../node_modules/@material-ui/core/colors/pink.js","../node_modules/@material-ui/core/colors/red.js","../node_modules/@material-ui/core/esm/SvgIcon/SvgIcon.js","../node_modules/@material-ui/core/esm/styles/colorManipulator.js","../node_modules/@material-ui/core/esm/styles/createBreakpoints.js","../node_modules/@material-ui/core/esm/styles/createMixins.js","../node_modules/@material-ui/core/esm/colors/common.js","../node_modules/@material-ui/core/esm/colors/grey.js","../node_modules/@material-ui/core/esm/colors/indigo.js","../node_modules/@material-ui/core/esm/colors/pink.js","../node_modules/@material-ui/core/esm/colors/red.js","../node_modules/@material-ui/core/esm/colors/orange.js","../node_modules/@material-ui/core/esm/colors/blue.js","../node_modules/@material-ui/core/esm/colors/green.js","../node_modules/@material-ui/core/esm/styles/createPalette.js","../node_modules/@material-ui/core/esm/styles/createTypography.js","../node_modules/@material-ui/core/esm/styles/shadows.js","../node_modules/@material-ui/core/esm/styles/shape.js","../node_modules/@material-ui/core/esm/styles/createTheme.js","../node_modules/@material-ui/core/esm/styles/createSpacing.js","../node_modules/@material-ui/core/esm/styles/defaultTheme.js","../node_modules/@material-ui/core/esm/styles/transitions.js","../node_modules/@material-ui/core/esm/styles/withStyles.js","../node_modules/@material-ui/core/esm/styles/zIndex.js","../node_modules/@material-ui/core/esm/utils/capitalize.js","../node_modules/@material-ui/core/esm/utils/createChainedFunction.js","../node_modules/@material-ui/core/esm/utils/createSvgIcon.js","../node_modules/@material-ui/core/esm/utils/debounce.js","../node_modules/@material-ui/core/esm/utils/deprecatedPropType.js","../node_modules/@material-ui/core/esm/utils/requirePropFactory.js","../node_modules/@material-ui/core/esm/utils/unsupportedProp.js","../node_modules/@material-ui/core/esm/utils/isMuiElement.js","../node_modules/@material-ui/core/esm/utils/ownerDocument.js","../node_modules/@material-ui/core/esm/utils/ownerWindow.js","../node_modules/@material-ui/core/esm/utils/setRef.js","../node_modules/@material-ui/core/esm/utils/unstable_useId.js","../node_modules/@material-ui/core/esm/utils/useControlled.js","../node_modules/@material-ui/core/esm/utils/useEventCallback.js","../node_modules/@material-ui/core/esm/utils/useForkRef.js","../node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js","../node_modules/@material-ui/core/locale/index.js","../node_modules/@material-ui/core/node_modules/clsx/dist/clsx.m.js","../node_modules/@material-ui/core/styles/colorManipulator.js","../node_modules/@material-ui/core/styles/createBreakpoints.js","../node_modules/@material-ui/core/styles/createMixins.js","../node_modules/@material-ui/core/styles/createPalette.js","../node_modules/@material-ui/core/styles/createSpacing.js","../node_modules/@material-ui/core/styles/createTheme.js","../node_modules/@material-ui/core/styles/createTypography.js","../node_modules/@material-ui/core/styles/defaultTheme.js","../node_modules/@material-ui/core/styles/makeStyles.js","../node_modules/@material-ui/core/styles/shadows.js","../node_modules/@material-ui/core/styles/shape.js","../node_modules/@material-ui/core/styles/transitions.js","../node_modules/@material-ui/core/styles/zIndex.js","../node_modules/@material-ui/icons/AccountBalance.js","../node_modules/@material-ui/icons/AccountBalanceWalletOutlined.js","../node_modules/@material-ui/icons/AccountCircle.js","../node_modules/@material-ui/icons/Add.js","../node_modules/@material-ui/icons/AddCircleOutlineOutlined.js","../node_modules/@material-ui/icons/AddOutlined.js","../node_modules/@material-ui/icons/Adjust.js","../node_modules/@material-ui/icons/ArrowBack.js","../node_modules/@material-ui/icons/ArrowBackIos.js","../node_modules/@material-ui/icons/ArrowForwardIos.js","../node_modules/@material-ui/icons/ArrowRight.js","../node_modules/@material-ui/icons/AttachFile.js","../node_modules/@material-ui/icons/AttachMoney.js","../node_modules/@material-ui/icons/Autorenew.js","../node_modules/@material-ui/icons/Build.js","../node_modules/@material-ui/icons/Cached.js","../node_modules/@material-ui/icons/CallSplit.js","../node_modules/@material-ui/icons/CancelPresentation.js","../node_modules/@material-ui/icons/Category.js","../node_modules/@material-ui/icons/CenterFocusWeak.js","../node_modules/@material-ui/icons/ChatBubbleOutline.js","../node_modules/@material-ui/icons/CheckCircle.js","../node_modules/@material-ui/icons/CheckCircleOutline.js","../node_modules/@material-ui/icons/Clear.js","../node_modules/@material-ui/icons/ClearAll.js","../node_modules/@material-ui/icons/Close.js","../node_modules/@material-ui/icons/CloseOutlined.js","../node_modules/@material-ui/icons/CloudDownload.js","../node_modules/@material-ui/icons/CompareArrows.js","../node_modules/@material-ui/icons/ConfirmationNumber.js","../node_modules/@material-ui/icons/ContactSupport.js","../node_modules/@material-ui/icons/Create.js","../node_modules/@material-ui/icons/CreditCardOutlined.js","../node_modules/@material-ui/icons/Delete.js","../node_modules/@material-ui/icons/DeleteOutline.js","../node_modules/@material-ui/icons/DeleteOutlineOutlined.js","../node_modules/@material-ui/icons/Done.js","../node_modules/@material-ui/icons/DoneAll.js","../node_modules/@material-ui/icons/DoneOutline.js","../node_modules/@material-ui/icons/DoneOutlineOutlined.js","../node_modules/@material-ui/icons/Edit.js","../node_modules/@material-ui/icons/Email.js","../node_modules/@material-ui/icons/EmojiEvents.js","../node_modules/@material-ui/icons/ErrorOutline.js","../node_modules/@material-ui/icons/EventNote.js","../node_modules/@material-ui/icons/ExitToApp.js","../node_modules/@material-ui/icons/ExitToAppOutlined.js","../node_modules/@material-ui/icons/Face.js","../node_modules/@material-ui/icons/Favorite.js","../node_modules/@material-ui/icons/FavoriteBorder.js","../node_modules/@material-ui/icons/FileCopy.js","../node_modules/@material-ui/icons/FirstPage.js","../node_modules/@material-ui/icons/FlashOn.js","../node_modules/@material-ui/icons/FlipCameraAndroid.js","../node_modules/@material-ui/icons/GetApp.js","../node_modules/@material-ui/icons/GolfCourse.js","../node_modules/@material-ui/icons/Group.js","../node_modules/@material-ui/icons/HelpOutline.js","../node_modules/@material-ui/icons/HighlightOff.js","../node_modules/@material-ui/icons/Home.js","../node_modules/@material-ui/icons/HowToReg.js","../node_modules/@material-ui/icons/InsertDriveFile.js","../node_modules/@material-ui/icons/KeyboardArrowLeft.js","../node_modules/@material-ui/icons/KeyboardArrowRight.js","../node_modules/@material-ui/icons/KeyboardReturn.js","../node_modules/@material-ui/icons/LastPage.js","../node_modules/@material-ui/icons/ListAlt.js","../node_modules/@material-ui/icons/LiveHelp.js","../node_modules/@material-ui/icons/LocalAtm.js","../node_modules/@material-ui/icons/LocalAtmOutlined.js","../node_modules/@material-ui/icons/LocalOffer.js","../node_modules/@material-ui/icons/LocalShipping.js","../node_modules/@material-ui/icons/LocalShippingOutlined.js","../node_modules/@material-ui/icons/Loop.js","../node_modules/@material-ui/icons/NoteOutlined.js","../node_modules/@material-ui/icons/Payment.js","../node_modules/@material-ui/icons/People.js","../node_modules/@material-ui/icons/PeopleOutline.js","../node_modules/@material-ui/icons/Person.js","../node_modules/@material-ui/icons/PersonAdd.js","../node_modules/@material-ui/icons/PersonOutline.js","../node_modules/@material-ui/icons/PersonOutlineOutlined.js","../node_modules/@material-ui/icons/Phone.js","../node_modules/@material-ui/icons/PlayArrow.js","../node_modules/@material-ui/icons/PowerSettingsNew.js","../node_modules/@material-ui/icons/Public.js","../node_modules/@material-ui/icons/Publish.js","../node_modules/@material-ui/icons/Redo.js","../node_modules/@material-ui/icons/Refresh.js","../node_modules/@material-ui/icons/RemoveOutlined.js","../node_modules/@material-ui/icons/Replay.js","../node_modules/@material-ui/icons/Reply.js","../node_modules/@material-ui/icons/RotateLeft.js","../node_modules/@material-ui/icons/School.js","../node_modules/@material-ui/icons/Search.js","../node_modules/@material-ui/icons/Send.js","../node_modules/@material-ui/icons/SentimentSatisfiedAlt.js","../node_modules/@material-ui/icons/SentimentVeryDissatisfied.js","../node_modules/@material-ui/icons/Settings.js","../node_modules/@material-ui/icons/SettingsBackupRestore.js","../node_modules/@material-ui/icons/Speed.js","../node_modules/@material-ui/icons/Sports.js","../node_modules/@material-ui/icons/SupervisorAccount.js","../node_modules/@material-ui/icons/SystemUpdateAlt.js","../node_modules/@material-ui/icons/Today.js","../node_modules/@material-ui/icons/ViewModule.js","../node_modules/@material-ui/icons/Visibility.js","../node_modules/@material-ui/icons/VpnKey.js","../node_modules/@material-ui/icons/utils/createSvgIcon.js","../node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js","../node_modules/@material-ui/styles/esm/ThemeProvider/ThemeProvider.js","../node_modules/@material-ui/styles/esm/ThemeProvider/nested.js","../node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js","../node_modules/@material-ui/styles/esm/createStyles/createStyles.js","../node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js","../node_modules/@material-ui/styles/esm/ServerStyleSheets/ServerStyleSheets.js","../node_modules/@material-ui/styles/esm/withTheme/withTheme.js","../node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","../node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","../node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","../node_modules/hyphenate-style-name/index.js","../node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","../node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","../node_modules/css-vendor/dist/css-vendor.esm.js","../node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","../node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","../node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js","../node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js","../node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js","../node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js","../node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js","../node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js","../node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js","../node_modules/@material-ui/styles/node_modules/clsx/dist/clsx.m.js","../node_modules/@material-ui/styles/esm/styled/styled.js","../node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js","../node_modules/@material-ui/styles/esm/useTheme/useTheme.js","../node_modules/@material-ui/styles/esm/withStyles/withStyles.js","../node_modules/@material-ui/system/esm/borders.js","../node_modules/@material-ui/system/esm/breakpoints.js","../node_modules/@material-ui/system/esm/compose.js","../node_modules/@material-ui/system/esm/display.js","../node_modules/@material-ui/system/esm/flexbox.js","../node_modules/@material-ui/system/esm/grid.js","../node_modules/@material-ui/system/esm/merge.js","../node_modules/@material-ui/system/esm/palette.js","../node_modules/@material-ui/system/esm/positions.js","../node_modules/@material-ui/system/esm/shadows.js","../node_modules/@material-ui/system/esm/sizing.js","../node_modules/@material-ui/system/esm/spacing.js","../node_modules/@material-ui/system/esm/memoize.js","../node_modules/@material-ui/system/esm/style.js","../node_modules/@material-ui/system/esm/styleFunctionSx.js","../node_modules/@material-ui/system/esm/typography.js","../node_modules/@material-ui/utils/esm/deepmerge.js","../node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js","../node_modules/@material-ui/utils/esm/chainPropTypes.js","../node_modules/@material-ui/utils/esm/elementAcceptingRef.js","../node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js","../node_modules/@material-ui/utils/esm/exactProp.js","../node_modules/@material-ui/utils/esm/getDisplayName.js","../node_modules/@material-ui/utils/esm/HTMLElementType.js","../node_modules/@material-ui/utils/esm/ponyfillGlobal.js","../node_modules/@material-ui/utils/esm/refType.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/invariant/browser.js","../node_modules/is-in-browser/dist/module.js","../node_modules/isarray/index.js","../node_modules/jss/dist/jss.esm.js","../node_modules/moment/locale/es.js","../node_modules/moment/moment.js","../node_modules/object-assign/index.js","../node_modules/path-to-regexp/index.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-charts/src/utils/ChartContext.js","../node_modules/react-charts/src/utils/Utils.js","../node_modules/react-charts/node_modules/@reach/observe-rect/dist/observe-rect.esm.js","../node_modules/react-charts/src/hooks/useIsomorphicLayoutEffect.js","../node_modules/react-charts/src/hooks/useHyperResponsive.js","../node_modules/react-charts/src/hooks/useLatestRef.js","../node_modules/react-charts/src/hooks/useLatest.js","../node_modules/react-charts/src/hooks/usePrevious.js","../node_modules/react-charts/src/utils/Raf.js","../node_modules/react-charts/src/primitives/Rectangle.js","../node_modules/react-charts/src/d3/index.js","../node_modules/react-charts/src/primitives/Path.js","../node_modules/react-charts/src/components/Voronoi.js","../node_modules/react-charts/src/primitives/Line.js","../node_modules/react-charts/src/primitives/Text.js","../node_modules/react-charts/src/primitives/Group.js","../node_modules/react-charts/src/utils/Constants.js","../node_modules/react-charts/src/components/AxisLinear.js","../node_modules/react-charts/src/components/Axis.js","../node_modules/react-charts/src/components/Tooltip.js","../node_modules/react-charts/src/components/Cursor.js","../node_modules/react-charts/src/components/Brush.js","../node_modules/react-charts/src/components/ChartInner.js","../node_modules/react-charts/src/hooks/usePropsMemo.js","../node_modules/react-charts/src/hooks/useSeriesStyle.js","../node_modules/react-charts/src/hooks/useDatumStyle.js","../node_modules/react-charts/src/primitives/Circle.js","../node_modules/react-charts/src/seriesTypes/Line.js","../node_modules/react-charts/src/seriesTypes/Bubble.js","../node_modules/react-charts/src/seriesTypes/Area.js","../node_modules/react-charts/src/seriesTypes/Bar.js","../node_modules/react-charts/src/components/pipeline/useSeriesOptions.js","../node_modules/react-charts/src/utils/buildAxis.linear.js","../node_modules/react-charts/src/utils/buildAxis.js","../node_modules/react-charts/src/components/pipeline/useStackData.js","../node_modules/react-charts/src/components/TooltipRenderer.js","../node_modules/react-charts/src/components/pipeline/useCursors.js","../node_modules/react-charts/src/components/Chart.js","../node_modules/react-charts/src/components/pipeline/useMaterializeData.js","../node_modules/react-charts/src/components/pipeline/useSeriesTypes.js","../node_modules/react-charts/src/components/pipeline/useDimensions.js","../node_modules/react-charts/src/components/pipeline/useAxes.js","../node_modules/react-charts/src/components/pipeline/useTooltip.js","../node_modules/react-charts/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-image-crop/dist/ReactCrop.min.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-query/devtools/index.js","../node_modules/react-query/es/core/focusManager.js","../node_modules/react-query/es/core/infiniteQueryBehavior.js","../node_modules/react-query/es/core/logger.js","../node_modules/react-query/es/core/mutation.js","../node_modules/react-query/es/core/notifyManager.js","../node_modules/react-query/es/core/onlineManager.js","../node_modules/react-query/es/core/query.js","../node_modules/react-query/es/core/queryCache.js","../node_modules/react-query/es/core/mutationCache.js","../node_modules/react-query/es/core/queryClient.js","../node_modules/react-query/es/core/retryer.js","../node_modules/react-query/es/core/subscribable.js","../node_modules/react-query/es/core/utils.js","../node_modules/react-query/es/react/reactBatchedUpdates.js","../node_modules/react-query/es/react/setBatchUpdatesFn.js","../node_modules/react-query/es/react/logger.js","../node_modules/react-query/es/react/setLogger.js","../node_modules/react-query/es/react/QueryClientProvider.js","../node_modules/react-query/es/core/mutationObserver.js","../node_modules/react-query/es/react/utils.js","../node_modules/react-query/es/react/useMutation.js","../node_modules/react-query/es/core/queryObserver.js","../node_modules/react-query/es/react/QueryErrorResetBoundary.js","../node_modules/react-query/es/react/useBaseQuery.js","../node_modules/react-query/es/react/useQuery.js","../node_modules/react-query/es/core/infiniteQueryObserver.js","../node_modules/react-query/es/react/useInfiniteQuery.js","../node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-router/node_modules/react-is/index.js","../node_modules/react-spinkit/dist/index.js","../node_modules/react-spinkit/dist/spinners.js","../Webcam/webpack/universalModuleDefinition","../Webcam/webpack/bootstrap","../Webcam/src/react-webcam.tsx","../Webcam/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","webpack://sporttia/./node_modules/loaders.css/loaders.css?f658","webpack://sporttia/./node_modules/react-spinkit/css/base.css?a21a","webpack://sporttia/./node_modules/react-spinkit/css/chasing-dots.css?4801","webpack://sporttia/./node_modules/react-spinkit/css/circle.css?549a","webpack://sporttia/./node_modules/react-spinkit/css/cube-grid.css?3400","webpack://sporttia/./node_modules/react-spinkit/css/double-bounce.css?3e48","webpack://sporttia/./node_modules/react-spinkit/css/fade-in.css?f661","webpack://sporttia/./node_modules/react-spinkit/css/folding-cube.css?f17a","webpack://sporttia/./node_modules/react-spinkit/css/loaders-css.css?843d","webpack://sporttia/./node_modules/react-spinkit/css/pulse.css?b7d1","webpack://sporttia/./node_modules/react-spinkit/css/rotating-plane.css?bc69","webpack://sporttia/./node_modules/react-spinkit/css/three-bounce.css?17d8","webpack://sporttia/./node_modules/react-spinkit/css/wandering-cubes.css?63af","webpack://sporttia/./node_modules/react-spinkit/css/wave.css?4ea0","webpack://sporttia/./node_modules/react-spinkit/css/wordpress.css?4602","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/toPrimitive.js","../node_modules/@babel/runtime/helpers/toPropertyKey.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","serviceWorker.ts","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/history/esm/history.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/@material-ui/core/esm/styles/makeStyles.js","../node_modules/@material-ui/core/esm/Container/Container.js","../node_modules/@material-ui/core/esm/styles/styled.js","../node_modules/@material-ui/core/esm/Box/Box.js","../node_modules/@material-ui/core/esm/CssBaseline/CssBaseline.js","../node_modules/@date-io/moment/build/index.esm.js","../node_modules/@material-ui/src/MuiPickersUtilsProvider.tsx","../node_modules/@material-ui/src/_shared/hooks/useUtils.ts","../node_modules/clsx/dist/clsx.mjs","../node_modules/@material-ui/icons/esm/CheckOutlined.js","../node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../node_modules/@material-ui/core/esm/Table/TableContext.js","../node_modules/@material-ui/core/esm/Table/Tablelvl2Context.js","../node_modules/@material-ui/core/esm/TableCell/TableCell.js","../node_modules/@material-ui/core/esm/internal/svg-icons/Person.js","../node_modules/@material-ui/core/esm/Avatar/Avatar.js","../node_modules/@material-ui/core/esm/internal/svg-icons/Cancel.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@material-ui/core/esm/ButtonBase/Ripple.js","../node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js","../node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js","../node_modules/@material-ui/core/esm/Chip/Chip.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@material-ui/core/esm/styles/useTheme.js","../node_modules/@material-ui/core/esm/transitions/utils.js","../node_modules/@material-ui/core/esm/Grow/Grow.js","../node_modules/popper.js/src/utils/isBrowser.js","../node_modules/popper.js/src/utils/debounce.js","../node_modules/popper.js/src/utils/isFunction.js","../node_modules/popper.js/src/utils/getStyleComputedProperty.js","../node_modules/popper.js/src/utils/getParentNode.js","../node_modules/popper.js/src/utils/getScrollParent.js","../node_modules/popper.js/src/utils/getReferenceNode.js","../node_modules/popper.js/src/utils/isIE.js","../node_modules/popper.js/src/utils/getOffsetParent.js","../node_modules/popper.js/src/utils/getRoot.js","../node_modules/popper.js/src/utils/findCommonOffsetParent.js","../node_modules/popper.js/src/utils/isOffsetContainer.js","../node_modules/popper.js/src/utils/getScroll.js","../node_modules/popper.js/src/utils/getBordersSize.js","../node_modules/popper.js/src/utils/getWindowSizes.js","../node_modules/popper.js/src/utils/getClientRect.js","../node_modules/popper.js/src/utils/getBoundingClientRect.js","../node_modules/popper.js/src/utils/getOffsetRectRelativeToArbitraryNode.js","../node_modules/popper.js/src/utils/includeScroll.js","../node_modules/popper.js/src/utils/isFixed.js","../node_modules/popper.js/src/utils/getFixedPositionOffsetParent.js","../node_modules/popper.js/src/utils/getBoundaries.js","../node_modules/popper.js/src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../node_modules/popper.js/src/utils/computeAutoPlacement.js","../node_modules/popper.js/src/utils/getReferenceOffsets.js","../node_modules/popper.js/src/utils/getOuterSizes.js","../node_modules/popper.js/src/utils/getOppositePlacement.js","../node_modules/popper.js/src/utils/getPopperOffsets.js","../node_modules/popper.js/src/utils/find.js","../node_modules/popper.js/src/utils/runModifiers.js","../node_modules/popper.js/src/utils/findIndex.js","../node_modules/popper.js/src/methods/update.js","../node_modules/popper.js/src/utils/isModifierEnabled.js","../node_modules/popper.js/src/utils/getSupportedPropertyName.js","../node_modules/popper.js/src/methods/destroy.js","../node_modules/popper.js/src/utils/getWindow.js","../node_modules/popper.js/src/utils/setupEventListeners.js","../node_modules/popper.js/src/methods/enableEventListeners.js","../node_modules/popper.js/src/methods/disableEventListeners.js","../node_modules/popper.js/src/utils/removeEventListeners.js","../node_modules/popper.js/src/utils/isNumeric.js","../node_modules/popper.js/src/utils/setStyles.js","../node_modules/popper.js/src/modifiers/computeStyle.js","../node_modules/popper.js/src/utils/isModifierRequired.js","../node_modules/popper.js/src/methods/placements.js","../node_modules/popper.js/src/utils/clockwise.js","../node_modules/popper.js/src/modifiers/flip.js","../node_modules/popper.js/src/modifiers/offset.js","../node_modules/popper.js/src/modifiers/index.js","../node_modules/popper.js/src/methods/defaults.js","../node_modules/popper.js/src/modifiers/shift.js","../node_modules/popper.js/src/modifiers/preventOverflow.js","../node_modules/popper.js/src/modifiers/keepTogether.js","../node_modules/popper.js/src/modifiers/arrow.js","../node_modules/popper.js/src/utils/getOppositeVariation.js","../node_modules/popper.js/src/modifiers/inner.js","../node_modules/popper.js/src/modifiers/hide.js","../node_modules/popper.js/src/utils/getRoundedOffsets.js","../node_modules/popper.js/src/modifiers/applyStyle.js","../node_modules/popper.js/src/utils/setAttributes.js","../node_modules/popper.js/src/index.js","../node_modules/@material-ui/core/esm/Portal/Portal.js","../node_modules/@material-ui/core/esm/Popper/Popper.js","../node_modules/@material-ui/core/esm/Tooltip/Tooltip.js","../node_modules/@material-ui/core/esm/IconButton/IconButton.js","../node_modules/@material-ui/core/esm/FormControl/formControlState.js","../node_modules/@material-ui/core/esm/FormControl/FormControlContext.js","../node_modules/@material-ui/core/esm/TextareaAutosize/TextareaAutosize.js","../node_modules/@material-ui/core/esm/InputBase/utils.js","../node_modules/@material-ui/core/esm/InputBase/InputBase.js","../node_modules/@material-ui/core/esm/List/ListContext.js","../node_modules/@material-ui/core/esm/ListItem/ListItem.js","../node_modules/@material-ui/core/esm/MenuItem/MenuItem.js","../node_modules/@material-ui/core/esm/utils/getScrollbarSize.js","../node_modules/@material-ui/core/esm/Modal/ModalManager.js","../node_modules/@material-ui/core/esm/Unstable_TrapFocus/Unstable_TrapFocus.js","../node_modules/@material-ui/core/esm/Modal/SimpleBackdrop.js","../node_modules/@material-ui/core/esm/Modal/Modal.js","../node_modules/@material-ui/core/esm/Paper/Paper.js","../node_modules/@material-ui/core/esm/Popover/Popover.js","../node_modules/@material-ui/core/esm/List/List.js","../node_modules/@material-ui/core/esm/MenuList/MenuList.js","../node_modules/@material-ui/core/esm/Menu/Menu.js","../node_modules/@material-ui/core/esm/Select/SelectInput.js","../node_modules/@material-ui/core/esm/FormControl/useFormControl.js","../node_modules/@material-ui/core/esm/internal/svg-icons/ArrowDropDown.js","../node_modules/@material-ui/core/esm/Input/Input.js","../node_modules/@material-ui/core/esm/NativeSelect/NativeSelectInput.js","../node_modules/@material-ui/core/esm/NativeSelect/NativeSelect.js","../node_modules/@material-ui/core/esm/FilledInput/FilledInput.js","../node_modules/@material-ui/core/esm/OutlinedInput/NotchedOutline.js","../node_modules/@material-ui/core/esm/OutlinedInput/OutlinedInput.js","../node_modules/@material-ui/core/esm/Select/Select.js","../node_modules/@material-ui/core/esm/Toolbar/Toolbar.js","../node_modules/@material-ui/core/esm/Typography/Typography.js","../node_modules/@material-ui/core/esm/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@material-ui/core/esm/internal/svg-icons/KeyboardArrowRight.js","../node_modules/@material-ui/core/esm/TablePagination/TablePaginationActions.js","../node_modules/@material-ui/core/esm/TablePagination/TablePagination.js","../node_modules/@material-ui/core/esm/TableRow/TableRow.js","../node_modules/@material-ui/core/esm/internal/SwitchBase.js","../node_modules/@material-ui/core/esm/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@material-ui/core/esm/internal/svg-icons/CheckBox.js","../node_modules/@material-ui/core/esm/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@material-ui/core/esm/Checkbox/Checkbox.js","../node_modules/@material-ui/core/esm/Table/Table.js","../node_modules/@material-ui/core/esm/TableBody/TableBody.js","../node_modules/@material-ui/core/esm/TableContainer/TableContainer.js","../node_modules/@material-ui/core/esm/TableHead/TableHead.js","../node_modules/@material-ui/icons/esm/Check.js","../node_modules/@material-ui/icons/esm/CheckCircleOutline.js","../node_modules/@material-ui/icons/esm/HighlightOff.js","../node_modules/@material-ui/icons/esm/SubdirectoryArrowRight.js","../node_modules/@material-ui/icons/esm/Remove.js","../node_modules/@material-ui/icons/esm/Add.js","../node_modules/@material-ui/core/esm/LinearProgress/LinearProgress.js","../node_modules/@material-ui/core/esm/FormLabel/FormLabel.js","../node_modules/@material-ui/core/esm/InputLabel/InputLabel.js","../node_modules/decode-uri-component/index.js","../node_modules/split-on-first/index.js","../node_modules/filter-obj/index.js","../node_modules/query-string/base.js","../node_modules/query-string/index.js","../node_modules/@material-ui/core/esm/FormControl/FormControl.js","../node_modules/@material-ui/core/esm/FormHelperText/FormHelperText.js","../node_modules/@material-ui/core/esm/TextField/TextField.js","../node_modules/@material-ui/core/esm/Grid/Grid.js","sporttia/forms/SttFormText.tsx","sporttia/forms/SttFormTextarea.tsx","../node_modules/@material-ui/core/esm/InputAdornment/InputAdornment.js","../node_modules/@material-ui/icons/esm/Clear.js","sporttia/forms/SttFormSelect.js","../node_modules/@material-ui/pickers/node_modules/clsx/dist/clsx.m.js","../node_modules/@material-ui/core/esm/styles/createStyles.js","../node_modules/@material-ui/core/esm/Button/Button.js","../node_modules/@material-ui/core/esm/DialogActions/DialogActions.js","../node_modules/@material-ui/core/esm/DialogContent/DialogContent.js","../node_modules/@material-ui/core/esm/Fade/Fade.js","../node_modules/@material-ui/core/esm/Backdrop/Backdrop.js","../node_modules/@material-ui/core/esm/Dialog/Dialog.js","../node_modules/@material-ui/src/_helpers/utils.ts","../node_modules/@material-ui/src/wrappers/StaticWrapper.tsx","../node_modules/@material-ui/src/constants/dimensions.ts","../node_modules/@material-ui/src/_shared/ModalDialog.tsx","../node_modules/@material-ui/src/_shared/hooks/useKeyDown.ts","../node_modules/@material-ui/src/wrappers/ModalWrapper.tsx","../node_modules/@material-ui/src/wrappers/InlineWrapper.tsx","../node_modules/@material-ui/src/wrappers/Wrapper.tsx","../node_modules/rifm/dist/rifm.esm.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@material-ui/src/views/Calendar/Day.tsx","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/@material-ui/core/esm/CircularProgress/CircularProgress.js","../node_modules/@material-ui/src/_helpers/date-utils.ts","../node_modules/@material-ui/src/views/Calendar/DayWrapper.tsx","../node_modules/@material-ui/src/views/Calendar/SlideTransition.tsx","../node_modules/@material-ui/src/views/Calendar/CalendarHeader.tsx","../node_modules/@material-ui/src/_shared/icons/ArrowLeftIcon.tsx","../node_modules/@material-ui/src/_shared/icons/ArrowRightIcon.tsx","../node_modules/@material-ui/src/_shared/WithUtils.tsx","../node_modules/@material-ui/src/views/Calendar/Calendar.tsx","../node_modules/@material-ui/src/constants/ClockType.ts","../node_modules/@material-ui/src/views/Clock/ClockPointer.tsx","../node_modules/@material-ui/src/_helpers/time-utils.ts","../node_modules/@material-ui/src/views/Clock/Clock.tsx","../node_modules/@material-ui/src/views/Clock/ClockNumber.tsx","../node_modules/@material-ui/src/views/Clock/ClockNumbers.tsx","../node_modules/@material-ui/src/views/Clock/ClockView.tsx","../node_modules/@material-ui/src/constants/prop-types.ts","../node_modules/@material-ui/src/views/Year/Year.tsx","../node_modules/@material-ui/src/views/Year/YearView.tsx","../node_modules/@material-ui/src/views/Month/Month.tsx","../node_modules/@material-ui/src/views/Month/MonthView.tsx","../node_modules/@material-ui/src/_shared/hooks/useIsLandscape.tsx","../node_modules/@material-ui/src/Picker/Picker.tsx","../node_modules/@material-ui/src/_shared/hooks/useViews.tsx","../node_modules/@material-ui/src/_shared/ToolbarText.tsx","../node_modules/@material-ui/src/_shared/ToolbarButton.tsx","../node_modules/@material-ui/src/_shared/PickerToolbar.tsx","../node_modules/@material-ui/src/_shared/PureDateInput.tsx","../node_modules/@material-ui/src/_shared/icons/KeyboardIcon.tsx","../node_modules/@material-ui/src/_helpers/text-field-helper.ts","../node_modules/@material-ui/src/_shared/KeyboardDateInput.tsx","../node_modules/@material-ui/src/_shared/hooks/usePickerState.ts","../node_modules/@material-ui/src/_shared/hooks/useOpenState.ts","../node_modules/@material-ui/src/_shared/hooks/useKeyboardPickerState.ts","../node_modules/@material-ui/src/Picker/makePickerWithState.tsx","../node_modules/@material-ui/src/DatePicker/DatePickerToolbar.tsx","../node_modules/@material-ui/src/DatePicker/DatePicker.tsx","sporttia/forms/SttFormDate.js","../node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js","sporttia/forms/SttFormCheck.tsx","../node_modules/@material-ui/core/esm/Card/Card.js","../node_modules/@material-ui/core/esm/CardActions/CardActions.js","../node_modules/@material-ui/core/esm/Link/Link.js","images/sporttia.svg","../node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../node_modules/react-hook-form/src/utils/isDateObject.ts","../node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../node_modules/react-hook-form/src/utils/isObject.ts","../node_modules/react-hook-form/src/logic/getEventValue.ts","../node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../node_modules/react-hook-form/src/logic/getNodeParentName.ts","../node_modules/react-hook-form/src/utils/isWeb.ts","../node_modules/react-hook-form/src/utils/cloneObject.ts","../node_modules/react-hook-form/src/utils/isPlainObject.ts","../node_modules/react-hook-form/src/utils/compact.ts","../node_modules/react-hook-form/src/utils/isUndefined.ts","../node_modules/react-hook-form/src/utils/get.ts","../node_modules/react-hook-form/src/utils/isBoolean.ts","../node_modules/react-hook-form/src/utils/isKey.ts","../node_modules/react-hook-form/src/utils/stringToPath.ts","../node_modules/react-hook-form/src/utils/set.ts","../node_modules/react-hook-form/src/constants.ts","../node_modules/react-hook-form/src/useFormContext.tsx","../node_modules/react-hook-form/src/logic/getProxyFormState.ts","../node_modules/react-hook-form/src/utils/isEmptyObject.ts","../node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","../node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","../node_modules/react-hook-form/src/logic/shouldSubscribeByName.ts","../node_modules/react-hook-form/src/useSubscribe.ts","../node_modules/react-hook-form/src/utils/isString.ts","../node_modules/react-hook-form/src/logic/generateWatchOutput.ts","../node_modules/react-hook-form/src/useController.ts","../node_modules/react-hook-form/src/useWatch.ts","../node_modules/react-hook-form/src/useFormState.ts","../node_modules/react-hook-form/src/controller.tsx","../node_modules/react-hook-form/src/logic/appendErrors.ts","../node_modules/react-hook-form/src/logic/getValidationModes.ts","../node_modules/react-hook-form/src/logic/isWatched.ts","../node_modules/react-hook-form/src/logic/iterateFieldsByAction.ts","../node_modules/react-hook-form/src/logic/updateFieldArrayRootError.ts","../node_modules/react-hook-form/src/utils/isFileInput.ts","../node_modules/react-hook-form/src/utils/isFunction.ts","../node_modules/react-hook-form/src/utils/isHTMLElement.ts","../node_modules/react-hook-form/src/utils/isMessage.ts","../node_modules/react-hook-form/src/utils/isRadioInput.ts","../node_modules/react-hook-form/src/utils/isRegex.ts","../node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../node_modules/react-hook-form/src/logic/getRadioValue.ts","../node_modules/react-hook-form/src/logic/getValidateError.ts","../node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../node_modules/react-hook-form/src/logic/validateField.ts","../node_modules/react-hook-form/src/utils/unset.ts","../node_modules/react-hook-form/src/utils/createSubject.ts","../node_modules/react-hook-form/src/utils/isPrimitive.ts","../node_modules/react-hook-form/src/utils/deepEqual.ts","../node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../node_modules/react-hook-form/src/utils/live.ts","../node_modules/react-hook-form/src/utils/objectHasFunction.ts","../node_modules/react-hook-form/src/logic/getDirtyFields.ts","../node_modules/react-hook-form/src/logic/getFieldValueAs.ts","../node_modules/react-hook-form/src/logic/getFieldValue.ts","../node_modules/react-hook-form/src/logic/getResolverOptions.ts","../node_modules/react-hook-form/src/logic/getRuleValue.ts","../node_modules/react-hook-form/src/logic/hasPromiseValidation.ts","../node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","../node_modules/react-hook-form/src/logic/createFormControl.ts","../node_modules/react-hook-form/src/logic/hasValidation.ts","../node_modules/react-hook-form/src/logic/skipValidation.ts","../node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","../node_modules/react-hook-form/src/useForm.ts","../node_modules/@material-ui/core/esm/ClickAwayListener/ClickAwayListener.js","../node_modules/@material-ui/core/esm/SnackbarContent/SnackbarContent.js","../node_modules/@material-ui/core/esm/Snackbar/Snackbar.js","../node_modules/@material-ui/lab/node_modules/clsx/dist/clsx.m.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/SuccessOutlined.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/ReportProblemOutlined.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/ErrorOutline.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/InfoOutlined.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/Close.js","../node_modules/@material-ui/lab/esm/Alert/Alert.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","sporttia/SttLoadingBar.tsx","../node_modules/@material-ui/core/esm/DialogTitle/DialogTitle.js","components/dialogs/ConfirmDialog.js","sporttia/spinners/SttFullPageSpinner.tsx","types/common.ts","lib/hooks.tsx","layout/ModalConfirmation.tsx","constants.ts","lib/queryKeys.ts","config/general.ts","sporttia/AppContext.tsx","../node_modules/@material-ui/core/esm/Divider/Divider.js","../node_modules/@material-ui/core/esm/ListItemIcon/ListItemIcon.js","../node_modules/@material-ui/core/esm/AppBar/AppBar.js","../node_modules/@material-ui/icons/esm/MoreVert.js","../node_modules/@material-ui/icons/esm/ArrowBack.js","sporttia/dialogs/SttFullDialog.tsx","../node_modules/@material-ui/core/esm/ListItemAvatar/ListItemAvatar.js","../node_modules/@material-ui/core/esm/ListItemText/ListItemText.js","../node_modules/@material-ui/core/esm/ButtonGroup/ButtonGroup.js","../node_modules/@material-ui/core/esm/ListSubheader/ListSubheader.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/ArrowDropDown.js","../node_modules/@material-ui/lab/esm/useAutocomplete/useAutocomplete.js","../node_modules/@material-ui/lab/esm/Autocomplete/Autocomplete.js","../node_modules/@material-ui/lab/esm/Skeleton/Skeleton.js","../node_modules/@material-ui/src/TimePicker/TimePickerToolbar.tsx","../node_modules/@material-ui/src/TimePicker/TimePicker.tsx","services/RestService.tsx","services/CitiesService.js","services/CustomersService.js","services/TpvsService.tsx","../node_modules/@material-ui/icons/esm/Save.js","sporttia/buttons/SttButton.tsx","sporttia/buttons/SttButtonSave.tsx","../node_modules/@material-ui/icons/esm/DeleteOutline.js","sporttia/buttons/SttButtonDelete.tsx","../node_modules/@material-ui/icons/esm/Done.js","sporttia/buttons/SttButtonAccept.tsx","sporttia/buttons/SttButtonRecover.tsx","services/ScsService.tsx","../node_modules/@material-ui/icons/esm/Search.js","translations.ts","components/error/SttError.tsx","services/CountriesService.ts","sporttia/dialogs/SttSelectCountryDialog.tsx","sporttia/selectors/SttSelectCountry.tsx","sporttia/SttValidatedForm.js","services/ProvincesService.js","services/CoresService.js","pages/admin/hart/triggersExecutions/AdminApiTriggerExecutionDialog.js","sporttia/SttForm.tsx","sporttia/labels/SttLabelForm.tsx","pages/sc/configuration/ConfigurationTriggerDialog.js","pages/sc/configuration/ConfigurationTriggersDialog.js","pages/sc/configuration/ConfigurationMain.js","components/dialogs/ConsentDialog.js","sporttia/lists/SttConsentList.js","pages/sc/configuration/ConfigurationConsents.js","pages/sc/configuration/ConfigurationRechargingOptionDialog.js","pages/sc/configuration/ConfigurationRecharges.js","pages/sc/configuration/ConfigurationPrivileges.js","../node_modules/@material-ui/core/esm/Switch/Switch.js","../node_modules/@material-ui/icons/esm/HelpOutline.js","pages/sc/configuration/ConfigurationNotifications.js","pages/sc/configuration/ConfigurationMap.js","sporttia/selectors/SttSelectMship.js","pages/sc/configuration/ConfigurationBilling.js","pages/sc/configuration/ConfigurationWeb.js","pages/sc/configuration/ConfigurationMandatoryData.js","pages/sc/configuration/ConfigurationPOSDialog.js","pages/sc/configuration/ConfigurationPOS.js","pages/sc/configuration/ConfigurationCashdro.js","pages/sc/roles/SCAdminDialog.js","pages/sc/roles/AdminsTab.js","pages/sc/roles/RoleDialog.js","pages/sc/roles/RolesTab.js","config/constants.ts","sporttia/SttCachedTable.js","../node_modules/@material-ui/icons/esm/FilterList.js","sporttia/SttSelectableChips.tsx","sporttia/selectors/SttSelectMonth.js","sporttia/forms/SttFormSelectPeriod.tsx","components/filter/FilterFields.tsx","components/filter/FilterDialog.tsx","sporttia/SttTopFilteringControls.js","services/UsersService.tsx","components/dialogs/UserCreationDialog.js","../node_modules/@material-ui/icons/esm/Videocam.js","../node_modules/@material-ui/icons/esm/Publish.js","../node_modules/@material-ui/icons/esm/FeaturedVideoOutlined.js","sporttia/dialogs/SttDialog.js","pages/sc/mships/SttLinkList.js","components/signature/lib/wgssStuSdk.js","components/signature/SigCapture.js","sporttia/lists/SttSelectConsentList.js","images/user.svg","../node_modules/@material-ui/icons/esm/CloudDownload.js","components/dialogs/boletoDialog/Consumption.tsx","pages/sc/groups/HandlePaymentsModal.js","styles/Colors.ts","components/dialogs/POSPaymentDialog.js","../node_modules/@stripe/terminal-js/dist/terminal.esm.js","components/stripe/hooks.tsx","components/stripe/POSStripePaymentDialog.tsx","services/BonosService.tsx","lib/Cashdro.js","components/dialogs/CashdroControlDialog.js","../node_modules/luxon/src/errors.js","../node_modules/luxon/src/impl/formats.js","../node_modules/luxon/src/zone.js","../node_modules/luxon/src/zones/systemZone.js","../node_modules/luxon/src/zones/IANAZone.js","../node_modules/luxon/src/impl/locale.js","../node_modules/luxon/src/impl/english.js","../node_modules/luxon/src/zones/fixedOffsetZone.js","../node_modules/luxon/src/zones/invalidZone.js","../node_modules/luxon/src/impl/zoneUtil.js","../node_modules/luxon/src/impl/util.js","../node_modules/luxon/src/impl/digits.js","../node_modules/luxon/src/settings.js","../node_modules/luxon/src/impl/invalid.js","../node_modules/luxon/src/impl/conversions.js","../node_modules/luxon/src/impl/formatter.js","../node_modules/luxon/src/impl/regexParser.js","../node_modules/luxon/src/duration.js","../node_modules/luxon/src/interval.js","../node_modules/luxon/src/info.js","../node_modules/luxon/src/impl/diff.js","../node_modules/luxon/src/impl/tokenParser.js","../node_modules/luxon/src/datetime.js","lib/DateBuilder.ts","components/dialogs/BoletoDialog.js","components/imageCapture/WebcamCapture.js","components/imageCapture/ImageCrop.js","pages/sc/mships/SttWebcamCaptureDialog.js","../node_modules/@material-ui/core/esm/ListItemSecondaryAction/ListItemSecondaryAction.js","sporttia/lists/SttList.js","../node_modules/@material-ui/icons/esm/PersonOutlineOutlined.js","sporttia/dialogs/SttMshipDialog.js","pages/sc/mships/MshipPupils.js","services/MshipsService.tsx","pages/sc/mships/MshipDetail.js","../node_modules/@material-ui/icons/esm/Payment.js","../node_modules/@material-ui/icons/esm/Replay.js","../node_modules/@material-ui/icons/esm/Delete.js","components/discounts/DiscountsList.tsx","services/PaymentsService.tsx","components/paymentModal/PaymentModalDetail.tsx","components/paymentModal/PaymentModalChildren.js","components/dialogs/PaymentFormDialog.tsx","sporttia/chips/SttChipRate.js","components/dialogs/bookingDialog/BookingDialogDetail.js","components/dialogs/PaymentCreationDialog.js","components/dialogs/UseBonoDialog.js","components/dialogs/bookingDialog/BookingDialogPayments.js","components/dialogs/bookingDialog/BookingDialogOccupants.js","pages/sc/devices/SimulateAccessDialog.js","pages/sc/devices/DeviceDetails.js","services/GroupsService.tsx","pages/sc/groups/GroupDiscountsList.tsx","pages/sc/groups/SelectGroupParent.tsx","pages/sc/groups/GroupDetails.js","../node_modules/@material-ui/icons/esm/ExpandMore.js","../node_modules/@material-ui/icons/esm/ChevronRight.js","../node_modules/@material-ui/lab/esm/TreeView/TreeViewContext.js","../node_modules/@material-ui/lab/esm/TreeView/TreeView.js","../node_modules/@material-ui/core/esm/Collapse/Collapse.js","../node_modules/@material-ui/lab/esm/TreeItem/TreeItem.js","sporttia/dialogs/groupMemberDialog/SttGroupMemberDialogDetail.js","sporttia/selectors/SttSelectUser.js","sporttia/lists/SttBeneficiariesList.js","sporttia/dialogs/groupMemberDialog/SttGroupMemberDialog.js","components/discounts/DiscountTooltip.tsx","pages/sc/groups/GroupMembers.tsx","pages/sc/groups/GroupPrivileges.js","pages/sc/groups/GroupFees.tsx","components/devices/DeviceAuthDialog.js","lib/utils.js","components/devices/DeviceList.js","components/devices/deviceConstants.ts","pages/sc/groups/GroupDevices.js","pages/sc/groups/Group.tsx","services/ActivityRatesService.tsx","pages/sc/activities/ActivityDiscountList.tsx","pages/sc/activities/ActivityRateDialog.js","pages/sc/activities/ActivityRates.js","../node_modules/@material-ui/icons/esm/Close.js","sporttia/SttTopControls.js","../node_modules/@material-ui/icons/esm/NavigateBefore.js","../node_modules/@material-ui/icons/esm/NavigateNext.js","sporttia/SttPagination.tsx","sporttia/SttAttendanceTable.tsx","sporttia/SttSelectableItems.js","pages/sc/activities/AttendanceDialog.js","sporttia/selectors/SttSelectActivityRate.js","pages/sc/activities/RecoverAttendanceDialog.js","services/ActivitiesService.tsx","sporttia/forms/SttFormAttendance.tsx","pages/sc/activities/AttendancesDialog.tsx","pages/sc/activities/ActivityClassDialog.js","pages/sc/activities/ActivityClasses.js","../node_modules/@material-ui/icons/esm/PaymentOutlined.js","../node_modules/@material-ui/icons/esm/ExpandLess.js","sporttia/dialogs/SttActivityFillForms.js","sporttia/dialogs/SttSelectClassAndRateDialog.js","services/StudentsService.tsx","components/dialogs/StudentDialog.js","pages/sc/activities/ActivityStudents.js","components/dialogs/FormQuestionDialog.js","pages/sc/activities/ActivityForm.js","pages/sc/activities/ActivityDevices.js","../node_modules/@material-ui/icons/esm/CameraAltOutlined.js","../node_modules/@material-ui/icons/esm/OpenInNewOutlined.js","sporttia/labels/SttLabelWeekdays.js","sporttia/lists/SttTagsList.js","pages/sc/activities/ActivityDetails.js","../node_modules/@material-ui/icons/esm/AttachFile.js","pages/sc/events/ModalFile.js","pages/sc/activities/ActivityDocuments.js","pages/sc/activities/Activity.js","../node_modules/@material-ui/core/esm/utils/scrollLeft.js","../node_modules/@material-ui/core/esm/internal/animate.js","../node_modules/@material-ui/core/esm/Tabs/ScrollbarSize.js","../node_modules/@material-ui/core/esm/Tabs/TabIndicator.js","../node_modules/@material-ui/core/esm/TabScrollButton/TabScrollButton.js","../node_modules/@material-ui/core/esm/Tabs/Tabs.js","../node_modules/@material-ui/core/esm/Tab/Tab.js","sporttia/SttTabs.tsx","pages/sc/events/EventDetails.js","pages/sc/events/ModalCategory.js","pages/sc/events/EventCategories.js","pages/sc/events/ModalParticipant.js","services/EventsService.tsx","pages/sc/events/EventParticipants.js","pages/sc/events/EventTeams.js","pages/sc/events/ParticipantFunctions.js","pages/sc/events/ModalPeriod.js","pages/sc/events/EventPeriods.js","pages/sc/events/EventForm.js","pages/sc/events/EventDocuments.js","pages/sc/events/Event.js","pages/sc/bonos/BonoDetails.js","lib/paymentHelper.ts","pages/sc/bonos/BonoBoletos.js","pages/sc/bonos/BonoDevices.tsx","pages/sc/bonos/Bono.js","pages/sc/devices/DeviceAuths.js","sporttia/chips/SttChipAccessType.js","pages/sc/devices/DeviceAccesses.js","pages/sc/devices/DeviceDetailsDialog.js","components/dialogs/bookingDialog/BookingDialogDeviceAuths.js","components/dialogs/bookingDialog/BookingDialog.js","components/paymentModal/PaymentModal.tsx","components/dialogs/PayMultiplePaymentsDialog.js","pages/sc/mships/MshipPayments.js","components/dialogs/ChargePurseDialog.js","pages/sc/mships/MshipPurseMovs.js","pages/sc/mships/MshipBookings.js","pages/sc/mships/MshipStudents.js","pages/sc/mships/MshipEventParticipants.js","pages/sc/mships/MshipPrivileges.js","../node_modules/@material-ui/core/esm/useMediaQuery/useMediaQuery.js","../node_modules/@material-ui/core/esm/withWidth/withWidth.js","../node_modules/@material-ui/core/esm/Hidden/HiddenJs.js","../node_modules/@material-ui/core/esm/Hidden/HiddenCss.js","../node_modules/@material-ui/core/esm/Hidden/Hidden.js","pages/sc/mships/MshipGroups.js","pages/sc/mships/MshipDocuments.js","pages/sc/mships/Mship.js","sporttia/lists/SttTerrainList.js","sporttia/selectors/SttSelectNumbersInterval.js","pages/sc/facilities/Facility.tsx","services/FacilitiesService.tsx","pages/sc/facilitySets/FacilitySet.js","services/ReportsService.ts","sporttia/dialogs/ColumnPopup.tsx","pages/sc/Report.js","sporttia/lists/SttGroupList.js","pages/sc/rates/Rate.js","pages/sc/busySchedules/BusySlotDialog.js","pages/sc/busySchedules/ErrorsDialog.js","pages/sc/busySchedules/BusySchedule.js","pages/sc/busySchedules/BusySchedules.js","pages/sc/freeSchedules/FreeScheduleSlotDialog.js","pages/sc/freeSchedules/FreeSchedule.js","../node_modules/@material-ui/icons/esm/AssignmentInd.js","sporttia/chips/SttChipUnlocker.js","sporttia/chips/SttChipFacilityRow.js","pages/sc/devices/DevicesKeysDialog.js","pages/sc/devices/DevicesAuthorizationsDialog.js","components/dialogs/Q60DownloadDialog.js","pages/sc/payments/Payments.js","pages/sc/groups/CreateGroupDialog.js","sporttia/dialogs/SttActivitiesDuplicationDialog.tsx","pages/sc/remittences/RemittenceLineDialog.js","pages/sc/filesCSV/FileCSVLineDialog.js","images/time.svg","pages/sc/filesCSV/ImportUsersDialog.js","sporttia/selectors/SttSelectGender.js","pages/sc/teachers/TeacherDetail.js","pages/sc/teachers/TeacherClasses.js","pages/sc/teachers/Teacher.js","sporttia/selectors/SttSelectWeekdays.js","sporttia/forms/SttFormTime.js","pages/sc/bookingSchedules/BookingScheduleSlotDialog.js","pages/sc/bookingSchedules/BookingScheduleDeleteDialog.js","pages/sc/bookingSchedules/BookingScheduleDetails.js","../node_modules/@material-ui/icons/esm/Euro.js","pages/sc/bookingSchedules/ModalCollectBatch.js","pages/sc/bookingSchedules/BookingScheduleBookings.js","pages/sc/restrictions/RestrictionDetails.js","pages/sc/restrictions/RestrictionUserDialog.js","pages/sc/restrictions/RestrictionUsers.js","pages/sc/restrictions/RestrictionGroups.js","services/MessagesService.js","pages/sc/messages/MessageCommentBox.js","pages/sc/messages/MessageCommentList.js","sporttia/labels/SttLabelDate.js","pages/sc/messages/MessageItem.js","pages/sc/messages/MessageList.js","pages/sc/newMessageDialog/Receptors.js","pages/sc/newMessageDialog/NewMessageResultDialog.js","pages/sc/newMessageDialog/NewMessageDialog.js","../node_modules/@material-ui/core/esm/CardHeader/CardHeader.js","../node_modules/@material-ui/core/esm/CardActionArea/CardActionArea.js","../node_modules/@material-ui/core/esm/CardContent/CardContent.js","pages/sc/salePoint/ProductDialog.js","pages/sc/salePoint/SalePointProducts.tsx","../node_modules/@material-ui/icons/esm/Edit.js","pages/sc/salePoint/SalePointCart.js","pages/sc/salePoint/SalePointPayment.tsx","services/ProductsService.tsx","pages/sc/salePoint/SalePoint.js","../node_modules/@material-ui/icons/esm/PowerSettingsNew.js","pages/public/Contact.js","pages/sc/subscription/Subscription.js","pages/sc/noSubscription/NoSubscription.js","services/GolfService.js","pages/sc/golf/GolfCourseConfigurationHoleDialog.js","pages/sc/golf/GolfHoleCard.js","pages/sc/golf/GolfCourseConfiguration.js","pages/sc/golf/GolfCourseScheduleRateDialog.js","pages/sc/golf/GolfCourseScheduleDialog.js","pages/sc/golf/GolfCourseSchedulesAndRates.js","pages/sc/golf/GolfCourse.js","pages/sc/golfTimetable/GolfTimetableControls.js","pages/sc/golfTimetable/GolfTimetableTee.js","pages/sc/golfTimetable/GolfTimetableCart.js","pages/sc/golf/Golf.js","layout/LogoHeading.tsx","components/Input2FA.tsx","pages/public/Register.js","images/coffee.svg","pages/Page404.js","../node_modules/@material-ui/icons/esm/VerifiedUserOutlined.js","../node_modules/@material-ui/icons/esm/ArrowRight.js","../node_modules/@material-ui/icons/esm/ChatBubbleOutline.js","pages/public/AcceptConditions.js","pages/public/Privacy.js","../node_modules/@material-ui/icons/esm/Security.js","pages/public/apis/ApiModelDialog.js","pages/public/apis/Apis.js","images/underConstruction.svg","pages/public/timetable/TimetableControls.js","pages/public/booking/BookingOperateDialog.js","pages/public/booking/BookingSectionMessages.js","pages/public/booking/BookingSectionMainData.js","../node_modules/@material-ui/icons/esm/PersonOutline.js","pages/public/booking/BookingSelectRateDialog.js","pages/public/booking/BookingSelectPupilsDialog.js","pages/public/booking/RateAndBoletos.js","pages/public/booking/BookingSectionOccupants.js","pages/public/booking/BookingSectionPrice.js","pages/public/booking/Booking.js","services/BookingsService.tsx","components/dialogs/CreateBookingScheduleDialog.js","components/dialogs/BusyScheduleDialog.js","pages/sc/timetable/SeatingDialog.js","pages/public/timetable/TimetableBookingsDialog.js","pages/sc/timetable/PieceCapacityDialog.js","pages/public/timetable/TimetableOperate.js","pages/public/widget/components/WidgetLogin.js","components/popups/BookingsConsentsPopUp.js","pages/public/timetable/Timetable.js","../node_modules/@material-ui/icons/esm/LockOpen.js","pages/public/booked/Occupants.js","../node_modules/@material-ui/icons/esm/Apps.js","../node_modules/@material-ui/icons/esm/PostAdd.js","../node_modules/@material-ui/icons/esm/BallotOutlined.js","pages/public/scProfile/SCWallCommentsList.js","images/empty.svg","sporttia/SttNoResults.tsx","pages/public/scProfile/SCWall.js","services/SearchService.js","sporttia/public/cards/SttEventCard.js","sporttia/public/cards/SttEventCardList.js","../node_modules/@material-ui/icons/esm/CreditCard.js","../node_modules/@material-ui/icons/esm/AccountBalanceWallet.js","../node_modules/@material-ui/icons/esm/Contactless.js","../node_modules/react-modal-image/es/styles.js","../node_modules/react-modal-image/es/icons.js","../node_modules/react-modal-image/es/Header.js","../node_modules/react-modal-image/es/Image.js","../node_modules/react-modal-image/es/Lightbox.js","../node_modules/react-modal-image/es/index.js","pages/public/activity/RateList.js","pages/public/activity/ClassesList.js","pages/public/activity/ModalGotoSc.js","../node_modules/@material-ui/icons/esm/Loop.js","sporttia/selectors/SttSelectOrAddUser.js","sporttia/selectors/SttSelectOrAddPupil.js","pages/public/activity/ModalSignUp.js","sporttia/lists/SignedUsersList.tsx","pages/public/activity/Activity.js","sporttia/lists/SttInscriptionList.js","pages/public/event/ModalSignup.js","pages/public/event/EventDetails.js","pages/public/event/EventInscriptions.js","pages/public/event/EventTeam.js","sporttia/lists/SignedTeamsByCategoryList.tsx","pages/public/event/Event.js","../node_modules/@material-ui/icons/esm/FileCopy.js","services/ApisService.js","sporttia/chips/SttChipHttpVerb.js","pages/admin/hart/apis/AdminApiDetails.js","pages/admin/hart/apis/AdminApiParameterDialog.js","pages/admin/hart/apis/AdminApiParameters.js","pages/admin/hart/apis/AdminApiResponseDialog.js","pages/admin/hart/apis/AdminApiResponses.js","services/TestsService.js","pages/admin/hart/apis/AdminApiTestDialog.js","pages/admin/hart/apis/AdminApiTests.js","pages/admin/hart/apis/AdminApi.js","../node_modules/@material-ui/core/esm/Zoom/Zoom.js","../node_modules/@material-ui/core/esm/Fab/Fab.js","sporttia/buttons/SttButtonFab.tsx","pages/admin/customers/customers/AdminCustomerDetails.js","pages/admin/customers/customers/AdminCustomerSubscriptionDialog.js","sporttia/lists/SttSCSubscriptionsList.js","services/SubscriptionsService.js","components/licenceModal/LicenceModal.js","pages/admin/customers/customers/AdminCustomersLicences.js","pages/admin/customers/customers/AdminCustomerSubscriptions.js","pages/admin/customers/customers/AdminCustomer.js","services/TimezoneService.ts","pages/admin/customers/scs/AdminSCDetail.js","pages/admin/customers/scs/AdminSCOptions.js","pages/admin/customers/scs/AdminSCMap.js","services/DevicesService.ts","components/dialogs/DeviceDialog.js","pages/admin/customers/scs/AdminSCDevices.js","components/stripe/POSStripeConfiguration.tsx","pages/admin/customers/scs/AdminSC.js","pages/admin/hart/apiLogs/AdminApiLogDialog.js","pages/admin/hart/tests/AdminTest.js","pages/user/agenda/Agenda.js","pages/user/abonos/UserAbonoHelper.ts","pages/user/abonos/UserAbono.js","pages/user/abonos/UserAbonosTable.js","pages/user/abonos/UserAbonos.js","sporttia/SttPage.tsx","pages/user/bonos/UserBonos.js","pages/user/rechargePurse/RechargePurse.js","services/TranslationsService.js","pages/admin/tables/translations/AdminTranslation.js","pages/admin/tables/translations/AdminTranslations.js","sporttia/public/cards/SttKeyCard.js","pages/user/keys/UserKeys.js","services/MyService.js","pages/admin/tables/reports/AdminReportDetail.js","pages/admin/tables/reports/AdminReportColumnDialog.js","pages/admin/tables/reports/AdminReportColumns.js","pages/admin/tables/reports/AdminReportFilterDialog.js","pages/admin/tables/reports/AdminReportFilters.js","pages/admin/tables/reports/AdminReport.js","sporttia/dialogs/SttUploadDialog.js","../node_modules/@react-google-maps/marker-clusterer/src/ClusterIcon.tsx","../node_modules/@googlemaps/js-api-loader/src/index.ts","../node_modules/@react-google-maps/marker-clusterer/src/Cluster.tsx","../node_modules/@react-google-maps/marker-clusterer/src/Clusterer.tsx","../node_modules/@react-google-maps/infobox/src/InfoBox.tsx","../node_modules/@react-google-maps/api/src/map-context.ts","../node_modules/@react-google-maps/api/src/utils/helper.ts","../node_modules/@react-google-maps/api/src/utils/foreach.ts","../node_modules/@react-google-maps/api/src/utils/reduce.ts","../node_modules/@react-google-maps/api/src/GoogleMap.tsx","../node_modules/@react-google-maps/api/node_modules/regenerator-runtime/runtime.js","../node_modules/@react-google-maps/api/src/utils/isbrowser.ts","../node_modules/@react-google-maps/api/src/utils/injectscript.ts","../node_modules/@react-google-maps/api/src/utils/prevent-google-fonts.ts","../node_modules/@react-google-maps/api/src/utils/make-load-script-url.ts","../node_modules/@react-google-maps/api/src/LoadScript.tsx","../node_modules/@react-google-maps/api/src/components/maps/TrafficLayer.tsx","../node_modules/@react-google-maps/api/src/components/maps/BicyclingLayer.tsx","../node_modules/@react-google-maps/api/src/components/maps/TransitLayer.tsx","../node_modules/@react-google-maps/api/src/components/drawing/DrawingManager.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Marker.tsx","../node_modules/@react-google-maps/api/src/components/addons/MarkerClusterer.tsx","../node_modules/@react-google-maps/api/src/components/addons/InfoBox.tsx","../node_modules/@react-google-maps/api/src/components/drawing/InfoWindow.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Polyline.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Polygon.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Rectangle.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Circle.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Data.tsx","../node_modules/@react-google-maps/api/src/components/kml/KmlLayer.tsx","../node_modules/@react-google-maps/api/src/components/dom/dom-helper.ts","../node_modules/@react-google-maps/api/src/components/dom/OverlayView.tsx","../node_modules/@react-google-maps/api/src/components/overlays/GroundOverlay.tsx","../node_modules/@react-google-maps/api/src/utils/noop.ts","../node_modules/@react-google-maps/api/src/components/heatmap/HeatmapLayer.tsx","../node_modules/@react-google-maps/api/src/components/streetview/StreetViewPanorama.tsx","../node_modules/@react-google-maps/api/src/components/streetview/StreetViewService.tsx","../node_modules/@react-google-maps/api/src/components/directions/DirectionsRenderer.tsx","../node_modules/@react-google-maps/api/src/components/places/StandaloneSearchBox.tsx","../node_modules/@react-google-maps/api/src/components/places/Autocomplete.tsx","sporttia/SttGoogleMap.js","sporttia/selectors/SttSelectCity.js","pages/user/configuration/UserData.js","sporttia/public/cards/SttSportCard.js","sporttia/dialogs/SttSelectSportDialog.js","pages/user/configuration/UserSports.js","pages/user/configuration/UserNotifications.js","../node_modules/@material-ui/lab/esm/AlertTitle/AlertTitle.js","services/MeService.js","pages/user/configuration/UserConnections.js","pages/user/configuration/UserConfiguration.js","pages/user/payments/UserPayments.js","pages/sc/SCHome.js","pages/admin/AdminHome.js","pages/admin/tables/cities/AdminCity.js","pages/admin/hart/triggersExecutions/AdminApiTriggersExecutions.js","sporttia/dialogs/SttUserUnlockerDialog.js","sporttia/dialogs/SttPupilDialog.tsx","pages/user/pupils/UserPupils.js","pages/admin/customers/sttZeroAccounts/AdminSttZeroAccounts.js","pages/admin/customers/playtomicCenters/AdminPlaytomicCenters.js","sporttia/forms/SttAdminPaymentFormTpv.tsx","pages/admin/accounting/payments/AdminPayment.js","pages/admin/accounting/tpvConfigurations/AdminTPVConf.js","pages/admin/accounting/tpvRecords/AdminTpvRecords.js","pages/admin/accounting/tpvRecordsBySc/AdminTpvRecordsBySc.js","pages/admin/users/users/AdminUser.tsx","pages/admin/rentals/rentals/AdminRentals.js","pages/admin/rentals/rentalsPerDay/AdminRentalsPerDay.js","pages/admin/rentals/rentalsRatioPerYear/AdminRentalsRatioPerYear.js","pages/admin/rentals/rentalsRatioByCenter/AdminRentalsRatioByCenter.js","pages/admin/events/events/AdminEvents.js","pages/admin/activities/activitiesRegistrationsRatioByCenter/AdminActivitiesRegistrationsRatioByCenter.js","pages/admin/activities/activitiesEnrrollmentIncreasesPerYear/AdminActivitiesEnrrollmentIncreasesPerYear.js","pages/admin/tables/sports/AdminSports.js","pages/admin/tables/notificationsTypes/AdminNotificationsTypes.js","pages/admin/tables/smss/AdminSmss.js","pages/admin/tables/emails/AdminEmails.js","pages/admin/tables/pushNotifications/AdminPushNotifications.js","pages/admin/hart/apiModels/AdminApiModelDetails.js","pages/admin/hart/apiModels/AdminApiModelPropertyDialog.js","pages/admin/hart/apiModels/AdminApiModelProperties.js","pages/admin/hart/apiModels/AdminApiModel.js","pages/admin/hart/triggersInCenters/AdminApiTriggerByScDialog.js","pages/admin/hart/triggersInCenters/AdminApiTriggersBySc.js","pages/public/golfBookingsCards/GolfBookingsCard.js","pages/public/golfBookingsCards/GolfBookingCardDialog.js","pages/public/golfBookingsCards/GolfBookingsCards.js","pages/sc/golfTimetable/GolfTimetable.js","../node_modules/@material-ui/icons/esm/ArrowForward.js","pages/public/Smartcourt.js","services/MigrationEndpointsService.js","pages/admin/migration/adminMigrationEndpoints/MigrationEndpoint.tsx","pages/admin/migration/adminMigrationEndpoints/AdminMigrationEndpoints.js","services/DiscountsService.tsx","pages/sc/discounts/DiscountEditDialog.tsx","components/error/SttFullPageError.tsx","../node_modules/@material-ui/core/esm/DialogContentText/DialogContentText.js","sporttia/buttons/SttButtonCancel.tsx","sporttia/buttons/SttButtonClose.tsx","../node_modules/@material-ui/icons/esm/Cancel.js","sporttia/buttons/SttButtonUnsubscribe.tsx","sporttia/buttons/SttButtonDownload.tsx","components/dialogs/AlertDialog.tsx","pages/public/tpv/TPVUrlPurchase.tsx","pages/public/tpv/TpvTokenizedPaycometPurchase.tsx","sporttia/spinners/SttFoldingCubeSpinner.tsx","pages/sc/reports/SCStats.js","sporttia/lists/SttItemList.js","components/dialogs/DeviceSpaceDialog.tsx","pages/Pages.tsx","pages/common/Home.js","pages/public/search/Search.js","pages/public/Login.js","pages/public/RecoverPassword.tsx","pages/public/ConfirmEmail.js","pages/public/tpv/TPVSwitcher.tsx","pages/public/tpv/TPVResult.js","pages/public/buyAbono/AbonoList.tsx","pages/public/scProfile/SCProfile.js","pages/sc/documents/SCDocuments.js","pages/public/scProfile/SCContact.js","pages/public/buyBono/BonoList.js","pages/public/booked/Booked.js","pages/public/widget/Widget.js","pages/user/messages/UserMessages.js","pages/public/buyBono/BuyBono.tsx","pages/public/buyAbono/BuyAbono.tsx","pages/sc/configuration/Configuration.js","pages/sc/capacity/Capacities.tsx","pages/sc/roles/Roles.js","pages/sc/freeSchedules/FreeSchedules.js","pages/sc/remittences/Remittences.js","pages/sc/remittences/GenerateRemittence.js","pages/sc/remittences/Remittence.js","pages/sc/facilitySets/FacilitySets.js","pages/sc/facilities/Facilities.js","pages/sc/devices/Devices.js","pages/sc/devices/Device.js","pages/sc/mships/Mships.js","pages/sc/bookings/Bookings.js","pages/sc/activities/Activities.js","pages/sc/groups/Groups.js","pages/sc/rates/Rates.js","pages/sc/Files.js","pages/sc/bonos/Bonos.js","pages/sc/filesCSV/FileCSV.js","pages/sc/bookingSchedules/BookingSchedules.js","pages/sc/bookingSchedules/BookingSchedule.js","pages/sc/restrictions/Restrictions.js","pages/sc/restrictions/Restriction.js","pages/sc/teachers/Teachers.js","pages/sc/messages/SCMessages.js","pages/public/Account.js","pages/sc/reports/SCReports.tsx","pages/sc/tickets/SCTickets.js","pages/sc/students/Students.js","pages/sc/events/Events.js","pages/public/UnderConstruction.js","pages/sc/discounts/Discounts.tsx","pages/admin/customers/customers/AdminCustomers.js","pages/admin/customers/scs/AdminSCs.js","pages/admin/accounting/payments/AdminPayments.js","pages/admin/accounting/tpvConfigurations/AdminTPVConfs.js","pages/admin/users/users/AdminUsers.js","pages/admin/tables/reports/AdminReports.js","pages/admin/tables/cities/AdminCities.js","pages/admin/hart/apis/AdminApis.js","pages/admin/hart/apiModels/AdminApiModels.js","pages/admin/hart/apiLogs/AdminApiLogs.js","pages/admin/hart/tests/AdminTests.js","pages/admin/fixTpv/AdminFixTpv.tsx","lib/latinizeCharacters.ts","sporttia/SttTable.js","sporttia/SttFeeRow.js","sporttia/SttMenu.tsx","sporttia/timetable/SttTimetablePiece.js","sporttia/timetable/SttTimetableColumn.js","sporttia/timetable/SttTimetable.js","sporttia/timetable/SttTimetableWeek.js","sporttia/SttQR.js","sporttia/forms/SttFormSwitch.tsx","sporttia/forms/SttFormPeriod.tsx","sporttia/forms/SttFormPrice.tsx","sporttia/forms/SttFormSearch.tsx","../node_modules/@material-ui/icons/esm/Visibility.js","../node_modules/@material-ui/icons/esm/VisibilityOff.js","sporttia/forms/SttFormPassword.js","sporttia/forms/SttFormInterval.js","sporttia/labels/SttLabelFee.js","sporttia/labels/SttLabelPeriod.js","sporttia/labels/SttLabelTitle.tsx","sporttia/labels/SttLabelDuration.js","sporttia/labels/SttLabelMonths.js","sporttia/labels/SttLabelDeleted.js","sporttia/labels/SttLabelPayment.js","sporttia/labels/SttLabelLink.js","sporttia/buttons/SttButtonFilter.tsx","sporttia/buttons/SttButtonNew.tsx","../node_modules/@material-ui/icons/esm/ArrowDropDown.js","sporttia/buttons/SttDropdownButton.tsx","sporttia/buttons/SttButtonDate.tsx","sporttia/buttons/SttButtonMonths.js","sporttia/buttons/SttButtonYears.tsx","sporttia/buttons/SttButtonTicket.tsx","sporttia/buttons/SttButtonRefresh.tsx","sporttia/buttons/SttButtonCollect.tsx","sporttia/SttSportChips.js","sporttia/SttUnlockerChips.js","sporttia/chips/SttChipModule.js","../node_modules/@material-ui/icons/esm/Timer.js","../node_modules/@material-ui/icons/esm/Create.js","../node_modules/@material-ui/icons/esm/Error.js","sporttia/chips/SttChipPaymentStatus.tsx","sporttia/chips/SttChipPForm.tsx","sporttia/chips/SttChipPurseMov.js","sporttia/chips/SttChipUser.js","sporttia/chips/SttChipEventKind.js","sporttia/chips/SttChipEventType.js","sporttia/chips/SttChipSport.js","../node_modules/@material-ui/icons/esm/SupervisedUserCircle.js","sporttia/chips/SttChipGroup.js","sporttia/chips/SttChipFileFormat.js","sporttia/chips/SttChipFileType.js","sporttia/chips/SttChipBono.js","sporttia/chips/SttChipRestrictionType.js","sporttia/dialogs/SttSportSelector.js","sporttia/dialogs/SttSelectGroupDialog.tsx","sporttia/dialogs/SttUnlockerDialog.js","sporttia/dialogs/SttCalendarDialog.js","sporttia/dialogs/SttFileDialog.js","sporttia/dialogs/SttSelectMshipDialog.js","sporttia/selectors/SttSelectPForm.js","sporttia/selectors/SttSelectSport.js","sporttia/selectors/SttSelectGroup.tsx","sporttia/selectors/SttSelectInterval.js","sporttia/selectors/SttSelectFacility.js","sporttia/selectors/SttSelectFixedInterval.js","sporttia/selectors/SttSelectYear.js","sporttia/selectors/SttSelectAutocomplete.js","sporttia/selectors/SttSelectAsync.js","sporttia/selectors/SttSelectMultiple.js","sporttia/selectors/SttSelectUnlockerType.js","sporttia/selectors/SttSelectDeviceStatus.js","sporttia/lists/SttPaymentList.js","sporttia/lists/SttFeeList.js","sporttia/lists/SttPrivilegeList.js","sporttia/lists/SttPrivilegePureList.js","sporttia/lists/SttBookingList.js","sporttia/lists/SttFacilityList.js","sporttia/lists/SttPriceList.js","sporttia/lists/SttBusySlotList.js","sporttia/lists/SttBookingScheduleSlotList.js","sporttia/lists/SttSCAdminList.js","sporttia/lists/SttMshipList.js","../node_modules/@material-ui/icons/esm/Star.js","sporttia/lists/SttParticipantsList.js","sporttia/public/cards/SttSCCard.js","sporttia/public/cards/SttSCCardList.js","sporttia/public/cards/SttActivityCard.js","sporttia/public/cards/SttActivityCardList.js","sporttia/public/SttButtonFollow.js","styles/GlobalCSS.tsx","components/popups/UserAccessPopup.js","../node_modules/@material-ui/core/esm/Slide/Slide.js","../node_modules/@material-ui/core/esm/Drawer/Drawer.js","../node_modules/@material-ui/core/esm/NoSsr/NoSsr.js","../node_modules/@material-ui/core/esm/SwipeableDrawer/SwipeArea.js","../node_modules/@material-ui/core/esm/SwipeableDrawer/SwipeableDrawer.js","../node_modules/@material-ui/icons/esm/ChevronLeft.js","../node_modules/@material-ui/icons/esm/Menu.js","../node_modules/@material-ui/icons/esm/PeopleAlt.js","../node_modules/@material-ui/icons/esm/MailOutline.js","layout/sc/SCHeaderAvatar.js","layout/LinkWrapper.js","components/dialogs/CapacityMonitorDialog.tsx","layout/sc/SCHeader.js","layout/admin/AdminHeader.js","../node_modules/@material-ui/icons/esm/VpnKey.js","../node_modules/@material-ui/icons/esm/Settings.js","layout/user/UserHeaderAvatar.js","sporttia/SttAppStoresLogos.tsx","layout/user/UserHeaderTopBanner.tsx","layout/user/UserHeader.tsx","layout/PublicHeader.js","layout/Header.tsx","components/LanguageSelector.js","layout/FooterMenuItem.tsx","layout/Footer.js","pages/Page401.js","config/SporttiaPrivilegedPaths.tsx","App.tsx","index.tsx"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nvar _default = blue;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar common = {\n black: '#000',\n white: '#fff'\n};\nvar _default = common;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nvar _default = green;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#d5d5d5',\n A200: '#aaaaaa',\n A400: '#303030',\n A700: '#616161'\n};\nvar _default = grey;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar indigo = {\n 50: '#e8eaf6',\n 100: '#c5cae9',\n 200: '#9fa8da',\n 300: '#7986cb',\n 400: '#5c6bc0',\n 500: '#3f51b5',\n 600: '#3949ab',\n 700: '#303f9f',\n 800: '#283593',\n 900: '#1a237e',\n A100: '#8c9eff',\n A200: '#536dfe',\n A400: '#3d5afe',\n A700: '#304ffe'\n};\nvar _default = indigo;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nvar _default = orange;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar pink = {\n 50: '#fce4ec',\n 100: '#f8bbd0',\n 200: '#f48fb1',\n 300: '#f06292',\n 400: '#ec407a',\n 500: '#e91e63',\n 600: '#d81b60',\n 700: '#c2185b',\n 800: '#ad1457',\n 900: '#880e4f',\n A100: '#ff80ab',\n A200: '#ff4081',\n A400: '#f50057',\n A700: '#c51162'\n};\nvar _default = pink;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nvar _default = red;\nexports.default = _default;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n fill: 'currentColor',\n flexShrink: 0,\n fontSize: theme.typography.pxToRem(24),\n transition: theme.transitions.create('fill', {\n duration: theme.transitions.duration.shorter\n })\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `color=\"action\"`. */\n colorAction: {\n color: theme.palette.action.active\n },\n\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n\n /* Styles applied to the root element if `color=\"disabled\"`. */\n colorDisabled: {\n color: theme.palette.action.disabled\n },\n\n /* Styles applied to the root element if `fontSize=\"inherit\"`. */\n fontSizeInherit: {\n fontSize: 'inherit'\n },\n\n /* Styles applied to the root element if `fontSize=\"small\"`. */\n fontSizeSmall: {\n fontSize: theme.typography.pxToRem(20)\n },\n\n /* Styles applied to the root element if `fontSize=\"large\"`. */\n fontSizeLarge: {\n fontSize: theme.typography.pxToRem(35)\n }\n };\n};\nvar SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'inherit' : _props$color,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'svg' : _props$component,\n _props$fontSize = props.fontSize,\n fontSize = _props$fontSize === void 0 ? 'medium' : _props$fontSize,\n htmlColor = props.htmlColor,\n titleAccess = props.titleAccess,\n _props$viewBox = props.viewBox,\n viewBox = _props$viewBox === void 0 ? '0 0 24 24' : _props$viewBox,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"titleAccess\", \"viewBox\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, color !== 'inherit' && classes[\"color\".concat(capitalize(color))], fontSize !== 'default' && fontSize !== 'medium' && classes[\"fontSize\".concat(capitalize(fontSize))]),\n focusable: \"false\",\n viewBox: viewBox,\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, other), children, titleAccess ? /*#__PURE__*/React.createElement(\"title\", null, titleAccess) : null);\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n */\n color: PropTypes.oneOf(['action', 'disabled', 'error', 'inherit', 'primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n */\n fontSize: chainPropTypes(PropTypes.oneOf(['default', 'inherit', 'large', 'medium', 'small']), function (props) {\n var fontSize = props.fontSize;\n\n if (fontSize === 'default') {\n throw new Error('Material-UI: `fontSize=\"default\"` is deprecated. Use `fontSize=\"medium\"` instead.');\n }\n\n return null;\n }),\n\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this property.\n */\n shapeRendering: PropTypes.string,\n\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default withStyles(styles, {\n name: 'MuiSvgIcon'\n})(SvgIcon);","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n\n/* eslint-disable no-use-before-define */\n\n/**\n * Returns a number whose value is limited to the given range.\n *\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clamp(value) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(\"Material-UI: The value provided \".concat(value, \" is out of range [\").concat(min, \", \").concat(max, \"].\"));\n }\n }\n\n return Math.min(Math.max(min, value), max);\n}\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n *\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\n\n\nexport function hexToRgb(color) {\n color = color.substr(1);\n var re = new RegExp(\".{1,\".concat(color.length >= 6 ? 2 : 1, \"}\"), 'g');\n var colors = color.match(re);\n\n if (colors && colors[0].length === 1) {\n colors = colors.map(function (n) {\n return n + n;\n });\n }\n\n return colors ? \"rgb\".concat(colors.length === 4 ? 'a' : '', \"(\").concat(colors.map(function (n, index) {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', '), \")\") : '';\n}\n\nfunction intToHex(int) {\n var hex = int.toString(16);\n return hex.length === 1 ? \"0\".concat(hex) : hex;\n}\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n *\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\n\n\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n\n var _decomposeColor = decomposeColor(color),\n values = _decomposeColor.values;\n\n return \"#\".concat(values.map(function (n) {\n return intToHex(n);\n }).join(''));\n}\n/**\n * Converts a color from hsl format to rgb format.\n *\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\n\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n var _color = color,\n values = _color.values;\n var h = values[0];\n var s = values[1] / 100;\n var l = values[2] / 100;\n var a = s * Math.min(l, 1 - l);\n\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n var type = 'rgb';\n var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n\n return recomposeColor({\n type: type,\n values: rgb\n });\n}\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\n\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n\n var marker = color.indexOf('(');\n var type = color.substring(0, marker);\n\n if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Unsupported `\".concat(color, \"` color.\\nWe support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().\") : _formatMuiErrorMessage(3, color));\n }\n\n var values = color.substring(marker + 1, color.length - 1).split(',');\n values = values.map(function (value) {\n return parseFloat(value);\n });\n return {\n type: type,\n values: values\n };\n}\n/**\n * Converts a color object with type and values to a string.\n *\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\n\nexport function recomposeColor(color) {\n var type = color.type;\n var values = color.values;\n\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map(function (n, i) {\n return i < 3 ? parseInt(n, 10) : n;\n });\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = \"\".concat(values[1], \"%\");\n values[2] = \"\".concat(values[2], \"%\");\n }\n\n return \"\".concat(type, \"(\").concat(values.join(', '), \")\");\n}\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\n\nexport function getContrastRatio(foreground, background) {\n var lumA = getLuminance(foreground);\n var lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\n\nexport function getLuminance(color) {\n color = decomposeColor(color);\n var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(function (val) {\n val /= 255; // normalized\n\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }); // Truncate at 3 digits\n\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function emphasize(color) {\n var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15;\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nvar warnedOnce = false;\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0 -1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n *\n * @deprecated\n * Use `import { alpha } from '@material-ui/core/styles'` instead.\n */\n\nexport function fade(color, value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: The `fade` color utility was renamed to `alpha` to better describe its functionality.', '', \"You should use `import { alpha } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return alpha(color, value);\n}\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha value is overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0-1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n\n color.values[3] = value;\n return recomposeColor(color);\n}\n/**\n * Darkens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n\n return recomposeColor(color);\n}\n/**\n * Lightens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n }\n\n return recomposeColor(color);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport var keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.\n\nexport default function createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n } : _breakpoints$values,\n _breakpoints$unit = breakpoints.unit,\n unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,\n _breakpoints$step = breakpoints.step,\n step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,\n other = _objectWithoutProperties(breakpoints, [\"values\", \"unit\", \"step\"]);\n\n function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n }\n\n function down(key) {\n var endIndex = keys.indexOf(key) + 1;\n var upperbound = values[keys[endIndex]];\n\n if (endIndex === keys.length) {\n // xl down applies to all sizes\n return up('xs');\n }\n\n var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;\n return \"@media (max-width:\".concat(value - step / 100).concat(unit, \")\");\n }\n\n function between(start, end) {\n var endIndex = keys.indexOf(end);\n\n if (endIndex === keys.length - 1) {\n return up(start);\n }\n\n return \"@media (min-width:\".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, \") and \") + \"(max-width:\".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, \")\");\n }\n\n function only(key) {\n return between(key, key);\n }\n\n var warnedOnce = false;\n\n function width(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.warn([\"Material-UI: The `theme.breakpoints.width` utility is deprecated because it's redundant.\", 'Use the `theme.breakpoints.values` instead.'].join('\\n'));\n }\n }\n\n return values[key];\n }\n\n return _extends({\n keys: keys,\n values: values,\n up: up,\n down: down,\n between: between,\n only: only,\n width: width\n }, other);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, spacing, mixins) {\n var _toolbar;\n\n return _extends({\n gutters: function gutters() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n console.warn(['Material-UI: theme.mixins.gutters() is deprecated.', 'You can use the source of the mixin directly:', \"\\n paddingLeft: theme.spacing(2),\\n paddingRight: theme.spacing(2),\\n [theme.breakpoints.up('sm')]: {\\n paddingLeft: theme.spacing(3),\\n paddingRight: theme.spacing(3),\\n },\\n \"].join('\\n'));\n return _extends({\n paddingLeft: spacing(2),\n paddingRight: spacing(2)\n }, styles, _defineProperty({}, breakpoints.up('sm'), _extends({\n paddingLeft: spacing(3),\n paddingRight: spacing(3)\n }, styles[breakpoints.up('sm')])));\n },\n toolbar: (_toolbar = {\n minHeight: 56\n }, _defineProperty(_toolbar, \"\".concat(breakpoints.up('xs'), \" and (orientation: landscape)\"), {\n minHeight: 48\n }), _defineProperty(_toolbar, breakpoints.up('sm'), {\n minHeight: 64\n }), _toolbar)\n }, mixins);\n}","var common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","var grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#d5d5d5',\n A200: '#aaaaaa',\n A400: '#303030',\n A700: '#616161'\n};\nexport default grey;","var indigo = {\n 50: '#e8eaf6',\n 100: '#c5cae9',\n 200: '#9fa8da',\n 300: '#7986cb',\n 400: '#5c6bc0',\n 500: '#3f51b5',\n 600: '#3949ab',\n 700: '#303f9f',\n 800: '#283593',\n 900: '#1a237e',\n A100: '#8c9eff',\n A200: '#536dfe',\n A400: '#3d5afe',\n A700: '#304ffe'\n};\nexport default indigo;","var pink = {\n 50: '#fce4ec',\n 100: '#f8bbd0',\n 200: '#f48fb1',\n 300: '#f06292',\n 400: '#ec407a',\n 500: '#e91e63',\n 600: '#d81b60',\n 700: '#c2185b',\n 800: '#ad1457',\n 900: '#880e4f',\n A100: '#ff80ab',\n A200: '#ff4081',\n A400: '#f50057',\n A700: '#c51162'\n};\nexport default pink;","var red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","var orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","var blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","var green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\nimport { deepmerge } from '@material-ui/utils';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport indigo from '../colors/indigo';\nimport pink from '../colors/pink';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport green from '../colors/green';\nimport { darken, getContrastRatio, lighten } from './colorManipulator';\nexport var light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.54)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)',\n // Text hints.\n hint: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: grey[50]\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport var dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n hint: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: grey[800],\n default: '#303030'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\n\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n var tonalOffsetLight = tonalOffset.light || tonalOffset;\n var tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\n\nexport default function createPalette(palette) {\n var _palette$primary = palette.primary,\n primary = _palette$primary === void 0 ? {\n light: indigo[300],\n main: indigo[500],\n dark: indigo[700]\n } : _palette$primary,\n _palette$secondary = palette.secondary,\n secondary = _palette$secondary === void 0 ? {\n light: pink.A200,\n main: pink.A400,\n dark: pink.A700\n } : _palette$secondary,\n _palette$error = palette.error,\n error = _palette$error === void 0 ? {\n light: red[300],\n main: red[500],\n dark: red[700]\n } : _palette$error,\n _palette$warning = palette.warning,\n warning = _palette$warning === void 0 ? {\n light: orange[300],\n main: orange[500],\n dark: orange[700]\n } : _palette$warning,\n _palette$info = palette.info,\n info = _palette$info === void 0 ? {\n light: blue[300],\n main: blue[500],\n dark: blue[700]\n } : _palette$info,\n _palette$success = palette.success,\n success = _palette$success === void 0 ? {\n light: green[300],\n main: green[500],\n dark: green[700]\n } : _palette$success,\n _palette$type = palette.type,\n type = _palette$type === void 0 ? 'light' : _palette$type,\n _palette$contrastThre = palette.contrastThreshold,\n contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,\n _palette$tonalOffset = palette.tonalOffset,\n tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,\n other = _objectWithoutProperties(palette, [\"primary\", \"secondary\", \"error\", \"warning\", \"info\", \"success\", \"type\", \"contrastThreshold\", \"tonalOffset\"]); // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n\n\n function getContrastText(background) {\n var contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n\n if (process.env.NODE_ENV !== 'production') {\n var contrast = getContrastRatio(background, contrastText);\n\n if (contrast < 3) {\n console.error([\"Material-UI: The contrast ratio of \".concat(contrast, \":1 for \").concat(contrastText, \" on \").concat(background), 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n\n return contrastText;\n }\n\n var augmentColor = function augmentColor(color) {\n var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700;\n color = _extends({}, color);\n\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n\n if (!color.main) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\nThe color object needs to have a `main` property or a `\".concat(mainShade, \"` property.\") : _formatMuiErrorMessage(4, mainShade));\n }\n\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\n`color.main` should be a string, but `\".concat(JSON.stringify(color.main), \"` was provided instead.\\n\\nDid you intend to use one of the following approaches?\\n\\nimport {\\xA0green } from \\\"@material-ui/core/colors\\\";\\n\\nconst theme1 = createTheme({ palette: {\\n primary: green,\\n} });\\n\\nconst theme2 = createTheme({ palette: {\\n primary: { main: green[500] },\\n} });\") : _formatMuiErrorMessage(5, JSON.stringify(color.main)));\n }\n\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n\n return color;\n };\n\n var types = {\n dark: dark,\n light: light\n };\n\n if (process.env.NODE_ENV !== 'production') {\n if (!types[type]) {\n console.error(\"Material-UI: The palette type `\".concat(type, \"` is not supported.\"));\n }\n }\n\n var paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: common,\n // The palette type, can be light or dark.\n type: type,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor(primary),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor(secondary, 'A400', 'A200', 'A700'),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor(error),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor(warning),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor(info),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor(success),\n // The grey colors.\n grey: grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold: contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText: getContrastText,\n // Generate a rich color object.\n augmentColor: augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: tonalOffset\n }, types[type]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\n\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nvar warnedOnce = false;\n\nfunction roundWithDeprecationWarning(value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n console.warn(['Material-UI: The `theme.typography.round` helper is deprecated.', 'Head to https://mui.com/r/migration-v4/#theme for a migration path.'].join('\\n'));\n warnedOnce = true;\n }\n }\n\n return round(value);\n}\n\nvar caseAllCaps = {\n textTransform: 'uppercase'\n};\nvar defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n/**\n * @see @link{https://material.io/design/typography/the-type-system.html}\n * @see @link{https://material.io/design/typography/understanding-typography.html}\n */\n\nexport default function createTypography(palette, typography) {\n var _ref = typeof typography === 'function' ? typography(palette) : typography,\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,\n _ref$fontWeightLight = _ref.fontWeightLight,\n fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,\n _ref$fontWeightRegula = _ref.fontWeightRegular,\n fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,\n _ref$fontWeightMedium = _ref.fontWeightMedium,\n fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,\n _ref$fontWeightBold = _ref.fontWeightBold,\n fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold,\n _ref$htmlFontSize = _ref.htmlFontSize,\n htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,\n allVariants = _ref.allVariants,\n pxToRem2 = _ref.pxToRem,\n other = _objectWithoutProperties(_ref, [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('Material-UI: `fontSize` is required to be a number.');\n }\n\n if (typeof htmlFontSize !== 'number') {\n console.error('Material-UI: `htmlFontSize` is required to be a number.');\n }\n }\n\n var coef = fontSize / 14;\n\n var pxToRem = pxToRem2 || function (size) {\n return \"\".concat(size / htmlFontSize * coef, \"rem\");\n };\n\n var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) {\n return _extends({\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight: lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: \"\".concat(round(letterSpacing / size), \"em\")\n } : {}, casing, allVariants);\n };\n\n var variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)\n };\n return deepmerge(_extends({\n htmlFontSize: htmlFontSize,\n pxToRem: pxToRem,\n round: roundWithDeprecationWarning,\n // TODO v5: remove\n fontFamily: fontFamily,\n fontSize: fontSize,\n fontWeightLight: fontWeightLight,\n fontWeightRegular: fontWeightRegular,\n fontWeightMedium: fontWeightMedium,\n fontWeightBold: fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n\n });\n}","var shadowKeyUmbraOpacity = 0.2;\nvar shadowKeyPenumbraOpacity = 0.14;\nvar shadowAmbientShadowOpacity = 0.12;\n\nfunction createShadow() {\n return [\"\".concat(arguments.length <= 0 ? undefined : arguments[0], \"px \").concat(arguments.length <= 1 ? undefined : arguments[1], \"px \").concat(arguments.length <= 2 ? undefined : arguments[2], \"px \").concat(arguments.length <= 3 ? undefined : arguments[3], \"px rgba(0,0,0,\").concat(shadowKeyUmbraOpacity, \")\"), \"\".concat(arguments.length <= 4 ? undefined : arguments[4], \"px \").concat(arguments.length <= 5 ? undefined : arguments[5], \"px \").concat(arguments.length <= 6 ? undefined : arguments[6], \"px \").concat(arguments.length <= 7 ? undefined : arguments[7], \"px rgba(0,0,0,\").concat(shadowKeyPenumbraOpacity, \")\"), \"\".concat(arguments.length <= 8 ? undefined : arguments[8], \"px \").concat(arguments.length <= 9 ? undefined : arguments[9], \"px \").concat(arguments.length <= 10 ? undefined : arguments[10], \"px \").concat(arguments.length <= 11 ? undefined : arguments[11], \"px rgba(0,0,0,\").concat(shadowAmbientShadowOpacity, \")\")].join(',');\n} // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\n\n\nvar shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","var shape = {\n borderRadius: 4\n};\nexport default shape;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { deepmerge } from '@material-ui/utils';\nimport createBreakpoints from './createBreakpoints';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport transitions from './transitions';\nimport zIndex from './zIndex';\n\nfunction createTheme() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _options$breakpoints = options.breakpoints,\n breakpointsInput = _options$breakpoints === void 0 ? {} : _options$breakpoints,\n _options$mixins = options.mixins,\n mixinsInput = _options$mixins === void 0 ? {} : _options$mixins,\n _options$palette = options.palette,\n paletteInput = _options$palette === void 0 ? {} : _options$palette,\n spacingInput = options.spacing,\n _options$typography = options.typography,\n typographyInput = _options$typography === void 0 ? {} : _options$typography,\n other = _objectWithoutProperties(options, [\"breakpoints\", \"mixins\", \"palette\", \"spacing\", \"typography\"]);\n\n var palette = createPalette(paletteInput);\n var breakpoints = createBreakpoints(breakpointsInput);\n var spacing = createSpacing(spacingInput);\n var muiTheme = deepmerge({\n breakpoints: breakpoints,\n direction: 'ltr',\n mixins: createMixins(breakpoints, spacing, mixinsInput),\n overrides: {},\n // Inject custom styles\n palette: palette,\n props: {},\n // Provide default props\n shadows: shadows,\n typography: createTypography(palette, typographyInput),\n spacing: spacing,\n shape: shape,\n transitions: transitions,\n zIndex: zIndex\n }, other);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n muiTheme = args.reduce(function (acc, argument) {\n return deepmerge(acc, argument);\n }, muiTheme);\n\n if (process.env.NODE_ENV !== 'production') {\n var pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected'];\n\n var traverse = function traverse(node, parentKey) {\n var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var key; // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\n for (key in node) {\n var child = node[key];\n\n if (depth === 1) {\n if (key.indexOf('Mui') === 0 && child) {\n traverse(child, key, depth + 1);\n }\n } else if (pseudoClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `\".concat(parentKey, \"` component increases \") + \"the CSS specificity of the `\".concat(key, \"` internal state.\"), 'You can not override it like this: ', JSON.stringify(node, null, 2), '', 'Instead, you need to use the $ruleName syntax:', JSON.stringify({\n root: _defineProperty({}, \"&$\".concat(key), child)\n }, null, 2), '', 'https://mui.com/r/pseudo-classes-guide'].join('\\n'));\n } // Remove the style to prevent global conflicts.\n\n\n node[key] = {};\n }\n }\n };\n\n traverse(muiTheme.overrides);\n }\n\n return muiTheme;\n}\n\nvar warnedOnce = false;\nexport function createMuiTheme() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return createTheme.apply(void 0, arguments);\n}\nexport default createTheme;","import { createUnarySpacing } from '@material-ui/system';\nvar warnOnce;\nexport default function createSpacing() {\n var spacingInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8;\n\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n } // Material Design layouts are visually balanced. Most measurements align to an 8dp grid applied, which aligns both spacing and the overall layout.\n // Smaller components, such as icons and type, can align to a 4dp grid.\n // https://material.io/design/layout/understanding-layout.html#usage\n\n\n var transform = createUnarySpacing({\n spacing: spacingInput\n });\n\n var spacing = function spacing() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(args.length <= 4)) {\n console.error(\"Material-UI: Too many arguments provided, expected between 0 and 4, got \".concat(args.length));\n }\n }\n\n if (args.length === 0) {\n return transform(1);\n }\n\n if (args.length === 1) {\n return transform(args[0]);\n }\n\n return args.map(function (argument) {\n if (typeof argument === 'string') {\n return argument;\n }\n\n var output = transform(argument);\n return typeof output === 'number' ? \"\".concat(output, \"px\") : output;\n }).join(' ');\n }; // Backward compatibility, to remove in v5.\n\n\n Object.defineProperty(spacing, 'unit', {\n get: function get() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnOnce || process.env.NODE_ENV === 'test') {\n console.error(['Material-UI: theme.spacing.unit usage has been deprecated.', 'It will be removed in v5.', 'You can replace `theme.spacing.unit * y` with `theme.spacing(y)`.', '', 'You can use the `https://github.com/mui-org/material-ui/tree/master/packages/material-ui-codemod/README.md#theme-spacing-api` migration helper to make the process smoother.'].join('\\n'));\n }\n\n warnOnce = true;\n }\n\n return spacingInput;\n }\n });\n spacing.mui = true;\n return spacing;\n}","import createTheme from './createTheme';\nvar defaultTheme = createTheme();\nexport default defaultTheme;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport var easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n}; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\n\nexport var duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\n\nfunction formatMs(milliseconds) {\n return \"\".concat(Math.round(milliseconds), \"ms\");\n}\n/**\n * @param {string|Array} props\n * @param {object} param\n * @param {string} param.prop\n * @param {number} param.duration\n * @param {string} param.easing\n * @param {number} param.delay\n */\n\n\nexport default {\n easing: easing,\n duration: duration,\n create: function create() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all'];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _options$duration = options.duration,\n durationOption = _options$duration === void 0 ? duration.standard : _options$duration,\n _options$easing = options.easing,\n easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing,\n _options$delay = options.delay,\n delay = _options$delay === void 0 ? 0 : _options$delay,\n other = _objectWithoutProperties(options, [\"duration\", \"easing\", \"delay\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n var isString = function isString(value) {\n return typeof value === 'string';\n };\n\n var isNumber = function isNumber(value) {\n return !isNaN(parseFloat(value));\n };\n\n if (!isString(props) && !Array.isArray(props)) {\n console.error('Material-UI: Argument \"props\" must be a string or Array.');\n }\n\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(\"Material-UI: Argument \\\"duration\\\" must be a number or a string but found \".concat(durationOption, \".\"));\n }\n\n if (!isString(easingOption)) {\n console.error('Material-UI: Argument \"easing\" must be a string.');\n }\n\n if (!isNumber(delay) && !isString(delay)) {\n console.error('Material-UI: Argument \"delay\" must be a number or a string.');\n }\n\n if (Object.keys(other).length !== 0) {\n console.error(\"Material-UI: Unrecognized argument(s) [\".concat(Object.keys(other).join(','), \"].\"));\n }\n }\n\n return (Array.isArray(props) ? props : [props]).map(function (animatedProp) {\n return \"\".concat(animatedProp, \" \").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), \" \").concat(easingOption, \" \").concat(typeof delay === 'string' ? delay : formatMs(delay));\n }).join(',');\n },\n getAutoHeightDuration: function getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n\n var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n\n return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10);\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withStyles as withStylesWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nfunction withStyles(stylesOrCreator, options) {\n return withStylesWithoutDefault(stylesOrCreator, _extends({\n defaultTheme: defaultTheme\n }, options));\n}\n\nexport default withStyles;","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nvar zIndex = {\n mobileStepper: 1000,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word a the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: capitalize(string) expects a string argument.\" : _formatMuiErrorMessage(7));\n }\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nexport default function createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.reduce(function (acc, func) {\n if (func == null) {\n return acc;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof func !== 'function') {\n console.error('Material-UI: Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, function () {});\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport SvgIcon from '../SvgIcon';\n/**\n * Private module reserved for @material-ui/x packages.\n */\n\nexport default function createSvgIcon(path, displayName) {\n var Component = function Component(props, ref) {\n return /*#__PURE__*/React.createElement(SvgIcon, _extends({\n ref: ref\n }, props), path);\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = \"\".concat(displayName, \"Icon\");\n }\n\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 166;\n var timeout;\n\n function debounced() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // eslint-disable-next-line consistent-this\n var that = this;\n\n var later = function later() {\n func.apply(that, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n debounced.clear = function () {\n clearTimeout(timeout);\n };\n\n return debounced;\n}","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n return function (props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (typeof props[propName] !== 'undefined') {\n return new Error(\"The \".concat(location, \" `\").concat(propFullNameSafe, \"` of \") + \"`\".concat(componentNameSafe, \"` is deprecated. \").concat(reason));\n }\n\n return null;\n };\n}","export default function requirePropFactory(componentNameInError) {\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n var requireProp = function requireProp(requiredProp) {\n return function (props, propName, componentName, location, propFullName) {\n var propFullNameSafe = propFullName || propName;\n\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(\"The prop `\".concat(propFullNameSafe, \"` of \") + \"`\".concat(componentNameInError, \"` must be used on `\").concat(requiredProp, \"`.\"));\n }\n\n return null;\n };\n };\n\n return requireProp;\n}","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n\n var propFullNameSafe = propFullName || propName;\n\n if (typeof props[propName] !== 'undefined') {\n return new Error(\"The prop `\".concat(propFullNameSafe, \"` is not supported. Please remove it.\"));\n }\n\n return null;\n}","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from './ownerDocument';\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc.defaultView || window;\n}","// TODO v5: consider to make it private\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","import * as React from 'react';\n/**\n * Private module reserved for @material-ui/x packages.\n */\n\nexport default function useId(idOverride) {\n var _React$useState = React.useState(idOverride),\n defaultId = _React$useState[0],\n setDefaultId = _React$useState[1];\n\n var id = idOverride || defaultId;\n React.useEffect(function () {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the random value for client-side rendering only.\n // We can't use it server-side.\n setDefaultId(\"mui-\".concat(Math.round(Math.random() * 1e5)));\n }\n }, [defaultId]);\n return id;\n}","/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled(_ref) {\n var controlled = _ref.controlled,\n defaultProp = _ref.default,\n name = _ref.name,\n _ref$state = _ref.state,\n state = _ref$state === void 0 ? 'value' : _ref$state;\n\n var _React$useRef = React.useRef(controlled !== undefined),\n isControlled = _React$useRef.current;\n\n var _React$useState = React.useState(defaultProp),\n valueState = _React$useState[0],\n setValue = _React$useState[1];\n\n var value = isControlled ? controlled : valueState;\n\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(function () {\n if (isControlled !== (controlled !== undefined)) {\n console.error([\"Material-UI: A component is changing the \".concat(isControlled ? '' : 'un', \"controlled \").concat(state, \" state of \").concat(name, \" to be \").concat(isControlled ? 'un' : '', \"controlled.\"), 'Elements should not switch from uncontrolled to controlled (or vice versa).', \"Decide between using a controlled or uncontrolled \".concat(name, \" \") + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [controlled]);\n\n var _React$useRef2 = React.useRef(defaultProp),\n defaultValue = _React$useRef2.current;\n\n React.useEffect(function () {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error([\"Material-UI: A component is changing the default \".concat(state, \" state of an uncontrolled \").concat(name, \" after being initialized. \") + \"To suppress this warning opt to use a controlled \".concat(name, \".\")].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n\n var setValueIfUncontrolled = React.useCallback(function (newValue) {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","import * as React from 'react';\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param {function} fn\n */\n\nexport default function useEventCallback(fn) {\n var ref = React.useRef(fn);\n useEnhancedEffect(function () {\n ref.current = fn;\n });\n return React.useCallback(function () {\n return (0, ref.current).apply(void 0, arguments);\n }, []);\n}","import * as React from 'react';\nimport setRef from './setRef';\nexport default function useForkRef(refA, refB) {\n /**\n * This will create a new function if the ref props change and are defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior\n */\n return React.useMemo(function () {\n if (refA == null && refB == null) {\n return null;\n }\n\n return function (refValue) {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}","// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nvar hadKeyboardEvent = true;\nvar hadFocusVisibleRecently = false;\nvar hadFocusVisibleRecentlyTimeout = null;\nvar inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @return {boolean}\n */\n\nfunction focusTriggersKeyboardModality(node) {\n var type = node.type,\n tagName = node.tagName;\n\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n\n if (node.isContentEditable) {\n return true;\n }\n\n return false;\n}\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\n\n\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n\n hadKeyboardEvent = true;\n}\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\n\n\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\n\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\n\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\n\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\n\nfunction isFocusVisible(event) {\n var target = event.target;\n\n try {\n return target.matches(':focus-visible');\n } catch (error) {} // browsers not implementing :focus-visible will throw a SyntaxError\n // we use our own heuristic for those browsers\n // rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n // no need for validFocusTarget check. the user does that by attaching it to\n // focusable events only\n\n\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\n/**\n * Should be called if a blur event is fired on a focus-visible element\n */\n\n\nfunction handleBlurVisible() {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function () {\n hadFocusVisibleRecently = false;\n }, 100);\n}\n\nexport default function useIsFocusVisible() {\n var ref = React.useCallback(function (instance) {\n var node = ReactDOM.findDOMNode(instance);\n\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(isFocusVisible);\n }\n\n return {\n isFocusVisible: isFocusVisible,\n onBlurVisible: handleBlurVisible,\n ref: ref\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.zhCN = exports.viVN = exports.ukUA = exports.trTR = exports.svSE = exports.skSK = exports.ruRU = exports.roRO = exports.ptPT = exports.ptBR = exports.plPL = exports.nlNL = exports.koKR = exports.jaJP = exports.itIT = exports.isIS = exports.idID = exports.hyAM = exports.huHU = exports.hiIN = exports.heIL = exports.frFR = exports.fiFI = exports.faIR = exports.etEE = exports.esES = exports.enUS = exports.deDE = exports.csCZ = exports.caES = exports.bgBG = exports.azAZ = void 0;\nvar azAZ = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Yolu göstər'\n },\n MuiTablePagination: {\n backIconButtonText: 'Əvvəlki səhifə',\n labelRowsPerPage: 'Səhifəyə düşən sətrlər:',\n labelDisplayedRows: function labelDisplayedRows(_ref) {\n var from = _ref.from,\n to = _ref.to,\n count = _ref.count;\n return \"\".concat(from, \"-\").concat(to, \" d\\u0259n \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Növbəti səhifə'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n var pluralForm = 'Ulduz';\n var lastDigit = value % 10;\n\n if (lastDigit > 1 && lastDigit < 5) {\n pluralForm = 'Ulduzlar';\n }\n\n return \"\".concat(value, \" \").concat(pluralForm);\n },\n emptyLabelText: 'Boş'\n },\n MuiAutocomplete: {\n clearText: 'Silmək',\n closeText: 'Bağlamaq',\n loadingText: 'Yüklənir…',\n noOptionsText: 'Seçimlər mövcud deyil',\n openText: 'Открыть'\n },\n MuiAlert: {\n closeText: 'Bağlamaq'\n },\n MuiPagination: {\n 'aria-label': 'Səhifənin naviqasiyası',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(page, \" \").concat(selected ? 'səhifə' : 'səhifəyə keç');\n }\n\n if (type === 'first') {\n return 'Birinci səhifəyə keç';\n }\n\n if (type === 'last') {\n return 'Sonuncu səhifəyə keç';\n }\n\n if (type === 'next') {\n return 'Növbəti səhifəyə keç';\n }\n\n if (type === 'previous') {\n return 'Əvvəlki səhifəyə keç';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.azAZ = azAZ;\nvar bgBG = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Показване на пътя'\n },\n MuiTablePagination: {\n backIconButtonText: 'Предишна страница',\n labelRowsPerPage: 'Редове на страница:',\n labelDisplayedRows: function labelDisplayedRows(_ref2) {\n var from = _ref2.from,\n to = _ref2.to,\n count = _ref2.count;\n return \"\".concat(from, \"-\").concat(to, \" \\u043E\\u0442 \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Следваща страница'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \\u0417\\u0432\\u0435\\u0437\\u0434\").concat(value !== 1 ? 'и' : 'а');\n },\n emptyLabelText: 'Изчисти'\n },\n MuiAutocomplete: {\n clearText: 'Изчисти',\n closeText: 'Затвори',\n loadingText: 'Зареждане…',\n noOptionsText: 'Няма налични опции',\n openText: 'Отвори'\n },\n MuiAlert: {\n closeText: 'Затвори'\n },\n MuiPagination: {\n 'aria-label': 'Пагинация',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Към ', \"\\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 \").concat(page);\n }\n\n if (type === 'first') {\n return 'Отиди на първата страница';\n }\n\n if (type === 'last') {\n return 'Отиди на последната страница';\n }\n\n if (type === 'next') {\n return 'Отиди на следващата страница';\n }\n\n if (type === 'previous') {\n return 'Отиди на предишната страница';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.bgBG = bgBG;\nvar caES = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Pàgina anterior',\n labelRowsPerPage: 'Files per pàgina:',\n labelDisplayedRows: function labelDisplayedRows(_ref3) {\n var from = _ref3.from,\n to = _ref3.to,\n count = _ref3.count;\n return \"\".concat(from, \"-\").concat(to, \" de \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Següent pàgina'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \").concat(value !== 1 ? 'Estrelles' : 'Estrella');\n },\n emptyLabelText: 'Buit'\n },\n MuiAutocomplete: {\n clearText: 'Netejar',\n closeText: 'Tancar',\n loadingText: 'Carregant…',\n noOptionsText: 'Sense opcions',\n openText: 'Obert'\n },\n MuiAlert: {\n closeText: 'Tancat'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.caES = caES;\nvar csCZ = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Ukázat cestu'\n },\n MuiTablePagination: {\n backIconButtonText: 'Předchozí stránka',\n labelRowsPerPage: 'Řádků na stránce:',\n labelDisplayedRows: function labelDisplayedRows(_ref4) {\n var from = _ref4.from,\n to = _ref4.to,\n count = _ref4.count;\n return \"\".concat(from, \"-\").concat(to, \" z \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Další stránka'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n if (value === 1) {\n return \"\".concat(value, \" hv\\u011Bzdi\\u010Dka\");\n }\n\n if (value >= 2 && value <= 4) {\n return \"\".concat(value, \" hv\\u011Bzdi\\u010Dky\");\n }\n\n return \"\".concat(value, \" hv\\u011Bzdi\\u010Dek\");\n },\n emptyLabelText: 'Prázdné'\n },\n MuiAutocomplete: {\n clearText: 'Vymazat',\n closeText: 'Zavřít',\n loadingText: 'Načítání…',\n noOptionsText: 'Žádné možnosti',\n openText: 'Otevřít'\n },\n MuiAlert: {\n closeText: 'Zavřít'\n },\n MuiPagination: {\n 'aria-label': 'Navigace stránkováním',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Jít na ').concat(page, \" str\\xE1nku\");\n }\n\n if (type === 'first') {\n return 'Jít na první stránku';\n }\n\n if (type === 'last') {\n return 'Jít na poslední stránku';\n }\n\n if (type === 'next') {\n return 'Jít na další stránku';\n }\n\n if (type === 'previous') {\n return 'Jít na předchozí stránku';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.csCZ = csCZ;\nvar deDE = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Pfad anzeigen'\n },\n MuiTablePagination: {\n backIconButtonText: 'Nächste Seite',\n labelRowsPerPage: 'Zeilen pro Seite:',\n labelDisplayedRows: function labelDisplayedRows(_ref5) {\n var from = _ref5.from,\n to = _ref5.to,\n count = _ref5.count;\n return \"\".concat(from, \"-\").concat(to, \" von \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Nächste Seite'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \").concat(value !== 1 ? 'Sterne' : 'Stern');\n },\n emptyLabelText: 'Keine Wertung'\n },\n MuiAutocomplete: {\n clearText: 'Leeren',\n closeText: 'Schließen',\n loadingText: 'Wird geladen…',\n noOptionsText: 'Keine Optionen',\n openText: 'Öffnen'\n },\n MuiAlert: {\n closeText: 'Schließen'\n },\n MuiPagination: {\n 'aria-label': 'Navigation via Seitennummerierung',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Gehe zu ', \"Seite \").concat(page);\n }\n\n if (type === 'first') {\n return 'Zur ersten Seite';\n }\n\n if (type === 'last') {\n return 'Zur letzten Seite';\n }\n\n if (type === 'next') {\n return 'Zur nächsten Seite';\n }\n\n if (type === 'previous') {\n return 'Zur vorherigen Seite';\n }\n\n return undefined;\n }\n }\n }\n}; // default\n\nexports.deDE = deDE;\nvar enUS = {\n /*\n props: {\n MuiBreadcrumbs: {\n expandText: 'Show path',\n },\n MuiTablePagination: {\n backIconButtonText: 'Previous page',\n labelRowsPerPage: 'Rows per page:',\n labelDisplayedRows: ({ from, to, count }) =>\n `${from}-${to} of ${count !== -1 ? count : `more than ${to}`}`,\n nextIconButtonText: 'Next page',\n },\n MuiRating: {\n getLabelText: value => `${value} Star${value !== 1 ? 's' : ''}`,\n emptyLabelText: 'Empty',\n },\n MuiAutocomplete: {\n clearText: 'Clear',\n closeText: 'Close',\n loadingText: 'Loading…',\n noOptionsText: 'No options',\n openText: 'Open',\n },\n MuiAlert: {\n closeText: 'Close',\n },\n MuiPagination: {\n 'aria-label': 'Pagination navigation',\n getItemAriaLabel: (type, page, selected) => {\n if (type === 'page') {\n return `${selected ? '' : 'Go to '}page ${page}`;\n }\n if (type === 'first') {\n return 'Go to first page';\n }\n if (type === 'last') {\n return 'Go to last page';\n }\n if (type === 'next') {\n return 'Go to next page';\n }\n if (type === 'previous') {\n return 'Go to previous page';\n }\n return undefined;\n },\n },\n },\n */\n};\nexports.enUS = enUS;\nvar esES = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Mostrar ruta'\n },\n MuiTablePagination: {\n backIconButtonText: 'Página anterior',\n labelRowsPerPage: 'Filas por página:',\n labelDisplayedRows: function labelDisplayedRows(_ref6) {\n var from = _ref6.from,\n to = _ref6.to,\n count = _ref6.count;\n return \"\".concat(from, \"-\").concat(to, \" de \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Siguiente página'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Estrella\").concat(value !== 1 ? 's' : '');\n },\n emptyLabelText: 'Vacío'\n },\n MuiAutocomplete: {\n clearText: 'Limpiar',\n closeText: 'Cerrar',\n loadingText: 'Cargando…',\n noOptionsText: 'Sin opciones',\n openText: 'Abierto'\n },\n MuiAlert: {\n closeText: 'Cerrar'\n },\n MuiPagination: {\n 'aria-label': 'Paginador',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Ir a la ', \"p\\xE1gina \").concat(page);\n }\n\n if (type === 'first') {\n return 'Ir a la primera página';\n }\n\n if (type === 'last') {\n return 'Ir a la última página';\n }\n\n if (type === 'next') {\n return 'Ir a la página siguiente';\n }\n\n if (type === 'previous') {\n return 'Ir a la página anterior';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.esES = esES;\nvar etEE = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Näita teed'\n },\n MuiTablePagination: {\n backIconButtonText: 'Eelmine lehekülg',\n labelRowsPerPage: 'Ridu leheküljel:',\n labelDisplayedRows: function labelDisplayedRows(_ref7) {\n var from = _ref7.from,\n to = _ref7.to,\n count = _ref7.count;\n return \"\".concat(from, \"-\").concat(to, \" / \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Järgmine lehekülg'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" T\\xE4rn\").concat(value !== 1 ? 'i' : '');\n },\n emptyLabelText: 'Tühi'\n },\n MuiAutocomplete: {\n clearText: 'Tühjenda',\n closeText: 'Sulge',\n loadingText: 'Laen…',\n noOptionsText: 'Valikuid ei ole',\n openText: 'Ava'\n },\n MuiAlert: {\n closeText: 'Sulge'\n },\n MuiPagination: {\n 'aria-label': 'Lehekülgede valik',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Vali ', \"lehek\\xFClg \").concat(page);\n }\n\n if (type === 'first') {\n return 'Vali esimene lehekülg';\n }\n\n if (type === 'last') {\n return 'Vali viimane lehekülg';\n }\n\n if (type === 'next') {\n return 'Vali järgmine lehekülg';\n }\n\n if (type === 'previous') {\n return 'Vali eelmine lehekülg';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.etEE = etEE;\nvar faIR = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiBreadcrumbs: {\n expandText: 'نمایش مسیر'\n },\n MuiTablePagination: {\n backIconButtonText: 'صفحهٔ قبل',\n labelRowsPerPage: 'تعداد سطرهای هر صفحه:',\n labelDisplayedRows: function labelDisplayedRows(_ref8) {\n var from = _ref8.from,\n to = _ref8.to,\n count = _ref8.count;\n return \"\".concat(from, \"-\").concat(to, \" \\u0627\\u0632 \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'صفحهٔ بعد'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \\u0633\\u062A\\u0627\\u0631\\u0647\");\n },\n emptyLabelText: 'خالی'\n },\n MuiAutocomplete: {\n clearText: 'پاک‌کردن',\n closeText: 'بستن',\n loadingText: 'در حال بارگذاری…',\n noOptionsText: 'بی‌نتیجه',\n openText: 'بازکردن'\n },\n MuiAlert: {\n closeText: 'بستن'\n },\n MuiPagination: {\n 'aria-label': 'ناوبری صفحه',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'رفتن به ', \"\\u0635\\u0641\\u062D\\u0647\\u0654 \").concat(page);\n }\n\n if (type === 'first') {\n return 'رفتن به اولین صفحه';\n }\n\n if (type === 'last') {\n return 'رفتن به آخرین صفحه';\n }\n\n if (type === 'next') {\n return 'رفتن به صفحه‌ی بعدی';\n }\n\n if (type === 'previous') {\n return 'رفتن به صفحه‌ی قبلی';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.faIR = faIR;\nvar fiFI = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Näytä reitti'\n },\n MuiTablePagination: {\n backIconButtonText: 'Edellinen sivu',\n labelRowsPerPage: 'Rivejä per sivu:',\n labelDisplayedRows: function labelDisplayedRows(_ref9) {\n var from = _ref9.from,\n to = _ref9.to,\n count = _ref9.count;\n return \"\".concat(from, \"-\").concat(to, \" / \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Seuraava sivu'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" T\\xE4ht\").concat(value !== 1 ? 'eä' : 'i');\n },\n emptyLabelText: 'Tyhjä'\n },\n MuiAutocomplete: {\n clearText: 'Tyhjennä',\n closeText: 'Sulje',\n loadingText: 'Ladataan…',\n noOptionsText: 'Ei valintoja',\n openText: 'Avaa'\n },\n MuiAlert: {\n closeText: 'Sulje'\n },\n MuiPagination: {\n 'aria-label': 'Sivutus navigaatio',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? 'sivu' : 'Mene sivulle', \" \").concat(page);\n }\n\n if (type === 'first') {\n return 'Mene ensimmäiselle sivulle';\n }\n\n if (type === 'last') {\n return 'Mene viimeiselle sivulle';\n }\n\n if (type === 'next') {\n return 'Mene seuraavalle sivulle';\n }\n\n if (type === 'previous') {\n return 'Mene edelliselle sivulle';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.fiFI = fiFI;\nvar frFR = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Montrer le chemin'\n },\n MuiTablePagination: {\n backIconButtonText: 'Page précédente',\n labelRowsPerPage: 'Lignes par page :',\n labelDisplayedRows: function labelDisplayedRows(_ref10) {\n var from = _ref10.from,\n to = _ref10.to,\n count = _ref10.count;\n return \"\".concat(from, \"-\").concat(to, \" sur \").concat(count !== -1 ? count : \"plus que \".concat(to));\n },\n nextIconButtonText: 'Page suivante'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Etoile\").concat(value !== 1 ? 's' : '');\n },\n emptyLabelText: 'Vide'\n },\n MuiAutocomplete: {\n clearText: 'Vider',\n closeText: 'Fermer',\n loadingText: 'Chargement…',\n noOptionsText: 'Pas de résultats',\n openText: 'Ouvrir'\n },\n MuiAlert: {\n closeText: 'Fermer'\n },\n MuiPagination: {\n 'aria-label': 'navigation de pagination',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Aller à la ', \"page \").concat(page);\n }\n\n if (type === 'first') {\n return 'Aller à la première page';\n }\n\n if (type === 'last') {\n return 'Aller à la dernière page';\n }\n\n if (type === 'next') {\n return 'Aller à la page suivante';\n }\n\n if (type === 'previous') {\n return 'Aller à la page précédente';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.frFR = frFR;\nvar heIL = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'העמוד הקודם',\n labelRowsPerPage: 'שורות בעמוד:',\n labelDisplayedRows: function labelDisplayedRows(_ref11) {\n var from = _ref11.from,\n to = _ref11.to,\n count = _ref11.count;\n return \"\".concat(from, \"-\").concat(to, \" \\u05DE\\u05EA\\u05D5\\u05DA \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'העמוד הבא'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \\u05DB\\u05D5\\u05DB\\u05D1\").concat(value !== 1 ? 'ים' : '');\n },\n emptyLabelText: 'ריק'\n },\n MuiAutocomplete: {\n clearText: 'נקה',\n closeText: 'סגור',\n loadingText: 'טוען…',\n noOptionsText: 'אין אופציות',\n openText: 'פתח'\n },\n MuiAlert: {\n closeText: 'סגור'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.heIL = heIL;\nvar hiIN = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'रास्ता दिखायें'\n },\n MuiTablePagination: {\n backIconButtonText: 'पिछला पृष्ठ',\n labelRowsPerPage: 'पंक्तियाँ प्रति पृष्ठ:',\n labelDisplayedRows: function labelDisplayedRows(_ref12) {\n var from = _ref12.from,\n to = _ref12.to,\n count = _ref12.count;\n return \"\".concat(from, \"-\").concat(to === -1 ? count : to, \" \\u0915\\u0941\\u0932 \").concat(count, \" \\u092E\\u0947\\u0902\");\n },\n nextIconButtonText: 'अगला पृष्ठ'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \\u0924\\u093E\\u0930\").concat(value !== 1 ? 'े' : 'ा');\n },\n emptyLabelText: 'रिक्त'\n },\n MuiAutocomplete: {\n clearText: 'हटायें',\n closeText: 'बंद करें',\n loadingText: 'लोड हो रहा है…',\n noOptionsText: 'कोई विकल्प नहीं',\n openText: 'खोलें'\n },\n MuiAlert: {\n closeText: 'बंद करें'\n },\n MuiPagination: {\n 'aria-label': 'पृस्ठानुसार संचालन',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\\u092A\\u0943\\u0937\\u094D\\u0920 \".concat(page, \" \").concat(selected ? '' : ' पर जाएँ');\n }\n\n if (type === 'first') {\n return 'पहले पृष्ठ पर जाएँ';\n }\n\n if (type === 'last') {\n return 'अंतिम पृष्ठ पर जाएँ';\n }\n\n if (type === 'next') {\n return 'अगले पृष्ठ पर जाएँ';\n }\n\n if (type === 'previous') {\n return 'पिछले पृष्ठ पर जाएँ';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.hiIN = hiIN;\nvar huHU = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Útvonal'\n },\n MuiTablePagination: {\n backIconButtonText: 'Előző oldal',\n labelRowsPerPage: 'Sorok száma:',\n labelDisplayedRows: function labelDisplayedRows(_ref13) {\n var from = _ref13.from,\n to = _ref13.to,\n count = _ref13.count;\n return \"\".concat(from, \"-\").concat(to, \" / \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Következő oldal'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Csillag\");\n },\n emptyLabelText: 'Üres'\n },\n MuiAutocomplete: {\n clearText: 'Törlés',\n closeText: 'Bezárás',\n loadingText: 'Töltés…',\n noOptionsText: 'Nincs találat',\n openText: 'Megnyitás'\n },\n MuiAlert: {\n closeText: 'Bezárás'\n },\n MuiPagination: {\n 'aria-label': 'Lapozás',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(page, \". oldal\").concat(selected ? '' : 'ra');\n }\n\n if (type === 'first') {\n return 'Első oldalra';\n }\n\n if (type === 'last') {\n return 'Utolsó oldalra';\n }\n\n if (type === 'next') {\n return 'Következő oldalra';\n }\n\n if (type === 'previous') {\n return 'Előző oldalra';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.huHU = huHU;\nvar hyAM = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Նախորդը',\n labelRowsPerPage: 'Տողեր մեկ էջում`',\n labelDisplayedRows: function labelDisplayedRows(_ref14) {\n var from = _ref14.from,\n to = _ref14.to,\n count = _ref14.count;\n return \"\".concat(from, \"-\").concat(to, \" / \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Հաջորդը'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \\u0531\\u057D\\u057F\\u0572\");\n },\n emptyLabelText: 'Դատարկ'\n },\n MuiAutocomplete: {\n clearText: 'Մաքրել',\n closeText: 'Փակել',\n loadingText: 'Բեռնում…',\n noOptionsText: 'Տարբերակներ չկան',\n openText: 'Բացել'\n },\n MuiAlert: {\n closeText: 'Փակել'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.hyAM = hyAM;\nvar idID = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Halaman sebelumnya',\n labelRowsPerPage: 'Baris per halaman:',\n labelDisplayedRows: function labelDisplayedRows(_ref15) {\n var from = _ref15.from,\n to = _ref15.to,\n count = _ref15.count;\n return \"\".concat(from, \"-\").concat(to, \" dari \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Halaman selanjutnya'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Bintang\");\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: 'Hapus',\n closeText: 'Tutup',\n loadingText: 'Memuat…',\n noOptionsText: 'Tidak ada opsi',\n openText: 'Buka'\n },\n MuiAlert: {\n closeText: 'Tutup'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.idID = idID;\nvar isIS = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Fyrri síða',\n labelRowsPerPage: 'Raðir á síðu:',\n labelDisplayedRows: function labelDisplayedRows(_ref16) {\n var from = _ref16.from,\n to = _ref16.to,\n count = _ref16.count;\n return \"\".concat(from, \"-\").concat(to, \" af \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Næsta síða'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \").concat(value === 1 ? 'Stjarna' : 'Stjörnur');\n },\n emptyLabelText: 'Tómt'\n },\n MuiAutocomplete: {\n clearText: 'Hreinsa',\n closeText: 'Loka',\n loadingText: 'Hlaða…',\n noOptionsText: 'Engar niðurstöður',\n openText: 'Opna'\n },\n MuiAlert: {\n closeText: 'Loka'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.isIS = isIS;\nvar itIT = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Visualizza percorso'\n },\n MuiTablePagination: {\n backIconButtonText: 'Pagina precedente',\n labelRowsPerPage: 'Righe per pagina:',\n labelDisplayedRows: function labelDisplayedRows(_ref17) {\n var from = _ref17.from,\n to = _ref17.to,\n count = _ref17.count;\n return \"\".concat(from, \"-\").concat(to, \" di \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Pagina successiva'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Stell\").concat(value !== 1 ? 'e' : 'a');\n },\n emptyLabelText: 'Vuoto'\n },\n MuiAutocomplete: {\n clearText: 'Svuota',\n closeText: 'Chiudi',\n loadingText: 'Caricamento in corso…',\n noOptionsText: 'Nessuna opzione',\n openText: 'Apri'\n },\n MuiAlert: {\n closeText: 'Chiudi'\n },\n MuiPagination: {\n 'aria-label': 'Navigazione impaginata',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Vai alla ', \"pagina \").concat(page);\n }\n\n if (type === 'first') {\n return 'Vai alla prima pagina';\n }\n\n if (type === 'last') {\n return \"Vai all'ultima pagina\";\n }\n\n if (type === 'next') {\n return 'Vai alla pagina successiva';\n }\n\n if (type === 'previous') {\n return 'Vai alla pagina precedente';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.itIT = itIT;\nvar jaJP = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: '前のページ',\n labelRowsPerPage: 'ページごとの行:',\n labelDisplayedRows: function labelDisplayedRows(_ref18) {\n var from = _ref18.from,\n to = _ref18.to,\n count = _ref18.count;\n return \"\".concat(from, \"-\").concat(to, \" of \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: '次のページ'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \").concat(value !== 1 ? '出演者' : '星');\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: 'クリア',\n closeText: '閉じる',\n loadingText: '積み込み…',\n noOptionsText: '結果がありません',\n openText: '開いた'\n },\n MuiAlert: {\n closeText: '閉じる'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.jaJP = jaJP;\nvar koKR = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: '이전 페이지',\n labelRowsPerPage: '페이지 당 행:',\n labelDisplayedRows: function labelDisplayedRows(_ref19) {\n var from = _ref19.from,\n to = _ref19.to,\n count = _ref19.count;\n return \"\".concat(from, \"-\").concat(to, \" / \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: '다음 페이지'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \\uC810\");\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: '지우기',\n closeText: '닫기',\n loadingText: '불러오는 중…',\n noOptionsText: '옵션 없음',\n openText: '열기'\n }\n }\n};\nexports.koKR = koKR;\nvar nlNL = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Vorige pagina',\n labelRowsPerPage: 'Regels per pagina :',\n labelDisplayedRows: function labelDisplayedRows(_ref20) {\n var from = _ref20.from,\n to = _ref20.to,\n count = _ref20.count;\n return \"\".concat(from, \"-\").concat(to, \" van \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Volgende pagina'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Ster\").concat(value !== 1 ? 'ren' : '');\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: 'Wissen',\n closeText: 'Sluiten',\n loadingText: 'Laden…',\n noOptionsText: 'Geen opties',\n openText: 'Openen'\n },\n MuiAlert: {\n closeText: 'Sluiten'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.nlNL = nlNL;\nvar plPL = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Pokaż ścieżkę'\n },\n MuiTablePagination: {\n backIconButtonText: 'Poprzednia strona',\n labelRowsPerPage: 'Wierszy na stronę:',\n labelDisplayedRows: function labelDisplayedRows(_ref21) {\n var from = _ref21.from,\n to = _ref21.to,\n count = _ref21.count;\n return \"\".concat(from, \"-\").concat(to, \" z \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Następna strona'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n var pluralForm = 'gwiazdek';\n var lastDigit = value % 10;\n\n if ((value < 10 || value > 20) && lastDigit > 1 && lastDigit < 5) {\n pluralForm = 'gwiazdki';\n } else if (value === 1) {\n pluralForm = 'gwiazdka';\n }\n\n return \"\".concat(value, \" \").concat(pluralForm);\n },\n emptyLabelText: 'Brak gwiazdek'\n },\n MuiAutocomplete: {\n clearText: 'Wyczyść',\n closeText: 'Zamknij',\n loadingText: 'Ładowanie…',\n noOptionsText: 'Brak opcji',\n openText: 'Otwórz'\n },\n MuiAlert: {\n closeText: 'Zamknij'\n },\n MuiPagination: {\n 'aria-label': 'Nawigacja podziału na strony',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return selected ? \"\".concat(page, \". strona\") : \"Przejd\\u017A do \".concat(page, \". strony\");\n }\n\n if (type === 'first') {\n return 'Przejdź do pierwszej strony';\n }\n\n if (type === 'last') {\n return 'Przejdź do ostatniej strony';\n }\n\n if (type === 'next') {\n return 'Przejdź do następnej strony';\n }\n\n if (type === 'previous') {\n return 'Przejdź do poprzedniej strony';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.plPL = plPL;\nvar ptBR = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Mostrar caminho'\n },\n MuiTablePagination: {\n backIconButtonText: 'Página anterior',\n labelRowsPerPage: 'Linhas por página:',\n labelDisplayedRows: function labelDisplayedRows(_ref22) {\n var from = _ref22.from,\n to = _ref22.to,\n count = _ref22.count;\n return \"\".concat(from, \"-\").concat(to, \" de \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Próxima página'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Estrela\").concat(value !== 1 ? 's' : '');\n },\n emptyLabelText: 'Vazio'\n },\n MuiAutocomplete: {\n clearText: 'Limpar',\n closeText: 'Fechar',\n loadingText: 'Carregando…',\n noOptionsText: 'Sem opções',\n openText: 'Abrir'\n },\n MuiAlert: {\n closeText: 'Fechar'\n },\n MuiPagination: {\n 'aria-label': 'Navegar pela paginação',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Ir para a ', \"p\\xE1gina \").concat(page);\n }\n\n if (type === 'first') {\n return 'Ir para a primeira página';\n }\n\n if (type === 'last') {\n return 'Ir para a última página';\n }\n\n if (type === 'next') {\n return 'Ir para a próxima página';\n }\n\n if (type === 'previous') {\n return 'Ir para a página anterior';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.ptBR = ptBR;\nvar ptPT = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Mostrar caminho'\n },\n MuiTablePagination: {\n backIconButtonText: 'Página anterior',\n labelRowsPerPage: 'Linhas por página:',\n labelDisplayedRows: function labelDisplayedRows(_ref23) {\n var from = _ref23.from,\n to = _ref23.to,\n count = _ref23.count;\n return \"\".concat(from, \"-\").concat(to, \" de \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Próxima página'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Estrela\").concat(value !== 1 ? 's' : '');\n },\n emptyLabelText: 'Vazio'\n },\n MuiAutocomplete: {\n clearText: 'Limpar',\n closeText: 'Fechar',\n loadingText: 'A carregar…',\n noOptionsText: 'Sem opções',\n openText: 'Abrir'\n },\n MuiAlert: {\n closeText: 'Fechar'\n },\n MuiPagination: {\n 'aria-label': 'Navegar por páginas',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Ir para a ', \"p\\xE1gina \").concat(page);\n }\n\n if (type === 'first') {\n return 'Primeira página';\n }\n\n if (type === 'last') {\n return 'Última página';\n }\n\n if (type === 'next') {\n return 'Próxima página';\n }\n\n if (type === 'previous') {\n return 'Página anterior';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.ptPT = ptPT;\nvar roRO = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Arată calea'\n },\n MuiTablePagination: {\n backIconButtonText: 'Pagina precedentă',\n labelRowsPerPage: 'Rânduri pe pagină:',\n labelDisplayedRows: function labelDisplayedRows(_ref24) {\n var from = _ref24.from,\n to = _ref24.to,\n count = _ref24.count;\n return \"\".concat(from, \"-\").concat(to, \" din \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Pagina următoare'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" St\").concat(value !== 1 ? 'ele' : 'ea');\n },\n emptyLabelText: 'Gol'\n },\n MuiAutocomplete: {\n clearText: 'Șterge',\n closeText: 'Închide',\n loadingText: 'Se încarcă…',\n noOptionsText: 'Nicio opțiune',\n openText: 'Deschide'\n },\n MuiAlert: {\n closeText: 'Închide'\n },\n MuiPagination: {\n 'aria-label': 'Navigare prin paginare',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Mergi la ', \"pagina \").concat(page);\n }\n\n if (type === 'first') {\n return 'Mergi la prima pagină';\n }\n\n if (type === 'last') {\n return 'Mergi la ultima pagină';\n }\n\n if (type === 'next') {\n return 'Mergi la pagina următoare';\n }\n\n if (type === 'previous') {\n return 'Mergi la pagina precedentă';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.roRO = roRO;\nvar ruRU = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Предыдущая страница',\n labelRowsPerPage: 'Строк на странице:',\n labelDisplayedRows: function labelDisplayedRows(_ref25) {\n var from = _ref25.from,\n to = _ref25.to,\n count = _ref25.count;\n return \"\".concat(from, \"-\").concat(to, \" \\u0438\\u0437 \").concat(count !== -1 ? count : \"\\u0431\\u043E\\u043B\\u0435\\u0435 \\u0447\\u0435\\u043C \".concat(to));\n },\n nextIconButtonText: 'Следующая страница'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n var pluralForm = 'Звёзд';\n var lastDigit = value % 10;\n\n if (lastDigit > 1 && lastDigit < 5) {\n pluralForm = 'Звезды';\n } else if (lastDigit === 1) {\n pluralForm = 'Звезда';\n }\n\n return \"\".concat(value, \" \").concat(pluralForm);\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: 'Очистить',\n closeText: 'Закрыть',\n loadingText: 'Загрузка…',\n noOptionsText: 'Нет доступных вариантов',\n openText: 'Открыть'\n },\n MuiAlert: {\n closeText: 'Закрыть'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.ruRU = ruRU;\nvar skSK = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Predchádzajúca stránka',\n labelRowsPerPage: 'Riadkov na stránke:',\n labelDisplayedRows: function labelDisplayedRows(_ref26) {\n var from = _ref26.from,\n to = _ref26.to,\n count = _ref26.count;\n return \"\".concat(from, \"-\").concat(to, \" z \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Ďalšia stránka'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n if (value === 1) {\n return \"\".concat(value, \" hviezdi\\u010Dka\");\n }\n\n if (value >= 2 && value <= 4) {\n return \"\".concat(value, \" hviezdi\\u010Dky\");\n }\n\n return \"\".concat(value, \" hviezdi\\u010Diek\");\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: 'Vymazať',\n closeText: 'Zavrieť',\n loadingText: 'Načítanie…',\n noOptionsText: 'Žiadne možnosti',\n openText: 'Otvoriť'\n },\n MuiAlert: {\n closeText: 'Zavrieť'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.skSK = skSK;\nvar svSE = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Föregående sida',\n labelRowsPerPage: 'Rader per sida:',\n labelDisplayedRows: function labelDisplayedRows(_ref27) {\n var from = _ref27.from,\n to = _ref27.to,\n count = _ref27.count;\n return \"\".concat(from, \"-\").concat(to, \" av \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Nästa sida'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \").concat(value !== 1 ? 'Stjärnor' : 'Stjärna');\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: 'Rensa',\n closeText: 'Stäng',\n loadingText: 'Laddar…',\n noOptionsText: 'Inga alternativ',\n openText: 'Öppen'\n },\n MuiAlert: {\n closeText: 'Stäng'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.svSE = svSE;\nvar trTR = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Yolu göster'\n },\n MuiTablePagination: {\n backIconButtonText: 'Önceki sayfa',\n labelRowsPerPage: 'Sayfa başına satır:',\n labelDisplayedRows: function labelDisplayedRows(_ref28) {\n var from = _ref28.from,\n to = _ref28.to,\n count = _ref28.count;\n return \"\".concat(from, \"-\").concat(to, \" tanesinden \").concat(count !== -1 ? count : \"more than \".concat(to));\n },\n nextIconButtonText: 'Sonraki sayfa'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" Y\\u0131ld\\u0131z\");\n },\n emptyLabelText: 'Boş'\n },\n MuiAutocomplete: {\n clearText: 'Temizle',\n closeText: 'Kapat',\n loadingText: 'Yükleniyor…',\n noOptionsText: 'Seçenek yok',\n openText: 'Aç'\n },\n MuiAlert: {\n closeText: 'Kapat'\n },\n MuiPagination: {\n 'aria-label': 'Sayfa navigasyonu',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(page, \". \").concat(selected ? 'sayfa' : 'sayfaya git');\n }\n\n if (type === 'first') {\n return 'İlk sayfaya git';\n }\n\n if (type === 'last') {\n return 'Son sayfaya git';\n }\n\n if (type === 'next') {\n return 'Sonraki sayfaya git';\n }\n\n if (type === 'previous') {\n return 'Önceki sayfaya git';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.trTR = trTR;\nvar ukUA = {\n props: {\n MuiBreadcrumbs: {\n expandText: 'Показати шлях сторінок'\n },\n MuiTablePagination: {\n backIconButtonText: 'Попередня сторінка',\n labelRowsPerPage: 'Рядків на сторінці:',\n labelDisplayedRows: function labelDisplayedRows(_ref29) {\n var from = _ref29.from,\n to = _ref29.to,\n count = _ref29.count;\n return \"\".concat(from, \"-\").concat(to, \" \\u0437 \").concat(count !== -1 ? count : \"\\u043F\\u043E\\u043D\\u0430\\u0434 \".concat(to));\n },\n nextIconButtonText: 'Наступна сторінка'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n var pluralForm = 'Зірок';\n var lastDigit = value % 10;\n\n if (lastDigit > 1 && lastDigit < 5) {\n pluralForm = 'Зірки';\n } else if (lastDigit === 1) {\n pluralForm = 'Зірка';\n }\n\n return \"\".concat(value, \" \").concat(pluralForm);\n },\n emptyLabelText: 'Рейтинг відсутній'\n },\n MuiAutocomplete: {\n clearText: 'Очистити',\n closeText: 'Згорнути',\n loadingText: 'Завантаження…',\n noOptionsText: 'Немає варіантів',\n openText: 'Розгорнути'\n },\n MuiAlert: {\n closeText: 'Згорнути'\n },\n MuiPagination: {\n 'aria-label': 'Навігація сторінками',\n getItemAriaLabel: function getItemAriaLabel(type, page, selected) {\n if (type === 'page') {\n return \"\".concat(selected ? '' : 'Перейти на ', \"\\u0441\\u0442\\u043E\\u0440\\u0456\\u043D\\u043A\\u0443 \").concat(page);\n }\n\n if (type === 'first') {\n return 'Перейти на першу сторінку';\n }\n\n if (type === 'last') {\n return 'Перейти на останню сторінку';\n }\n\n if (type === 'next') {\n return 'Перейти на наступну сторінку';\n }\n\n if (type === 'previous') {\n return 'Перейти на попередню сторінку';\n }\n\n return undefined;\n }\n }\n }\n};\nexports.ukUA = ukUA;\nvar viVN = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: 'Trang trước',\n labelRowsPerPage: 'Số hàng mỗi trang:',\n labelDisplayedRows: function labelDisplayedRows(_ref30) {\n var from = _ref30.from,\n to = _ref30.to,\n count = _ref30.count;\n return \"\".concat(from, \"-\").concat(to, \" trong \").concat(count !== -1 ? count : \"nhi\\u1EC1u h\\u01A1n \".concat(to));\n },\n nextIconButtonText: 'Trang sau'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" sao\");\n },\n emptyLabelText: 'Trống'\n },\n MuiAutocomplete: {\n clearText: 'Xóa',\n closeText: 'Đóng',\n loadingText: 'Đang tải…',\n noOptionsText: 'Không có lựa chọn',\n openText: 'Mở'\n },\n MuiAlert: {\n closeText: 'Đóng'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.viVN = viVN;\nvar zhCN = {\n props: {\n // MuiBreadcrumbs: {\n // expandText: 'Show path',\n // },\n MuiTablePagination: {\n backIconButtonText: '上一页',\n labelRowsPerPage: '每页行数:',\n labelDisplayedRows: function labelDisplayedRows(_ref31) {\n var from = _ref31.from,\n to = _ref31.to,\n count = _ref31.count;\n return \"\".concat(from, \"-\").concat(to, \" \\u7684 \").concat(count !== -1 ? count : \"\\u8D85\\u8FC7 \".concat(to));\n },\n nextIconButtonText: '下一页'\n },\n MuiRating: {\n getLabelText: function getLabelText(value) {\n return \"\".concat(value, \" \\u661F\").concat(value !== 1 ? '星' : '');\n } // emptyLabelText: 'Empty',\n\n },\n MuiAutocomplete: {\n clearText: '明确',\n closeText: '关',\n loadingText: '载入中…',\n noOptionsText: '没有选择',\n openText: '打开'\n },\n MuiAlert: {\n closeText: '关'\n } // MuiPagination: {\n // 'aria-label': 'Pagination navigation',\n // getItemAriaLabel: (type, page, selected) => {\n // if (type === 'page') {\n // return `${selected ? '' : 'Go to '}page ${page}`;\n // }\n // if (type === 'first') {\n // return 'Go to first page';\n // }\n // if (type === 'last') {\n // return 'Go to last page';\n // }\n // if (type === 'next') {\n // return 'Go to next page';\n // }\n // if (type === 'previous') {\n // return 'Go to previous page';\n // }\n // return undefined;\n // },\n // },\n\n }\n};\nexports.zhCN = zhCN;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(\"Material-UI: The value provided \".concat(value, \" is out of range [\").concat(min, \", \").concat(max, \"].\"));\n }\n }\n\n return Math.min(Math.max(min, value), max);\n}\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n *\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\n\n\nfunction hexToRgb(color) {\n color = color.substr(1);\n var re = new RegExp(\".{1,\".concat(color.length >= 6 ? 2 : 1, \"}\"), 'g');\n var colors = color.match(re);\n\n if (colors && colors[0].length === 1) {\n colors = colors.map(function (n) {\n return n + n;\n });\n }\n\n return colors ? \"rgb\".concat(colors.length === 4 ? 'a' : '', \"(\").concat(colors.map(function (n, index) {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', '), \")\") : '';\n}\n\nfunction intToHex(int) {\n var hex = int.toString(16);\n return hex.length === 1 ? \"0\".concat(hex) : hex;\n}\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n *\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\n\n\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n\n var _decomposeColor = decomposeColor(color),\n values = _decomposeColor.values;\n\n return \"#\".concat(values.map(function (n) {\n return intToHex(n);\n }).join(''));\n}\n/**\n * Converts a color from hsl format to rgb format.\n *\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\n\n\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n var _color = color,\n values = _color.values;\n var h = values[0];\n var s = values[1] / 100;\n var l = values[2] / 100;\n var a = s * Math.min(l, 1 - l);\n\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n var type = 'rgb';\n var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n\n return recomposeColor({\n type: type,\n values: rgb\n });\n}\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\n\n\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n\n var marker = color.indexOf('(');\n var type = color.substring(0, marker);\n\n if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Unsupported `\".concat(color, \"` color.\\nWe support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().\") : (0, _utils.formatMuiErrorMessage)(3, color));\n }\n\n var values = color.substring(marker + 1, color.length - 1).split(',');\n values = values.map(function (value) {\n return parseFloat(value);\n });\n return {\n type: type,\n values: values\n };\n}\n/**\n * Converts a color object with type and values to a string.\n *\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\n\n\nfunction recomposeColor(color) {\n var type = color.type;\n var values = color.values;\n\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map(function (n, i) {\n return i < 3 ? parseInt(n, 10) : n;\n });\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = \"\".concat(values[1], \"%\");\n values[2] = \"\".concat(values[2], \"%\");\n }\n\n return \"\".concat(type, \"(\").concat(values.join(', '), \")\");\n}\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\n\n\nfunction getContrastRatio(foreground, background) {\n var lumA = getLuminance(foreground);\n var lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\n\n\nfunction getLuminance(color) {\n color = decomposeColor(color);\n var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(function (val) {\n val /= 255; // normalized\n\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }); // Truncate at 3 digits\n\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\n\nfunction emphasize(color) {\n var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15;\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\n\nvar warnedOnce = false;\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0 -1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n *\n * @deprecated\n * Use `import { alpha } from '@material-ui/core/styles'` instead.\n */\n\nfunction fade(color, value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: The `fade` color utility was renamed to `alpha` to better describe its functionality.', '', \"You should use `import { alpha } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return alpha(color, value);\n}\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha value is overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0-1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\n\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n\n color.values[3] = value;\n return recomposeColor(color);\n}\n/**\n * Darkens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\n\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n\n return recomposeColor(color);\n}\n/**\n * Lightens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\n\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n }\n\n return recomposeColor(color);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createBreakpoints;\nexports.keys = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nvar keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.\n\nexports.keys = keys;\n\nfunction createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n } : _breakpoints$values,\n _breakpoints$unit = breakpoints.unit,\n unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,\n _breakpoints$step = breakpoints.step,\n step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,\n other = (0, _objectWithoutProperties2.default)(breakpoints, [\"values\", \"unit\", \"step\"]);\n\n function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n }\n\n function down(key) {\n var endIndex = keys.indexOf(key) + 1;\n var upperbound = values[keys[endIndex]];\n\n if (endIndex === keys.length) {\n // xl down applies to all sizes\n return up('xs');\n }\n\n var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;\n return \"@media (max-width:\".concat(value - step / 100).concat(unit, \")\");\n }\n\n function between(start, end) {\n var endIndex = keys.indexOf(end);\n\n if (endIndex === keys.length - 1) {\n return up(start);\n }\n\n return \"@media (min-width:\".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, \") and \") + \"(max-width:\".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, \")\");\n }\n\n function only(key) {\n return between(key, key);\n }\n\n var warnedOnce = false;\n\n function width(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.warn([\"Material-UI: The `theme.breakpoints.width` utility is deprecated because it's redundant.\", 'Use the `theme.breakpoints.values` instead.'].join('\\n'));\n }\n }\n\n return values[key];\n }\n\n return (0, _extends2.default)({\n keys: keys,\n values: values,\n up: up,\n down: down,\n between: between,\n only: only,\n width: width\n }, other);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createMixins;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _extends3 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nfunction createMixins(breakpoints, spacing, mixins) {\n var _toolbar;\n\n return (0, _extends3.default)({\n gutters: function gutters() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n console.warn(['Material-UI: theme.mixins.gutters() is deprecated.', 'You can use the source of the mixin directly:', \"\\n paddingLeft: theme.spacing(2),\\n paddingRight: theme.spacing(2),\\n [theme.breakpoints.up('sm')]: {\\n paddingLeft: theme.spacing(3),\\n paddingRight: theme.spacing(3),\\n },\\n \"].join('\\n'));\n return (0, _extends3.default)({\n paddingLeft: spacing(2),\n paddingRight: spacing(2)\n }, styles, (0, _defineProperty2.default)({}, breakpoints.up('sm'), (0, _extends3.default)({\n paddingLeft: spacing(3),\n paddingRight: spacing(3)\n }, styles[breakpoints.up('sm')])));\n },\n toolbar: (_toolbar = {\n minHeight: 56\n }, (0, _defineProperty2.default)(_toolbar, \"\".concat(breakpoints.up('xs'), \" and (orientation: landscape)\"), {\n minHeight: 48\n }), (0, _defineProperty2.default)(_toolbar, breakpoints.up('sm'), {\n minHeight: 64\n }), _toolbar)\n }, mixins);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPalette;\nexports.dark = exports.light = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _common = _interopRequireDefault(require(\"../colors/common\"));\n\nvar _grey = _interopRequireDefault(require(\"../colors/grey\"));\n\nvar _indigo = _interopRequireDefault(require(\"../colors/indigo\"));\n\nvar _pink = _interopRequireDefault(require(\"../colors/pink\"));\n\nvar _red = _interopRequireDefault(require(\"../colors/red\"));\n\nvar _orange = _interopRequireDefault(require(\"../colors/orange\"));\n\nvar _blue = _interopRequireDefault(require(\"../colors/blue\"));\n\nvar _green = _interopRequireDefault(require(\"../colors/green\"));\n\nvar _colorManipulator = require(\"./colorManipulator\");\n\nvar light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.54)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)',\n // Text hints.\n hint: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: _common.default.white,\n default: _grey.default[50]\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexports.light = light;\nvar dark = {\n text: {\n primary: _common.default.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n hint: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: _grey.default[800],\n default: '#303030'\n },\n action: {\n active: _common.default.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nexports.dark = dark;\n\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n var tonalOffsetLight = tonalOffset.light || tonalOffset;\n var tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = (0, _colorManipulator.lighten)(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = (0, _colorManipulator.darken)(intent.main, tonalOffsetDark);\n }\n }\n}\n\nfunction createPalette(palette) {\n var _palette$primary = palette.primary,\n primary = _palette$primary === void 0 ? {\n light: _indigo.default[300],\n main: _indigo.default[500],\n dark: _indigo.default[700]\n } : _palette$primary,\n _palette$secondary = palette.secondary,\n secondary = _palette$secondary === void 0 ? {\n light: _pink.default.A200,\n main: _pink.default.A400,\n dark: _pink.default.A700\n } : _palette$secondary,\n _palette$error = palette.error,\n error = _palette$error === void 0 ? {\n light: _red.default[300],\n main: _red.default[500],\n dark: _red.default[700]\n } : _palette$error,\n _palette$warning = palette.warning,\n warning = _palette$warning === void 0 ? {\n light: _orange.default[300],\n main: _orange.default[500],\n dark: _orange.default[700]\n } : _palette$warning,\n _palette$info = palette.info,\n info = _palette$info === void 0 ? {\n light: _blue.default[300],\n main: _blue.default[500],\n dark: _blue.default[700]\n } : _palette$info,\n _palette$success = palette.success,\n success = _palette$success === void 0 ? {\n light: _green.default[300],\n main: _green.default[500],\n dark: _green.default[700]\n } : _palette$success,\n _palette$type = palette.type,\n type = _palette$type === void 0 ? 'light' : _palette$type,\n _palette$contrastThre = palette.contrastThreshold,\n contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,\n _palette$tonalOffset = palette.tonalOffset,\n tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,\n other = (0, _objectWithoutProperties2.default)(palette, [\"primary\", \"secondary\", \"error\", \"warning\", \"info\", \"success\", \"type\", \"contrastThreshold\", \"tonalOffset\"]); // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n\n function getContrastText(background) {\n var contrastText = (0, _colorManipulator.getContrastRatio)(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n\n if (process.env.NODE_ENV !== 'production') {\n var contrast = (0, _colorManipulator.getContrastRatio)(background, contrastText);\n\n if (contrast < 3) {\n console.error([\"Material-UI: The contrast ratio of \".concat(contrast, \":1 for \").concat(contrastText, \" on \").concat(background), 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n\n return contrastText;\n }\n\n var augmentColor = function augmentColor(color) {\n var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700;\n color = (0, _extends2.default)({}, color);\n\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n\n if (!color.main) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\nThe color object needs to have a `main` property or a `\".concat(mainShade, \"` property.\") : (0, _utils.formatMuiErrorMessage)(4, mainShade));\n }\n\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The color provided to augmentColor(color) is invalid.\\n`color.main` should be a string, but `\".concat(JSON.stringify(color.main), \"` was provided instead.\\n\\nDid you intend to use one of the following approaches?\\n\\nimport {\\xA0green } from \\\"@material-ui/core/colors\\\";\\n\\nconst theme1 = createTheme({ palette: {\\n primary: green,\\n} });\\n\\nconst theme2 = createTheme({ palette: {\\n primary: { main: green[500] },\\n} });\") : _formatMuiErrorMessage(5, JSON.stringify(color.main)));\n }\n\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n\n return color;\n };\n\n var types = {\n dark: dark,\n light: light\n };\n\n if (process.env.NODE_ENV !== 'production') {\n if (!types[type]) {\n console.error(\"Material-UI: The palette type `\".concat(type, \"` is not supported.\"));\n }\n }\n\n var paletteOutput = (0, _utils.deepmerge)((0, _extends2.default)({\n // A collection of common colors.\n common: _common.default,\n // The palette type, can be light or dark.\n type: type,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor(primary),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor(secondary, 'A400', 'A200', 'A700'),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor(error),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor(warning),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor(info),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor(success),\n // The grey colors.\n grey: _grey.default,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold: contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText: getContrastText,\n // Generate a rich color object.\n augmentColor: augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: tonalOffset\n }, types[type]), other);\n return paletteOutput;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createSpacing;\n\nvar _system = require(\"@material-ui/system\");\n\nvar warnOnce;\n\nfunction createSpacing() {\n var spacingInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8;\n\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n } // Material Design layouts are visually balanced. Most measurements align to an 8dp grid applied, which aligns both spacing and the overall layout.\n // Smaller components, such as icons and type, can align to a 4dp grid.\n // https://material.io/design/layout/understanding-layout.html#usage\n\n\n var transform = (0, _system.createUnarySpacing)({\n spacing: spacingInput\n });\n\n var spacing = function spacing() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(args.length <= 4)) {\n console.error(\"Material-UI: Too many arguments provided, expected between 0 and 4, got \".concat(args.length));\n }\n }\n\n if (args.length === 0) {\n return transform(1);\n }\n\n if (args.length === 1) {\n return transform(args[0]);\n }\n\n return args.map(function (argument) {\n if (typeof argument === 'string') {\n return argument;\n }\n\n var output = transform(argument);\n return typeof output === 'number' ? \"\".concat(output, \"px\") : output;\n }).join(' ');\n }; // Backward compatibility, to remove in v5.\n\n\n Object.defineProperty(spacing, 'unit', {\n get: function get() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnOnce || process.env.NODE_ENV === 'test') {\n console.error(['Material-UI: theme.spacing.unit usage has been deprecated.', 'It will be removed in v5.', 'You can replace `theme.spacing.unit * y` with `theme.spacing(y)`.', '', 'You can use the `https://github.com/mui-org/material-ui/tree/master/packages/material-ui-codemod/README.md#theme-spacing-api` migration helper to make the process smoother.'].join('\\n'));\n }\n\n warnOnce = true;\n }\n\n return spacingInput;\n }\n });\n spacing.mui = true;\n return spacing;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMuiTheme = createMuiTheme;\nexports.default = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _createBreakpoints = _interopRequireDefault(require(\"./createBreakpoints\"));\n\nvar _createMixins = _interopRequireDefault(require(\"./createMixins\"));\n\nvar _createPalette = _interopRequireDefault(require(\"./createPalette\"));\n\nvar _createTypography = _interopRequireDefault(require(\"./createTypography\"));\n\nvar _shadows = _interopRequireDefault(require(\"./shadows\"));\n\nvar _shape = _interopRequireDefault(require(\"./shape\"));\n\nvar _createSpacing = _interopRequireDefault(require(\"./createSpacing\"));\n\nvar _transitions = _interopRequireDefault(require(\"./transitions\"));\n\nvar _zIndex = _interopRequireDefault(require(\"./zIndex\"));\n\nfunction createTheme() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _options$breakpoints = options.breakpoints,\n breakpointsInput = _options$breakpoints === void 0 ? {} : _options$breakpoints,\n _options$mixins = options.mixins,\n mixinsInput = _options$mixins === void 0 ? {} : _options$mixins,\n _options$palette = options.palette,\n paletteInput = _options$palette === void 0 ? {} : _options$palette,\n spacingInput = options.spacing,\n _options$typography = options.typography,\n typographyInput = _options$typography === void 0 ? {} : _options$typography,\n other = (0, _objectWithoutProperties2.default)(options, [\"breakpoints\", \"mixins\", \"palette\", \"spacing\", \"typography\"]);\n var palette = (0, _createPalette.default)(paletteInput);\n var breakpoints = (0, _createBreakpoints.default)(breakpointsInput);\n var spacing = (0, _createSpacing.default)(spacingInput);\n var muiTheme = (0, _utils.deepmerge)({\n breakpoints: breakpoints,\n direction: 'ltr',\n mixins: (0, _createMixins.default)(breakpoints, spacing, mixinsInput),\n overrides: {},\n // Inject custom styles\n palette: palette,\n props: {},\n // Provide default props\n shadows: _shadows.default,\n typography: (0, _createTypography.default)(palette, typographyInput),\n spacing: spacing,\n shape: _shape.default,\n transitions: _transitions.default,\n zIndex: _zIndex.default\n }, other);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n muiTheme = args.reduce(function (acc, argument) {\n return (0, _utils.deepmerge)(acc, argument);\n }, muiTheme);\n\n if (process.env.NODE_ENV !== 'production') {\n var pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected'];\n\n var traverse = function traverse(node, parentKey) {\n var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var key; // eslint-disable-next-line guard-for-in, no-restricted-syntax\n\n for (key in node) {\n var child = node[key];\n\n if (depth === 1) {\n if (key.indexOf('Mui') === 0 && child) {\n traverse(child, key, depth + 1);\n }\n } else if (pseudoClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `\".concat(parentKey, \"` component increases \") + \"the CSS specificity of the `\".concat(key, \"` internal state.\"), 'You can not override it like this: ', JSON.stringify(node, null, 2), '', 'Instead, you need to use the $ruleName syntax:', JSON.stringify({\n root: (0, _defineProperty2.default)({}, \"&$\".concat(key), child)\n }, null, 2), '', 'https://mui.com/r/pseudo-classes-guide'].join('\\n'));\n } // Remove the style to prevent global conflicts.\n\n\n node[key] = {};\n }\n }\n };\n\n traverse(muiTheme.overrides);\n }\n\n return muiTheme;\n}\n\nvar warnedOnce = false;\n\nfunction createMuiTheme() {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['Material-UI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@material-ui/core/styles'`\"].join('\\n'));\n }\n }\n\n return createTheme.apply(void 0, arguments);\n}\n\nvar _default = createTheme;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createTypography;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nvar warnedOnce = false;\n\nfunction roundWithDeprecationWarning(value) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n console.warn(['Material-UI: The `theme.typography.round` helper is deprecated.', 'Head to https://mui.com/r/migration-v4/#theme for a migration path.'].join('\\n'));\n warnedOnce = true;\n }\n }\n\n return round(value);\n}\n\nvar caseAllCaps = {\n textTransform: 'uppercase'\n};\nvar defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n/**\n * @see @link{https://material.io/design/typography/the-type-system.html}\n * @see @link{https://material.io/design/typography/understanding-typography.html}\n */\n\nfunction createTypography(palette, typography) {\n var _ref = typeof typography === 'function' ? typography(palette) : typography,\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,\n _ref$fontWeightLight = _ref.fontWeightLight,\n fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,\n _ref$fontWeightRegula = _ref.fontWeightRegular,\n fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,\n _ref$fontWeightMedium = _ref.fontWeightMedium,\n fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,\n _ref$fontWeightBold = _ref.fontWeightBold,\n fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold,\n _ref$htmlFontSize = _ref.htmlFontSize,\n htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,\n allVariants = _ref.allVariants,\n pxToRem2 = _ref.pxToRem,\n other = (0, _objectWithoutProperties2.default)(_ref, [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('Material-UI: `fontSize` is required to be a number.');\n }\n\n if (typeof htmlFontSize !== 'number') {\n console.error('Material-UI: `htmlFontSize` is required to be a number.');\n }\n }\n\n var coef = fontSize / 14;\n\n var pxToRem = pxToRem2 || function (size) {\n return \"\".concat(size / htmlFontSize * coef, \"rem\");\n };\n\n var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) {\n return (0, _extends2.default)({\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight: lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: \"\".concat(round(letterSpacing / size), \"em\")\n } : {}, casing, allVariants);\n };\n\n var variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)\n };\n return (0, _utils.deepmerge)((0, _extends2.default)({\n htmlFontSize: htmlFontSize,\n pxToRem: pxToRem,\n round: roundWithDeprecationWarning,\n // TODO v5: remove\n fontFamily: fontFamily,\n fontSize: fontSize,\n fontWeightLight: fontWeightLight,\n fontWeightRegular: fontWeightRegular,\n fontWeightMedium: fontWeightMedium,\n fontWeightBold: fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n\n });\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createTheme = _interopRequireDefault(require(\"./createTheme\"));\n\nvar defaultTheme = (0, _createTheme.default)();\nvar _default = defaultTheme;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _styles = require(\"@material-ui/styles\");\n\nvar _defaultTheme = _interopRequireDefault(require(\"./defaultTheme\"));\n\nfunction makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (0, _styles.makeStyles)(stylesOrCreator, (0, _extends2.default)({\n defaultTheme: _defaultTheme.default\n }, options));\n}\n\nvar _default = makeStyles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar shadowKeyUmbraOpacity = 0.2;\nvar shadowKeyPenumbraOpacity = 0.14;\nvar shadowAmbientShadowOpacity = 0.12;\n\nfunction createShadow() {\n return [\"\".concat(arguments.length <= 0 ? undefined : arguments[0], \"px \").concat(arguments.length <= 1 ? undefined : arguments[1], \"px \").concat(arguments.length <= 2 ? undefined : arguments[2], \"px \").concat(arguments.length <= 3 ? undefined : arguments[3], \"px rgba(0,0,0,\").concat(shadowKeyUmbraOpacity, \")\"), \"\".concat(arguments.length <= 4 ? undefined : arguments[4], \"px \").concat(arguments.length <= 5 ? undefined : arguments[5], \"px \").concat(arguments.length <= 6 ? undefined : arguments[6], \"px \").concat(arguments.length <= 7 ? undefined : arguments[7], \"px rgba(0,0,0,\").concat(shadowKeyPenumbraOpacity, \")\"), \"\".concat(arguments.length <= 8 ? undefined : arguments[8], \"px \").concat(arguments.length <= 9 ? undefined : arguments[9], \"px \").concat(arguments.length <= 10 ? undefined : arguments[10], \"px \").concat(arguments.length <= 11 ? undefined : arguments[11], \"px rgba(0,0,0,\").concat(shadowAmbientShadowOpacity, \")\")].join(',');\n} // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\n\n\nvar shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nvar _default = shadows;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar shape = {\n borderRadius: 4\n};\nvar _default = shape;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.duration = exports.easing = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nvar easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n}; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\n\nexports.easing = easing;\nvar duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nexports.duration = duration;\n\nfunction formatMs(milliseconds) {\n return \"\".concat(Math.round(milliseconds), \"ms\");\n}\n/**\n * @param {string|Array} props\n * @param {object} param\n * @param {string} param.prop\n * @param {number} param.duration\n * @param {string} param.easing\n * @param {number} param.delay\n */\n\n\nvar _default = {\n easing: easing,\n duration: duration,\n create: function create() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all'];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$duration = options.duration,\n durationOption = _options$duration === void 0 ? duration.standard : _options$duration,\n _options$easing = options.easing,\n easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing,\n _options$delay = options.delay,\n delay = _options$delay === void 0 ? 0 : _options$delay,\n other = (0, _objectWithoutProperties2.default)(options, [\"duration\", \"easing\", \"delay\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n var isString = function isString(value) {\n return typeof value === 'string';\n };\n\n var isNumber = function isNumber(value) {\n return !isNaN(parseFloat(value));\n };\n\n if (!isString(props) && !Array.isArray(props)) {\n console.error('Material-UI: Argument \"props\" must be a string or Array.');\n }\n\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(\"Material-UI: Argument \\\"duration\\\" must be a number or a string but found \".concat(durationOption, \".\"));\n }\n\n if (!isString(easingOption)) {\n console.error('Material-UI: Argument \"easing\" must be a string.');\n }\n\n if (!isNumber(delay) && !isString(delay)) {\n console.error('Material-UI: Argument \"delay\" must be a number or a string.');\n }\n\n if (Object.keys(other).length !== 0) {\n console.error(\"Material-UI: Unrecognized argument(s) [\".concat(Object.keys(other).join(','), \"].\"));\n }\n }\n\n return (Array.isArray(props) ? props : [props]).map(function (animatedProp) {\n return \"\".concat(animatedProp, \" \").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), \" \").concat(easingOption, \" \").concat(typeof delay === 'string' ? delay : formatMs(delay));\n }).join(',');\n },\n getAutoHeightDuration: function getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n\n var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n\n return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10);\n }\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nvar zIndex = {\n mobileStepper: 1000,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nvar _default = zIndex;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 10h3v7H4zM10.5 10h3v7h-3zM2 19h20v3H2zM17 10h3v7h-3zM12 1L2 6v2h20V6z\"\n}), 'AccountBalance');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 7.28V5c0-1.1-.9-2-2-2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-2.28c.59-.35 1-.98 1-1.72V9c0-.74-.41-1.37-1-1.72zM20 9v6h-7V9h7zM5 19V5h14v2h-6c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h6v2H5z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"12\",\n r: \"1.5\"\n})), 'AccountBalanceWalletOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z\"\n}), 'AccountCircle');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"\n}), 'AddCircleOutlineOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'AddOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z\"\n}), 'Adjust');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\"\n}), 'ArrowBack');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\"\n}), 'ArrowBackIos');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\"\n}), 'ArrowForwardIos');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 17l5-5-5-5v10z\"\n}), 'ArrowRight');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z\"\n}), 'AttachMoney');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z\"\n}), 'Autorenew');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z\"\n}), 'Build');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 8l-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z\"\n}), 'Cached');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 4l2.29 2.29-2.88 2.88 1.42 1.42 2.88-2.88L20 10V4zm-4 0H4v6l2.29-2.29 4.71 4.7V20h2v-8.41l-5.29-5.3z\"\n}), 'CallSplit');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 19.1H3V5h18v14.1zM21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41z\"\n})), 'CancelPresentation');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2l-5.5 9h11z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"17.5\",\n cy: \"17.5\",\n r: \"4.5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 13.5h8v8H3z\"\n})), 'Category');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'CenterFocusWeak');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z\"\n}), 'ChatBubbleOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.59 7.58L10 14.17l-3.59-3.58L5 12l5 5 8-8zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'CheckCircleOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Clear');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z\"\n}), 'ClearAll');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\"\n}), 'CloseOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z\"\n}), 'CloudDownload');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z\"\n}), 'CompareArrows');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 10V6c0-1.11-.9-2-2-2H4c-1.1 0-1.99.89-1.99 2v4c1.1 0 1.99.9 1.99 2s-.89 2-2 2v4c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-4c-1.1 0-2-.9-2-2s.9-2 2-2zm-9 7.5h-2v-2h2v2zm0-4.5h-2v-2h2v2zm0-4.5h-2v-2h2v2z\"\n}), 'ConfirmationNumber');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 2C6.81 2 3 5.81 3 10.5S6.81 19 11.5 19h.5v3c4.86-2.34 8-7 8-11.5C20 5.81 16.19 2 11.5 2zm1 14.5h-2v-2h2v2zm0-3.5h-2c0-3.25 3-3 3-5 0-1.1-.9-2-2-2s-2 .9-2 2h-2c0-2.21 1.79-4 4-4s4 1.79 4 4c0 2.5-3 2.75-3 5z\"\n}), 'ContactSupport');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"\n}), 'Create');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z\"\n}), 'CreditCardOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'Delete');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'DeleteOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5l-1-1h-5l-1 1H5v2h14V4h-3.5z\"\n}), 'DeleteOutlineOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"\n}), 'Done');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z\"\n}), 'DoneAll');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.77 5.03l1.4 1.4L8.43 19.17l-5.6-5.6 1.4-1.4 4.2 4.2L19.77 5.03m0-2.83L8.43 13.54l-4.2-4.2L0 13.57 8.43 22 24 6.43 19.77 2.2z\"\n}), 'DoneOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.77 4.93l1.4 1.4L8.43 19.07l-5.6-5.6 1.4-1.4 4.2 4.2L19.77 4.93m0-2.83L8.43 13.44l-4.2-4.2L0 13.47l8.43 8.43L24 6.33 19.77 2.1z\"\n}), 'DoneOutlineOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"\n}), 'Edit');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z\"\n}), 'Email');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 5h-2V3H7v2H5c-1.1 0-2 .9-2 2v1c0 2.55 1.92 4.63 4.39 4.94.63 1.5 1.98 2.63 3.61 2.96V19H7v2h10v-2h-4v-3.1c1.63-.33 2.98-1.46 3.61-2.96C19.08 12.63 21 10.55 21 8V7c0-1.1-.9-2-2-2zM7 10.82C5.84 10.4 5 9.3 5 8V7h2v3.82zM19 8c0 1.3-.84 2.4-2 2.82V7h2v1z\"\n}), 'EmojiEvents');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10H7v2h10v-2zm2-7h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zm-5-5H7v2h7v-2z\"\n}), 'EventNote');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'ExitToApp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'ExitToAppOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 11.75c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 10c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z\"\n}), 'Face');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\n}), 'Favorite');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z\"\n}), 'FavoriteBorder');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z\"\n}), 'FileCopy');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"\n}), 'FirstPage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 2v11h3v9l7-12h-4l4-8z\"\n}), 'FlashOn');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 12c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 10V8H5.09C6.47 5.61 9.05 4 12 4c3.72 0 6.85 2.56 7.74 6h2.06c-.93-4.56-4.96-8-9.8-8-3.27 0-6.18 1.58-8 4.01V4H2v6h6zM16 14v2h2.91c-1.38 2.39-3.96 4-6.91 4-3.72 0-6.85-2.56-7.74-6H2.2c.93 4.56 4.96 8 9.8 8 3.27 0 6.18-1.58 8-4.01V20h2v-6h-6z\"\n})), 'FlipCameraAndroid');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\"\n}), 'GetApp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"19.5\",\n cy: \"19.5\",\n r: \"1.5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 5.92L9 2v18H7v-1.73c-1.79.35-3 .99-3 1.73 0 1.1 2.69 2 6 2s6-.9 6-2c0-.99-2.16-1.81-5-1.97V8.98l6-3.06z\"\n})), 'GolfCourse');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\"\n}), 'Group');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z\"\n}), 'HelpOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"\n}), 'HighlightOff');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\n}), 'Home');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17l3-2.94c-.39-.04-.68-.06-1-.06-2.67 0-8 1.34-8 4v2h9l-3-3zm2-5c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4M15.47 20.5L12 17l1.4-1.41 2.07 2.08 5.13-5.17 1.4 1.41z\"\n})), 'HowToReg');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z\"\n}), 'InsertDriveFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z\"\n}), 'KeyboardArrowLeft');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z\"\n}), 'KeyboardArrowRight');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\"\n}), 'KeyboardReturn');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"\n}), 'LastPage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 5v14H5V5h14m1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9zM11 7h6v2h-6V7zm0 4h6v2h-6v-2zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z\"\n}), 'ListAlt');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 16h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 11.9 13 12.5 13 14h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\"\n}), 'LiveHelp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 17h2v-1h1c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1h-3v-1h4V8h-2V7h-2v1h-1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3v1H9v2h2v1zm9-13H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12z\"\n}), 'LocalAtm');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 17h2v-1h1c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1h-3v-1h4V8h-2V7h-2v1h-1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3v1H9v2h2v1zm9-13H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12z\"\n}), 'LocalAtmOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z\"\n}), 'LocalOffer');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9l1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"\n}), 'LocalShipping');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zm-.5 1.5l1.96 2.5H17V9.5h2.5zM6 18c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm2.22-3c-.55-.61-1.33-1-2.22-1s-1.67.39-2.22 1H3V6h12v9H8.22zM18 18c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'LocalShippingOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z\"\n}), 'Loop');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 4H4c-1.1 0-2 .9-2 2v12.01c0 1.1.9 1.99 2 1.99h16c1.1 0 2-.9 2-2v-8l-6-6zM4 18.01V6h11v5h5v7.01H4z\"\n}), 'NoteOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z\"\n}), 'Payment');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\"\n}), 'People');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5 13c-1.2 0-3.07.34-4.5 1-1.43-.67-3.3-1-4.5-1C5.33 13 1 14.08 1 16.25V19h22v-2.75c0-2.17-4.33-3.25-6.5-3.25zm-4 4.5h-10v-1.25c0-.54 2.56-1.75 5-1.75s5 1.21 5 1.75v1.25zm9 0H14v-1.25c0-.46-.2-.86-.52-1.22.88-.3 1.96-.53 3.02-.53 2.44 0 5 1.21 5 1.75v1.25zM7.5 12c1.93 0 3.5-1.57 3.5-3.5S9.43 5 7.5 5 4 6.57 4 8.5 5.57 12 7.5 12zm0-5.5c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm9 5.5c1.93 0 3.5-1.57 3.5-3.5S18.43 5 16.5 5 13 6.57 13 8.5s1.57 3.5 3.5 3.5zm0-5.5c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2z\"\n}), 'PeopleOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm-9-2V7H4v3H1v2h3v3h2v-3h3v-2H6zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'PersonAdd');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutline');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutlineOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z\"\n}), 'Phone');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 5v14l11-7z\"\n}), 'PlayArrow');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z\"\n}), 'PowerSettingsNew');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 4v2h14V4H5zm0 10h4v6h6v-6h4l-7-7-7 7z\"\n}), 'Publish');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z\"\n}), 'Redo');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"\n}), 'Refresh');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 13H5v-2h14v2z\"\n}), 'RemoveOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z\"\n}), 'Replay');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z\"\n}), 'Reply');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.11 8.53L5.7 7.11C4.8 8.27 4.24 9.61 4.07 11h2.02c.14-.87.49-1.72 1.02-2.47zM6.09 13H4.07c.17 1.39.72 2.73 1.62 3.89l1.41-1.42c-.52-.75-.87-1.59-1.01-2.47zm1.01 5.32c1.16.9 2.51 1.44 3.9 1.61V17.9c-.87-.15-1.71-.49-2.46-1.03L7.1 18.32zM13 4.07V1L8.45 5.55 13 10V6.09c2.84.48 5 2.94 5 5.91s-2.16 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93s-3.05-7.44-7-7.93z\"\n}), 'RotateLeft');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3L1 9l11 6 9-4.91V17h2V9L12 3z\"\n}), 'School');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"\n}), 'Search');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z\"\n}), 'Send');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"15.5\",\n cy: \"9.5\",\n r: \"1.5\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"8.5\",\n cy: \"9.5\",\n r: \"1.5\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"15.5\",\n cy: \"9.5\",\n r: \"1.5\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"8.5\",\n cy: \"9.5\",\n r: \"1.5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-2.5c2.33 0 4.32-1.45 5.12-3.5h-1.67c-.69 1.19-1.97 2-3.45 2s-2.75-.81-3.45-2H6.88c.8 2.05 2.79 3.5 5.12 3.5z\"\n})), 'SentimentSatisfiedAlt');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"15.5\",\n cy: \"9.5\",\n r: \"1.5\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"8.5\",\n cy: \"9.5\",\n r: \"1.5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-6c-2.33 0-4.32 1.45-5.12 3.5h1.67c.69-1.19 1.97-2 3.45-2s2.75.81 3.45 2h1.67c-.8-2.05-2.79-3.5-5.12-3.5z\"\n})), 'SentimentVeryDissatisfied');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z\"\n}), 'Settings');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-2-9c-4.97 0-9 4.03-9 9H0l4 4 4-4H5c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.51 0-2.91-.49-4.06-1.3l-1.42 1.44C8.04 20.3 9.94 21 12 21c4.97 0 9-4.03 9-9s-4.03-9-9-9z\"\n}), 'SettingsBackupRestore');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.38 8.57l-1.23 1.85a8 8 0 01-.22 7.58H5.07A8 8 0 0115.58 6.85l1.85-1.23A10 10 0 003.35 19a2 2 0 001.72 1h13.85a2 2 0 001.74-1 10 10 0 00-.27-10.44zm-9.79 6.84a2 2 0 002.83 0l5.66-8.49-8.49 5.66a2 2 0 000 2.83z\"\n}), 'Speed');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.23 6c-1.66 0-3.22.66-4.36 1.73C6.54 6.73 5.61 6 4.5 6 3.12 6 2 7.12 2 8.5S3.12 11 4.5 11c.21 0 .41-.03.61-.08-.05.25-.09.51-.1.78-.18 3.68 2.95 6.68 6.68 6.27 2.55-.28 4.68-2.26 5.19-4.77.15-.71.15-1.4.06-2.06-.09-.6.38-1.13.99-1.13H22V6H11.23zM4.5 9c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zm6.5 6c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"11\",\n cy: \"12\",\n r: \"2\"\n})), 'Sports');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5zM9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9 5C7.34 5 6 6.34 6 8s1.34 3 3 3zm7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75zM9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13z\"\n}), 'SupervisorAccount');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 16.5l4-4h-3v-9h-2v9H8l4 4zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2z\"\n}), 'SystemUpdateAlt');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"\n}), 'Today');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 11h5V5H4v6zm0 7h5v-6H4v6zm6 0h5v-6h-5v6zm6 0h5v-6h-5v6zm-6-7h5V5h-5v6zm6-6v6h5V5h-5z\"\n}), 'ViewModule');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'Visibility');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _utils.createSvgIcon;\n }\n});\n\nvar _utils = require(\"@material-ui/core/utils\");","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nimport createGenerateClassName from '../createGenerateClassName';\nimport { create } from 'jss';\nimport jssPreset from '../jssPreset'; // Default JSS instance.\n\nvar jss = create(jssPreset()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = createGenerateClassName(); // Exported for test purposes\n\nexport var sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nexport var StylesContext = React.createContext(defaultOptions);\n\nif (process.env.NODE_ENV !== 'production') {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nexport default function StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = _objectWithoutProperties(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = React.useContext(StylesContext);\n\n var context = _extends({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and at the same time.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = create({\n plugins: jssPreset().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/React.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\nprocess.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: PropTypes.bool,\n\n /**\n * JSS's class name generator.\n */\n generateClassName: PropTypes.func,\n\n /**\n * By default, the styles are injected last in the element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: PropTypes.bool,\n\n /**\n * JSS's instance.\n */\n jss: PropTypes.object,\n\n /**\n * @ignore\n */\n serverGenerateClassName: PropTypes.func,\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: PropTypes.object,\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: PropTypes.object,\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: PropTypes.object\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = exactProp(StylesProvider.propTypes) : void 0;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested'; // To support composition of theme.\n\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n var mergedTheme = localTheme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['Material-UI: You should return an object from your theme function, i.e.', ' ({})} />'].join('\\n'));\n }\n }\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, localTheme);\n}\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\n\n\nfunction ThemeProvider(props) {\n var children = props.children,\n localTheme = props.theme;\n var outerTheme = useTheme();\n\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['Material-UI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n\n var theme = React.useMemo(function () {\n var output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, children);\n}\n\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\n\nexport default ThemeProvider;","var hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import nested from '../ThemeProvider/nested';\n/**\n * This is the list of the style rule name we use as drop in replacement for the built-in\n * pseudo classes (:checked, :disabled, :focused, etc.).\n *\n * Why do they exist in the first place?\n * These classes are used at a specificity of 2.\n * It allows them to override previously definied styles as well as\n * being untouched by simple user overrides.\n */\n\nvar pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected']; // Returns a function which generates unique class names based on counters.\n// When new generator function is created, rule counter is reset.\n// We need to reset the rule counter for SSR for each request.\n//\n// It's inspired by\n// https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js\n\nexport default function createGenerateClassName() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _options$disableGloba = options.disableGlobal,\n disableGlobal = _options$disableGloba === void 0 ? false : _options$disableGloba,\n _options$productionPr = options.productionPrefix,\n productionPrefix = _options$productionPr === void 0 ? 'jss' : _options$productionPr,\n _options$seed = options.seed,\n seed = _options$seed === void 0 ? '' : _options$seed;\n var seedPrefix = seed === '' ? '' : \"\".concat(seed, \"-\");\n var ruleCounter = 0;\n\n var getNextCounterId = function getNextCounterId() {\n ruleCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (ruleCounter >= 1e10) {\n console.warn(['Material-UI: You might have a memory leak.', 'The ruleCounter is not supposed to grow that much.'].join(''));\n }\n }\n\n return ruleCounter;\n };\n\n return function (rule, styleSheet) {\n var name = styleSheet.options.name; // Is a global static MUI style?\n\n if (name && name.indexOf('Mui') === 0 && !styleSheet.options.link && !disableGlobal) {\n // We can use a shorthand class name, we never use the keys to style the components.\n if (pseudoClasses.indexOf(rule.key) !== -1) {\n return \"Mui-\".concat(rule.key);\n }\n\n var prefix = \"\".concat(seedPrefix).concat(name, \"-\").concat(rule.key);\n\n if (!styleSheet.options.theme[nested] || seed !== '') {\n return prefix;\n }\n\n return \"\".concat(prefix, \"-\").concat(getNextCounterId());\n }\n\n if (process.env.NODE_ENV === 'production') {\n return \"\".concat(seedPrefix).concat(productionPrefix).concat(getNextCounterId());\n }\n\n var suffix = \"\".concat(rule.key, \"-\").concat(getNextCounterId()); // Help with debuggability.\n\n if (styleSheet.options.classNamePrefix) {\n return \"\".concat(seedPrefix).concat(styleSheet.options.classNamePrefix, \"-\").concat(suffix);\n }\n\n return \"\".concat(seedPrefix).concat(suffix);\n };\n}","export default function createStyles(styles) {\n return styles;\n}","/* eslint-disable no-restricted-syntax */\nexport default function getThemeProps(params) {\n var theme = params.theme,\n name = params.name,\n props = params.props;\n\n if (!theme || !theme.props || !theme.props[name]) {\n return props;\n } // Resolve default props, code borrow from React source.\n // https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221\n\n\n var defaultProps = theme.props[name];\n var propName;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport React from 'react';\nimport { SheetsRegistry } from 'jss';\nimport StylesProvider from '../StylesProvider';\nimport createGenerateClassName from '../createGenerateClassName';\n\nvar ServerStyleSheets = /*#__PURE__*/function () {\n function ServerStyleSheets() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ServerStyleSheets);\n\n this.options = options;\n }\n\n _createClass(ServerStyleSheets, [{\n key: \"collect\",\n value: function collect(children) {\n // This is needed in order to deduplicate the injection of CSS in the page.\n var sheetsManager = new Map(); // This is needed in order to inject the critical CSS.\n\n this.sheetsRegistry = new SheetsRegistry(); // A new class name generator\n\n var generateClassName = createGenerateClassName();\n return /*#__PURE__*/React.createElement(StylesProvider, _extends({\n sheetsManager: sheetsManager,\n serverGenerateClassName: generateClassName,\n sheetsRegistry: this.sheetsRegistry\n }, this.options), children);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.sheetsRegistry ? this.sheetsRegistry.toString() : '';\n }\n }, {\n key: \"getStyleElement\",\n value: function getStyleElement(props) {\n return /*#__PURE__*/React.createElement('style', _extends({\n id: 'jss-server-side',\n key: 'jss-server-side',\n dangerouslySetInnerHTML: {\n __html: this.toString()\n }\n }, props));\n }\n }]);\n\n return ServerStyleSheets;\n}();\n\nexport { ServerStyleSheets as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { chainPropTypes, getDisplayName } from '@material-ui/utils';\nimport useTheme from '../useTheme';\nexport function withThemeCreator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultTheme = options.defaultTheme;\n\n var withTheme = function withTheme(Component) {\n if (process.env.NODE_ENV !== 'production') {\n if (Component === undefined) {\n throw new Error(['You are calling withTheme(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var WithTheme = /*#__PURE__*/React.forwardRef(function WithTheme(props, ref) {\n var innerRef = props.innerRef,\n other = _objectWithoutProperties(props, [\"innerRef\"]);\n\n var theme = useTheme() || defaultTheme;\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: innerRef || ref\n }, other));\n });\n process.env.NODE_ENV !== \"production\" ? WithTheme.propTypes = {\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: chainPropTypes(PropTypes.oneOfType([PropTypes.func, PropTypes.object]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return new Error('Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' + 'Refs are now automatically forwarded to the inner component.');\n })\n } : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n WithTheme.displayName = \"WithTheme(\".concat(getDisplayName(Component), \")\");\n }\n\n hoistNonReactStatics(WithTheme, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Exposed for test purposes.\n WithTheme.Naked = Component;\n }\n\n return WithTheme;\n };\n\n return withTheme;\n} // Provide the theme object as a prop to the input component.\n// It's an alternative API to useTheme().\n// We encourage the usage of useTheme() where possible.\n\nvar withTheme = withThemeCreator();\nexport default withTheme;","import warning from 'tiny-warning';\nimport { createRule } from 'jss';\n\nvar now = Date.now();\nvar fnValuesNs = \"fnValues\" + now;\nvar fnRuleNs = \"fnStyle\" + ++now;\n\nvar functionPlugin = function functionPlugin() {\n return {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = createRule(name, {}, options);\n rule[fnRuleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n // We need to extract function values from the declaration, so that we can keep core unaware of them.\n // We need to do that only once.\n // We don't need to extract functions on each style update, since this can happen only once.\n // We don't support function values inside of function rules.\n if (fnValuesNs in rule || fnRuleNs in rule) return style;\n var fnValues = {};\n\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fnValues[prop] = value;\n }\n\n rule[fnValuesNs] = fnValues;\n return style;\n },\n onUpdate: function onUpdate(data, rule, sheet, options) {\n var styleRule = rule;\n var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n\n if (fnRule) {\n // Empty object will remove all currently defined props\n // in case function rule returns a falsy value.\n styleRule.style = fnRule(data) || {};\n\n if (process.env.NODE_ENV === 'development') {\n for (var prop in styleRule.style) {\n if (typeof styleRule.style[prop] === 'function') {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Function values inside function rules are not supported.') : void 0;\n break;\n }\n }\n }\n }\n\n var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values.\n\n if (fnValues) {\n for (var _prop in fnValues) {\n styleRule.prop(_prop, fnValues[_prop](data), options);\n }\n }\n }\n };\n};\n\nexport default functionPlugin;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { RuleList } from 'jss';\n\nvar at = '@global';\nvar atPrefix = '@global ';\n\nvar GlobalContainerRule =\n/*#__PURE__*/\nfunction () {\n function GlobalContainerRule(key, styles, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = GlobalContainerRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (rule) this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule =\n/*#__PURE__*/\nfunction () {\n function GlobalPrefixedRule(key, style, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n var selector = key.substr(atPrefix.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this\n }));\n }\n\n var _proto2 = GlobalPrefixedRule.prototype;\n\n _proto2.toString = function toString(options) {\n return this.rule ? this.rule.toString(options) : '';\n };\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + \" \" + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n var rules = style ? style[at] : null;\n if (!rules) return;\n\n for (var name in rules) {\n sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[at];\n}\n\nfunction handlePrefixedGlobalRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;\n var selector = addScope(prop.substr(at.length), rule.selector);\n sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\n\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (!name) return null;\n\n if (name === at) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {\n options.scoped = false;\n }\n }\n\n if (!options.selector && options.scoped === false) {\n options.selector = name;\n }\n\n return null;\n }\n\n function onProcessRule(rule, sheet) {\n if (rule.type !== 'style' || !sheet) return;\n handleNestedGlobalContainerRule(rule, sheet);\n handlePrefixedGlobalRule(rule, sheet);\n }\n\n return {\n onCreateRule: onCreateRule,\n onProcessRule: onProcessRule\n };\n}\n\nexport default jssGlobal;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container, sheet) {\n return function (match, key) {\n var rule = container.getRule(key) || sheet && sheet.getRule(key);\n\n if (rule) {\n return rule.selector;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Could not find the referenced rule \\\"\" + key + \"\\\" in \\\"\" + (container.options.meta || container.toString()) + \"\\\".\") : void 0;\n return key;\n };\n }\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.\n\n result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + \" \" + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, prevOptions) {\n // Options has been already created, now we only increase index.\n if (prevOptions) return _extends({}, prevOptions, {\n index: prevOptions.index + 1\n });\n var nestingLevel = rule.options.nestingLevel;\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n var options = _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.\n\n });\n\n delete options.name;\n return options;\n }\n\n function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style') return style;\n var styleRule = rule;\n var container = styleRule.options.parent;\n var options;\n var replaceRef;\n\n for (var prop in style) {\n var isNested = prop.indexOf('&') !== -1;\n var isNestedConditional = prop[0] === '@';\n if (!isNested && !isNestedConditional) continue;\n options = getOptions(styleRule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n\n if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.\n\n selector = selector.replace(refRegExp, replaceRef);\n var name = styleRule.key + \"-\" + prop;\n\n if ('replaceRule' in container) {\n // for backward compatibility\n container.replaceRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n } else {\n container.addRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n }\n } else if (isNestedConditional) {\n // Place conditional right after the parent rule to ensure right ordering.\n container.addRule(prop, {}, options).addRule(styleRule.key, style[prop], {\n selector: styleRule.selector\n });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return {\n onProcessStyle: onProcessStyle\n };\n}\n\nexport default jssNested;\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import hyphenate from 'hyphenate-style-name';\n\n/**\n * Convert camel cased property names to dash separated.\n */\n\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n var key = prop.indexOf('--') === 0 ? prop : hyphenate(prop);\n converted[key] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n/**\n * Allow camel cased property names by converting them back to dasherized.\n */\n\n\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n if (prop.indexOf('--') === 0) {\n return value;\n }\n\n var hyphenatedProp = hyphenate(prop); // There was no camel case in place\n\n if (prop === hyphenatedProp) return value;\n rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above.\n\n return null;\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default camelCase;\n","import { hasCSSTOMSupport } from 'jss';\n\nvar px = hasCSSTOMSupport && CSS ? CSS.px : 'px';\nvar ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms';\nvar percent = hasCSSTOMSupport && CSS ? CSS.percent : '%';\n/**\n * Generated jss-plugin-default-unit CSS property units\n */\n\nvar defaultUnits = {\n // Animation properties\n 'animation-delay': ms,\n 'animation-duration': ms,\n // Background properties\n 'background-position': px,\n 'background-position-x': px,\n 'background-position-y': px,\n 'background-size': px,\n // Border Properties\n border: px,\n 'border-bottom': px,\n 'border-bottom-left-radius': px,\n 'border-bottom-right-radius': px,\n 'border-bottom-width': px,\n 'border-left': px,\n 'border-left-width': px,\n 'border-radius': px,\n 'border-right': px,\n 'border-right-width': px,\n 'border-top': px,\n 'border-top-left-radius': px,\n 'border-top-right-radius': px,\n 'border-top-width': px,\n 'border-width': px,\n 'border-block': px,\n 'border-block-end': px,\n 'border-block-end-width': px,\n 'border-block-start': px,\n 'border-block-start-width': px,\n 'border-block-width': px,\n 'border-inline': px,\n 'border-inline-end': px,\n 'border-inline-end-width': px,\n 'border-inline-start': px,\n 'border-inline-start-width': px,\n 'border-inline-width': px,\n 'border-start-start-radius': px,\n 'border-start-end-radius': px,\n 'border-end-start-radius': px,\n 'border-end-end-radius': px,\n // Margin properties\n margin: px,\n 'margin-bottom': px,\n 'margin-left': px,\n 'margin-right': px,\n 'margin-top': px,\n 'margin-block': px,\n 'margin-block-end': px,\n 'margin-block-start': px,\n 'margin-inline': px,\n 'margin-inline-end': px,\n 'margin-inline-start': px,\n // Padding properties\n padding: px,\n 'padding-bottom': px,\n 'padding-left': px,\n 'padding-right': px,\n 'padding-top': px,\n 'padding-block': px,\n 'padding-block-end': px,\n 'padding-block-start': px,\n 'padding-inline': px,\n 'padding-inline-end': px,\n 'padding-inline-start': px,\n // Mask properties\n 'mask-position-x': px,\n 'mask-position-y': px,\n 'mask-size': px,\n // Width and height properties\n height: px,\n width: px,\n 'min-height': px,\n 'max-height': px,\n 'min-width': px,\n 'max-width': px,\n // Position properties\n bottom: px,\n left: px,\n top: px,\n right: px,\n inset: px,\n 'inset-block': px,\n 'inset-block-end': px,\n 'inset-block-start': px,\n 'inset-inline': px,\n 'inset-inline-end': px,\n 'inset-inline-start': px,\n // Shadow properties\n 'box-shadow': px,\n 'text-shadow': px,\n // Column properties\n 'column-gap': px,\n 'column-rule': px,\n 'column-rule-width': px,\n 'column-width': px,\n // Font and text properties\n 'font-size': px,\n 'font-size-delta': px,\n 'letter-spacing': px,\n 'text-decoration-thickness': px,\n 'text-indent': px,\n 'text-stroke': px,\n 'text-stroke-width': px,\n 'word-spacing': px,\n // Motion properties\n motion: px,\n 'motion-offset': px,\n // Outline properties\n outline: px,\n 'outline-offset': px,\n 'outline-width': px,\n // Perspective properties\n perspective: px,\n 'perspective-origin-x': percent,\n 'perspective-origin-y': percent,\n // Transform properties\n 'transform-origin': percent,\n 'transform-origin-x': percent,\n 'transform-origin-y': percent,\n 'transform-origin-z': percent,\n // Transition properties\n 'transition-delay': ms,\n 'transition-duration': ms,\n // Alignment properties\n 'vertical-align': px,\n 'flex-basis': px,\n // Some random properties\n 'shape-margin': px,\n size: px,\n gap: px,\n // Grid properties\n grid: px,\n 'grid-gap': px,\n 'row-gap': px,\n 'grid-row-gap': px,\n 'grid-column-gap': px,\n 'grid-template-rows': px,\n 'grid-template-columns': px,\n 'grid-auto-rows': px,\n 'grid-auto-columns': px,\n // Not existing properties.\n // Used to avoid issues with jss-plugin-expand integration.\n 'box-shadow-x': px,\n 'box-shadow-y': px,\n 'box-shadow-blur': px,\n 'box-shadow-spread': px,\n 'font-line-height': px,\n 'text-shadow-x': px,\n 'text-shadow-y': px,\n 'text-shadow-blur': px\n};\n\n/**\n * Clones the object and adds a camel cased property version.\n */\n\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n\n var newObj = {};\n\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n\n return newObj;\n}\n\nvar units = addCamelCasedVersion(defaultUnits);\n/**\n * Recursive deep style passing function\n */\n\nfunction iterate(prop, value, options) {\n if (value == null) return value;\n\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n } else if (typeof value === 'object') {\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n } else {\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + \"-\" + _innerProp, value[_innerProp], options);\n }\n } // eslint-disable-next-line no-restricted-globals\n\n } else if (typeof value === 'number' && isNaN(value) === false) {\n var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px.\n\n if (unit && !(value === 0 && unit === px)) {\n return typeof unit === 'function' ? unit(value).toString() : \"\" + value + unit;\n }\n\n return value.toString();\n }\n\n return value;\n}\n/**\n * Add unit to numeric values.\n */\n\n\nfunction defaultUnit(options) {\n if (options === void 0) {\n options = {};\n }\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default defaultUnit;\n","import isInBrowser from 'is-in-browser';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\n\n// Export javascript style and css style vendor prefixes.\nvar js = '';\nvar css = '';\nvar vendor = '';\nvar browser = '';\nvar isTouch = isInBrowser && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.\n\nif (isInBrowser) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n\n var _document$createEleme = document.createElement('p'),\n style = _document$createEleme.style;\n\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n } // Correctly detect the Edge browser.\n\n\n if (js === 'Webkit' && 'msHyphens' in style) {\n js = 'ms';\n css = jsCssMap.ms;\n browser = 'edge';\n } // Correctly detect the Safari browser.\n\n\n if (js === 'Webkit' && '-apple-trailing-word' in style) {\n vendor = 'apple';\n }\n}\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String, vendor: String, browser: String}}\n * @api public\n */\n\n\nvar prefix = {\n js: js,\n css: css,\n vendor: vendor,\n browser: browser,\n isTouch: isTouch\n};\n\n/**\n * Test if a keyframe at-rule should be prefixed or not\n *\n * @param {String} vendor prefix string for the current browser.\n * @return {String}\n * @api public\n */\n\nfunction supportedKeyframes(key) {\n // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'\n if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.\n // https://caniuse.com/#search=keyframes\n\n if (prefix.js === 'ms') return key;\n return \"@\" + prefix.css + \"keyframes\" + key.substr(10);\n}\n\n// https://caniuse.com/#search=appearance\n\nvar appearence = {\n noPrefill: ['appearance'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'appearance') return false;\n if (prefix.js === 'ms') return \"-webkit-\" + prop;\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=color-adjust\n\nvar colorAdjust = {\n noPrefill: ['color-adjust'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'color-adjust') return false;\n if (prefix.js === 'Webkit') return prefix.css + \"print-\" + prop;\n return prop;\n }\n};\n\nvar regExp = /[-\\s]+(.)?/g;\n/**\n * Replaces the letter with the capital letter\n *\n * @param {String} match\n * @param {String} c\n * @return {String}\n * @api private\n */\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n/**\n * Convert dash separated strings to camel-cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\n\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\n/**\n * Convert dash separated strings to pascal cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nfunction pascalize(str) {\n return camelize(\"-\" + str);\n}\n\n// but we can use a longhand property instead.\n// https://caniuse.com/#search=mask\n\nvar mask = {\n noPrefill: ['mask'],\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^mask/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var longhand = 'mask-image';\n\n if (camelize(longhand) in style) {\n return prop;\n }\n\n if (prefix.js + pascalize(longhand) in style) {\n return prefix.css + prop;\n }\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=text-orientation\n\nvar textOrientation = {\n noPrefill: ['text-orientation'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'text-orientation') return false;\n\n if (prefix.vendor === 'apple' && !prefix.isTouch) {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=transform\n\nvar transform = {\n noPrefill: ['transform'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transform') return false;\n\n if (options.transform) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=transition\n\nvar transition = {\n noPrefill: ['transition'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transition') return false;\n\n if (options.transition) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=writing-mode\n\nvar writingMode = {\n noPrefill: ['writing-mode'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'writing-mode') return false;\n\n if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=user-select\n\nvar userSelect = {\n noPrefill: ['user-select'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'user-select') return false;\n\n if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=multicolumn\n// https://github.com/postcss/autoprefixer/issues/491\n// https://github.com/postcss/autoprefixer/issues/177\n\nvar breakPropsOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^break-/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var jsProp = \"WebkitColumn\" + pascalize(prop);\n return jsProp in style ? prefix.css + \"column-\" + prop : false;\n }\n\n if (prefix.js === 'Moz') {\n var _jsProp = \"page\" + pascalize(prop);\n\n return _jsProp in style ? \"page-\" + prop : false;\n }\n\n return false;\n }\n};\n\n// See https://github.com/postcss/autoprefixer/issues/324.\n\nvar inlineLogicalOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^(border|margin|padding)-inline/.test(prop)) return false;\n if (prefix.js === 'Moz') return prop;\n var newProp = prop.replace('-inline', '');\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\n// Camelization is required because we can't test using.\n// CSS syntax for e.g. in FF.\n\nvar unprefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n return camelize(prop) in style ? prop : false;\n }\n};\n\nvar prefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.\n\n if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.\n\n if (prop[0] === '-' && prop[1] === '-') return prop;\n if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.\n\n if (prefix.js !== 'Webkit' && \"Webkit\" + pascalized in style) return \"-webkit-\" + prop;\n return false;\n }\n};\n\n// https://caniuse.com/#search=scroll-snap\n\nvar scrollSnap = {\n supportedProperty: function supportedProperty(prop) {\n if (prop.substring(0, 11) !== 'scroll-snap') return false;\n\n if (prefix.js === 'ms') {\n return \"\" + prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=overscroll-behavior\n\nvar overscrollBehavior = {\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'overscroll-behavior') return false;\n\n if (prefix.js === 'ms') {\n return prefix.css + \"scroll-chaining\";\n }\n\n return prop;\n }\n};\n\nvar propMap = {\n 'flex-grow': 'flex-positive',\n 'flex-shrink': 'flex-negative',\n 'flex-basis': 'flex-preferred-size',\n 'justify-content': 'flex-pack',\n order: 'flex-order',\n 'align-items': 'flex-align',\n 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.\n\n}; // Support old flex spec from 2012.\n\nvar flex2012 = {\n supportedProperty: function supportedProperty(prop, style) {\n var newProp = propMap[prop];\n if (!newProp) return false;\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\nvar propMap$1 = {\n flex: 'box-flex',\n 'flex-grow': 'box-flex',\n 'flex-direction': ['box-orient', 'box-direction'],\n order: 'box-ordinal-group',\n 'align-items': 'box-align',\n 'flex-flow': ['box-orient', 'box-direction'],\n 'justify-content': 'box-pack'\n};\nvar propKeys = Object.keys(propMap$1);\n\nvar prefixCss = function prefixCss(p) {\n return prefix.css + p;\n}; // Support old flex spec from 2009.\n\n\nvar flex2009 = {\n supportedProperty: function supportedProperty(prop, style, _ref) {\n var multiple = _ref.multiple;\n\n if (propKeys.indexOf(prop) > -1) {\n var newProp = propMap$1[prop];\n\n if (!Array.isArray(newProp)) {\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n\n if (!multiple) return false;\n\n for (var i = 0; i < newProp.length; i++) {\n if (!(prefix.js + pascalize(newProp[0]) in style)) {\n return false;\n }\n }\n\n return newProp.map(prefixCss);\n }\n\n return false;\n }\n};\n\n// plugins = [\n// ...plugins,\n// breakPropsOld,\n// inlineLogicalOld,\n// unprefixed,\n// prefixed,\n// scrollSnap,\n// flex2012,\n// flex2009\n// ]\n// Plugins without 'noPrefill' value, going last.\n// 'flex-*' plugins should be at the bottom.\n// 'flex2009' going after 'flex2012'.\n// 'prefixed' going after 'unprefixed'\n\nvar plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];\nvar propertyDetectors = plugins.filter(function (p) {\n return p.supportedProperty;\n}).map(function (p) {\n return p.supportedProperty;\n});\nvar noPrefill = plugins.filter(function (p) {\n return p.noPrefill;\n}).reduce(function (a, p) {\n a.push.apply(a, _toConsumableArray(p.noPrefill));\n return a;\n}, []);\n\nvar el;\nvar cache = {};\n\nif (isInBrowser) {\n el = document.createElement('p'); // We test every property on vendor prefix requirement.\n // Once tested, result is cached. It gives us up to 70% perf boost.\n // http://jsperf.com/element-style-object-access-vs-plain-object\n //\n // Prefill cache with known css properties to reduce amount of\n // properties we need to feature test at runtime.\n // http://davidwalsh.name/vendor-prefix\n\n var computed = window.getComputedStyle(document.documentElement, '');\n\n for (var key$1 in computed) {\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(key$1)) cache[computed[key$1]] = computed[key$1];\n } // Properties that cannot be correctly detected using the\n // cache prefill method.\n\n\n noPrefill.forEach(function (x) {\n return delete cache[x];\n });\n}\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @param {Object} [options]\n * @return {String|Boolean}\n * @api public\n */\n\n\nfunction supportedProperty(prop, options) {\n if (options === void 0) {\n options = {};\n }\n\n // For server-side rendering.\n if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache[prop] != null) {\n return cache[prop];\n } // Check if 'transition' or 'transform' natively supported in browser.\n\n\n if (prop === 'transition' || prop === 'transform') {\n options[prop] = prop in el.style;\n } // Find a plugin for current prefix property.\n\n\n for (var i = 0; i < propertyDetectors.length; i++) {\n cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.\n\n if (cache[prop]) break;\n } // Reset styles for current property.\n // Firefox can even throw an error for invalid properties, e.g., \"0\".\n\n\n try {\n el.style[prop] = '';\n } catch (err) {\n return false;\n }\n\n return cache[prop];\n}\n\nvar cache$1 = {};\nvar transitionProperties = {\n transition: 1,\n 'transition-property': 1,\n '-webkit-transition': 1,\n '-webkit-transition-property': 1\n};\nvar transPropsRegExp = /(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;\nvar el$1;\n/**\n * Returns prefixed value transition/transform if needed.\n *\n * @param {String} match\n * @param {String} p1\n * @param {String} p2\n * @return {String}\n * @api private\n */\n\nfunction prefixTransitionCallback(match, p1, p2) {\n if (p1 === 'var') return 'var';\n if (p1 === 'all') return 'all';\n if (p2 === 'all') return ', all';\n var prefixedValue = p1 ? supportedProperty(p1) : \", \" + supportedProperty(p2);\n if (!prefixedValue) return p1 || p2;\n return prefixedValue;\n}\n\nif (isInBrowser) el$1 = document.createElement('p');\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedValue(property, value) {\n // For server-side rendering.\n var prefixedValue = value;\n if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n // eslint-disable-next-line no-restricted-globals\n\n if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {\n return prefixedValue;\n } // Create cache key for current value.\n\n\n var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache$1[cacheKey] != null) {\n return cache$1[cacheKey];\n } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.\n\n\n try {\n // Test value as it is.\n el$1.style[property] = prefixedValue;\n } catch (err) {\n // Return false if value not supported.\n cache$1[cacheKey] = false;\n return false;\n } // If 'transition' or 'transition-property' property.\n\n\n if (transitionProperties[property]) {\n prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);\n } else if (el$1.style[property] === '') {\n // Value with a vendor prefix.\n prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n\n if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.\n\n el$1.style[property] = prefixedValue; // Return false if value not supported.\n\n if (el$1.style[property] === '') {\n cache$1[cacheKey] = false;\n return false;\n }\n } // Reset styles for current property.\n\n\n el$1.style[property] = ''; // Write current value to cache.\n\n cache$1[cacheKey] = prefixedValue;\n return cache$1[cacheKey];\n}\n\nexport { prefix, supportedKeyframes, supportedProperty, supportedValue };\n","import { supportedKeyframes, supportedValue, supportedProperty } from 'css-vendor';\nimport { toCssValue } from 'jss';\n\n/**\n * Add vendor prefix to a property name when needed.\n */\n\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n var atRule = rule;\n atRule.at = supportedKeyframes(atRule.at);\n }\n }\n\n function prefixStyle(style) {\n for (var prop in style) {\n var value = style[prop];\n\n if (prop === 'fallbacks' && Array.isArray(value)) {\n style[prop] = value.map(prefixStyle);\n continue;\n }\n\n var changeProp = false;\n var supportedProp = supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n var changeValue = false;\n var supportedValue$1 = supportedValue(supportedProp, toCssValue(value));\n if (supportedValue$1 && supportedValue$1 !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue$1 || value;\n }\n }\n\n return style;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n return prefixStyle(style);\n }\n\n function onChangeValue(value, prop) {\n return supportedValue(prop, toCssValue(value)) || value;\n }\n\n return {\n onProcessRule: onProcessRule,\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default jssVendorPrefixer;\n","/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n var sort = function sort(prop0, prop1) {\n if (prop0.length === prop1.length) {\n return prop0 > prop1 ? 1 : -1;\n }\n\n return prop0.length - prop1.length;\n };\n\n return {\n onProcessStyle: function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n\n for (var i = 0; i < props.length; i++) {\n newStyle[props[i]] = style[props[i]];\n }\n\n return newStyle;\n }\n };\n}\n\nexport default jssPropsSort;\n","import functions from 'jss-plugin-rule-value-function';\nimport global from 'jss-plugin-global';\nimport nested from 'jss-plugin-nested';\nimport camelCase from 'jss-plugin-camel-case';\nimport defaultUnit from 'jss-plugin-default-unit';\nimport vendorPrefixer from 'jss-plugin-vendor-prefixer';\nimport propsSort from 'jss-plugin-props-sort'; // Subset of jss-preset-default with only the plugins the Material-UI components are using.\n\nexport default function jssPreset() {\n return {\n plugins: [functions(), global(), nested(), camelCase(), defaultUnit(), // Disable the vendor prefixer server-side, it does nothing.\n // This way, we can get a performance boost.\n // In the documentation, we are using `autoprefixer` to solve this problem.\n typeof window === 'undefined' ? null : vendorPrefixer(), propsSort()]\n };\n}","// Used https://github.com/thinkloop/multi-key-cache as inspiration\nvar multiKeyStore = {\n set: function set(cache, key1, key2, value) {\n var subCache = cache.get(key1);\n\n if (!subCache) {\n subCache = new Map();\n cache.set(key1, subCache);\n }\n\n subCache.set(key2, value);\n },\n get: function get(cache, key1, key2) {\n var subCache = cache.get(key1);\n return subCache ? subCache.get(key2) : undefined;\n },\n delete: function _delete(cache, key1, key2) {\n var subCache = cache.get(key1);\n subCache.delete(key2);\n }\n};\nexport default multiKeyStore;","/* eslint-disable import/prefer-default-export */\n// Global index counter to preserve source order.\n// We create the style sheet during the creation of the component,\n// children are handled after the parents, so the order of style elements would be parent->child.\n// It is a problem though when a parent passes a className\n// which needs to override any child's styles.\n// StyleSheet of the child has a higher specificity, because of the source order.\n// So our solution is to render sheets them in the reverse order child->sheet, so\n// that parent has a higher specificity.\nvar indexCounter = -1e9;\nexport function increment() {\n indexCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (indexCounter >= 0) {\n console.warn(['Material-UI: You might have a memory leak.', 'The indexCounter is not supposed to grow that much.'].join('\\n'));\n }\n }\n\n return indexCounter;\n}","// We use the same empty object to ref count the styles that don't need a theme object.\nvar noopTheme = {};\nexport default noopTheme;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { getDynamicStyles } from 'jss';\nimport mergeClasses from '../mergeClasses';\nimport multiKeyStore from './multiKeyStore';\nimport useTheme from '../useTheme';\nimport { StylesContext } from '../StylesProvider';\nimport { increment } from './indexCounter';\nimport getStylesCreator from '../getStylesCreator';\nimport noopTheme from '../getStylesCreator/noopTheme';\n\nfunction getClasses(_ref, classes, Component) {\n var state = _ref.state,\n stylesOptions = _ref.stylesOptions;\n\n if (stylesOptions.disableGeneration) {\n return classes || {};\n }\n\n if (!state.cacheClasses) {\n state.cacheClasses = {\n // Cache for the finalized classes value.\n value: null,\n // Cache for the last used classes prop pointer.\n lastProp: null,\n // Cache for the last used rendered classes pointer.\n lastJSS: {}\n };\n } // Tracks if either the rendered classes or classes prop has changed,\n // requiring the generation of a new finalized classes object.\n\n\n var generate = false;\n\n if (state.classes !== state.cacheClasses.lastJSS) {\n state.cacheClasses.lastJSS = state.classes;\n generate = true;\n }\n\n if (classes !== state.cacheClasses.lastProp) {\n state.cacheClasses.lastProp = classes;\n generate = true;\n }\n\n if (generate) {\n state.cacheClasses.value = mergeClasses({\n baseClasses: state.cacheClasses.lastJSS,\n newClasses: classes,\n Component: Component\n });\n }\n\n return state.cacheClasses.value;\n}\n\nfunction attach(_ref2, props) {\n var state = _ref2.state,\n theme = _ref2.theme,\n stylesOptions = _ref2.stylesOptions,\n stylesCreator = _ref2.stylesCreator,\n name = _ref2.name;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n\n if (!sheetManager) {\n sheetManager = {\n refs: 0,\n staticSheet: null,\n dynamicStyles: null\n };\n multiKeyStore.set(stylesOptions.sheetsManager, stylesCreator, theme, sheetManager);\n }\n\n var options = _extends({}, stylesCreator.options, stylesOptions, {\n theme: theme,\n flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl'\n });\n\n options.generateId = options.serverGenerateClassName || options.generateClassName;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n var staticSheet;\n\n if (stylesOptions.sheetsCache) {\n staticSheet = multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme);\n }\n\n var styles = stylesCreator.create(theme, name);\n\n if (!staticSheet) {\n staticSheet = stylesOptions.jss.createStyleSheet(styles, _extends({\n link: false\n }, options));\n staticSheet.attach();\n\n if (stylesOptions.sheetsCache) {\n multiKeyStore.set(stylesOptions.sheetsCache, stylesCreator, theme, staticSheet);\n }\n }\n\n if (sheetsRegistry) {\n sheetsRegistry.add(staticSheet);\n }\n\n sheetManager.staticSheet = staticSheet;\n sheetManager.dynamicStyles = getDynamicStyles(styles);\n }\n\n if (sheetManager.dynamicStyles) {\n var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({\n link: true\n }, options));\n dynamicSheet.update(props);\n dynamicSheet.attach();\n state.dynamicSheet = dynamicSheet;\n state.classes = mergeClasses({\n baseClasses: sheetManager.staticSheet.classes,\n newClasses: dynamicSheet.classes\n });\n\n if (sheetsRegistry) {\n sheetsRegistry.add(dynamicSheet);\n }\n } else {\n state.classes = sheetManager.staticSheet.classes;\n }\n\n sheetManager.refs += 1;\n}\n\nfunction update(_ref3, props) {\n var state = _ref3.state;\n\n if (state.dynamicSheet) {\n state.dynamicSheet.update(props);\n }\n}\n\nfunction detach(_ref4) {\n var state = _ref4.state,\n theme = _ref4.theme,\n stylesOptions = _ref4.stylesOptions,\n stylesCreator = _ref4.stylesCreator;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n sheetManager.refs -= 1;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n multiKeyStore.delete(stylesOptions.sheetsManager, stylesCreator, theme);\n stylesOptions.jss.removeStyleSheet(sheetManager.staticSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(sheetManager.staticSheet);\n }\n }\n\n if (state.dynamicSheet) {\n stylesOptions.jss.removeStyleSheet(state.dynamicSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(state.dynamicSheet);\n }\n }\n}\n\nfunction useSynchronousEffect(func, values) {\n var key = React.useRef([]);\n var output; // Store \"generation\" key. Just returns a new object every time\n\n var currentKey = React.useMemo(function () {\n return {};\n }, values); // eslint-disable-line react-hooks/exhaustive-deps\n // \"the first render\", or \"memo dropped the value\"\n\n if (key.current !== currentKey) {\n key.current = currentKey;\n output = func();\n }\n\n React.useEffect(function () {\n return function () {\n if (output) {\n output();\n }\n };\n }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}\n\nexport default function makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n classNamePrefixOption = options.classNamePrefix,\n Component = options.Component,\n _options$defaultTheme = options.defaultTheme,\n defaultTheme = _options$defaultTheme === void 0 ? noopTheme : _options$defaultTheme,\n stylesOptions2 = _objectWithoutProperties(options, [\"name\", \"classNamePrefix\", \"Component\", \"defaultTheme\"]);\n\n var stylesCreator = getStylesCreator(stylesOrCreator);\n var classNamePrefix = name || classNamePrefixOption || 'makeStyles';\n stylesCreator.options = {\n index: increment(),\n name: name,\n meta: classNamePrefix,\n classNamePrefix: classNamePrefix\n };\n\n var useStyles = function useStyles() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var theme = useTheme() || defaultTheme;\n\n var stylesOptions = _extends({}, React.useContext(StylesContext), stylesOptions2);\n\n var instance = React.useRef();\n var shouldUpdate = React.useRef();\n useSynchronousEffect(function () {\n var current = {\n name: name,\n state: {},\n stylesCreator: stylesCreator,\n stylesOptions: stylesOptions,\n theme: theme\n };\n attach(current, props);\n shouldUpdate.current = false;\n instance.current = current;\n return function () {\n detach(current);\n };\n }, [theme, stylesCreator]);\n React.useEffect(function () {\n if (shouldUpdate.current) {\n update(instance.current, props);\n }\n\n shouldUpdate.current = true;\n });\n var classes = getClasses(instance.current, props.classes, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(classes);\n }\n\n return classes;\n };\n\n return useStyles;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { deepmerge } from '@material-ui/utils';\nimport noopTheme from './noopTheme';\nexport default function getStylesCreator(stylesOrCreator) {\n var themingEnabled = typeof stylesOrCreator === 'function';\n\n if (process.env.NODE_ENV !== 'production') {\n if (_typeof(stylesOrCreator) !== 'object' && !themingEnabled) {\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You need to provide a function generating the styles or a styles object.'].join('\\n'));\n }\n }\n\n return {\n create: function create(theme, name) {\n var styles;\n\n try {\n styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n if (themingEnabled === true && theme === noopTheme) {\n // TODO: prepend error message/name instead\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n throw err;\n }\n\n if (!name || !theme.overrides || !theme.overrides[name]) {\n return styles;\n }\n\n var overrides = theme.overrides[name];\n\n var stylesWithOverrides = _extends({}, styles);\n\n Object.keys(overrides).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!stylesWithOverrides[key]) {\n console.warn(['Material-UI: You are trying to override a style that does not exist.', \"Fix the `\".concat(key, \"` key of `theme.overrides.\").concat(name, \"`.\")].join('\\n'));\n }\n }\n\n stylesWithOverrides[key] = deepmerge(stylesWithOverrides[key], overrides[key]);\n });\n return stylesWithOverrides;\n },\n options: {}\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getDisplayName } from '@material-ui/utils';\nexport default function mergeClasses() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var baseClasses = options.baseClasses,\n newClasses = options.newClasses,\n Component = options.Component;\n\n if (!newClasses) {\n return baseClasses;\n }\n\n var nextClasses = _extends({}, baseClasses);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof newClasses === 'string') {\n console.error([\"Material-UI: The value `\".concat(newClasses, \"` \") + \"provided to the classes prop of \".concat(getDisplayName(Component), \" is incorrect.\"), 'You might want to use the className prop instead.'].join('\\n'));\n return baseClasses;\n }\n }\n\n Object.keys(newClasses).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!baseClasses[key] && newClasses[key]) {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not implemented in \".concat(getDisplayName(Component), \".\"), \"You can only override one of the following: \".concat(Object.keys(baseClasses).join(','), \".\")].join('\\n'));\n }\n\n if (newClasses[key] && typeof newClasses[key] !== 'string') {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not valid for \".concat(getDisplayName(Component), \".\"), \"You need to provide a non empty string instead of: \".concat(newClasses[key], \".\")].join('\\n'));\n }\n }\n\n if (newClasses[key]) {\n nextClasses[key] = \"\".concat(baseClasses[key], \" \").concat(newClasses[key]);\n }\n });\n return nextClasses;\n}","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n stylesOptions = _objectWithoutProperties(options, [\"name\"]);\n\n if (process.env.NODE_ENV !== 'production' && Component === undefined) {\n throw new Error(['You are calling styled(Component)(style) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n\n var classNamePrefix = name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = getDisplayName(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var stylesOrCreator = typeof style === 'function' ? function (theme) {\n return {\n root: function root(props) {\n return style(_extends({\n theme: theme\n }, props));\n }\n };\n } : {\n root: style\n };\n var useStyles = makeStyles(stylesOrCreator, _extends({\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var filterProps;\n var propTypes = {};\n\n if (style.filterProps) {\n filterProps = style.filterProps;\n delete style.filterProps;\n }\n /* eslint-disable react/forbid-foreign-prop-types */\n\n\n if (style.propTypes) {\n propTypes = style.propTypes;\n delete style.propTypes;\n }\n /* eslint-enable react/forbid-foreign-prop-types */\n\n\n var StyledComponent = /*#__PURE__*/React.forwardRef(function StyledComponent(props, ref) {\n var children = props.children,\n classNameProp = props.className,\n clone = props.clone,\n ComponentProp = props.component,\n other = _objectWithoutProperties(props, [\"children\", \"className\", \"clone\", \"component\"]);\n\n var classes = useStyles(props);\n var className = clsx(classes.root, classNameProp);\n var spread = other;\n\n if (filterProps) {\n spread = omit(spread, filterProps);\n }\n\n if (clone) {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n className: clsx(children.props.className, className)\n }, spread));\n }\n\n if (typeof children === 'function') {\n return children(_extends({\n className: className\n }, spread));\n }\n\n var FinalComponent = ComponentProp || Component;\n return /*#__PURE__*/React.createElement(FinalComponent, _extends({\n ref: ref,\n className: className\n }, spread), children);\n });\n process.env.NODE_ENV !== \"production\" ? StyledComponent.propTypes = _extends({\n /**\n * A render function or node.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the component will recycle it's children HTML element.\n * It's using `React.cloneElement` internally.\n *\n * This prop will be deprecated and removed in v5\n */\n clone: chainPropTypes(PropTypes.bool, function (props) {\n if (props.clone && props.component) {\n return new Error('You can not use the clone and component prop at the same time.');\n }\n\n return null;\n }),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType\n }, propTypes) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n StyledComponent.displayName = \"Styled(\".concat(classNamePrefix, \")\");\n }\n\n hoistNonReactStatics(StyledComponent, Component);\n return StyledComponent;\n };\n\n return componentCreator;\n}","import React from 'react';\nvar ThemeContext = React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\n\nexport default ThemeContext;","import React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n var theme = React.useContext(ThemeContext);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { chainPropTypes, getDisplayName } from '@material-ui/utils';\nimport makeStyles from '../makeStyles';\nimport getThemeProps from '../getThemeProps';\nimport useTheme from '../useTheme'; // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = _objectWithoutProperties(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = getDisplayName(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = makeStyles(stylesOrCreator, _extends({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/React.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = _objectWithoutProperties(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles(_extends({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = useTheme() || defaultTheme;\n\n if (name) {\n more = getThemeProps({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n process.env.NODE_ENV !== \"production\" ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: chainPropTypes(PropTypes.oneOfType([PropTypes.func, PropTypes.object]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n WithStyles.displayName = \"WithStyles(\".concat(getDisplayName(Component), \")\");\n }\n\n hoistNonReactStatics(WithStyles, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\nexport default withStyles;","import style from './style';\nimport compose from './compose';\n\nfunction getBorder(value) {\n if (typeof value !== 'number') {\n return value;\n }\n\n return \"\".concat(value, \"px solid\");\n}\n\nexport var border = style({\n prop: 'border',\n themeKey: 'borders',\n transform: getBorder\n});\nexport var borderTop = style({\n prop: 'borderTop',\n themeKey: 'borders',\n transform: getBorder\n});\nexport var borderRight = style({\n prop: 'borderRight',\n themeKey: 'borders',\n transform: getBorder\n});\nexport var borderBottom = style({\n prop: 'borderBottom',\n themeKey: 'borders',\n transform: getBorder\n});\nexport var borderLeft = style({\n prop: 'borderLeft',\n themeKey: 'borders',\n transform: getBorder\n});\nexport var borderColor = style({\n prop: 'borderColor',\n themeKey: 'palette'\n});\nexport var borderRadius = style({\n prop: 'borderRadius',\n themeKey: 'shape'\n});\nvar borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderRadius);\nexport default borders;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport PropTypes from 'prop-types';\nimport merge from './merge'; // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n if (process.env.NODE_ENV !== 'production') {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if (_typeof(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return merge(base, extended);\n };\n\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat(_toConsumableArray(styleFunction.filterProps));\n return newStyleFunction;\n}\n\nexport default breakpoints;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport merge from './merge';\n\nfunction compose() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n\n var fn = function fn(props) {\n return styles.reduce(function (acc, style) {\n var output = style(props);\n\n if (output) {\n return merge(acc, output);\n }\n\n return acc;\n }, {});\n }; // Alternative approach that doesn't yield any performance gain.\n // const handlers = styles.reduce((acc, style) => {\n // style.filterProps.forEach(prop => {\n // acc[prop] = style;\n // });\n // return acc;\n // }, {});\n // const fn = props => {\n // return Object.keys(props).reduce((acc, prop) => {\n // if (handlers[prop]) {\n // return merge(acc, handlers[prop](props));\n // }\n // return acc;\n // }, {});\n // };\n\n\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce(function (acc, style) {\n return _extends(acc, style.propTypes);\n }, {}) : {};\n fn.filterProps = styles.reduce(function (acc, style) {\n return acc.concat(style.filterProps);\n }, []);\n return fn;\n}\n\nexport default compose;","import style from './style';\nimport compose from './compose';\nexport var displayPrint = style({\n prop: 'displayPrint',\n cssProperty: false,\n transform: function transform(value) {\n return {\n '@media print': {\n display: value\n }\n };\n }\n});\nexport var displayRaw = style({\n prop: 'display'\n});\nexport var overflow = style({\n prop: 'overflow'\n});\nexport var textOverflow = style({\n prop: 'textOverflow'\n});\nexport var visibility = style({\n prop: 'visibility'\n});\nexport var whiteSpace = style({\n prop: 'whiteSpace'\n});\nexport default compose(displayPrint, displayRaw, overflow, textOverflow, visibility, whiteSpace);","import style from './style';\nimport compose from './compose';\nexport var flexBasis = style({\n prop: 'flexBasis'\n});\nexport var flexDirection = style({\n prop: 'flexDirection'\n});\nexport var flexWrap = style({\n prop: 'flexWrap'\n});\nexport var justifyContent = style({\n prop: 'justifyContent'\n});\nexport var alignItems = style({\n prop: 'alignItems'\n});\nexport var alignContent = style({\n prop: 'alignContent'\n});\nexport var order = style({\n prop: 'order'\n});\nexport var flex = style({\n prop: 'flex'\n});\nexport var flexGrow = style({\n prop: 'flexGrow'\n});\nexport var flexShrink = style({\n prop: 'flexShrink'\n});\nexport var alignSelf = style({\n prop: 'alignSelf'\n});\nexport var justifyItems = style({\n prop: 'justifyItems'\n});\nexport var justifySelf = style({\n prop: 'justifySelf'\n});\nvar flexbox = compose(flexBasis, flexDirection, flexWrap, justifyContent, alignItems, alignContent, order, flex, flexGrow, flexShrink, alignSelf, justifyItems, justifySelf);\nexport default flexbox;","import style from './style';\nimport compose from './compose';\nexport var gridGap = style({\n prop: 'gridGap'\n});\nexport var gridColumnGap = style({\n prop: 'gridColumnGap'\n});\nexport var gridRowGap = style({\n prop: 'gridRowGap'\n});\nexport var gridColumn = style({\n prop: 'gridColumn'\n});\nexport var gridRow = style({\n prop: 'gridRow'\n});\nexport var gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport var gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport var gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport var gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport var gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport var gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport var gridArea = style({\n prop: 'gridArea'\n});\nvar grid = compose(gridGap, gridColumnGap, gridRowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import { deepmerge } from '@material-ui/utils';\n\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n\n });\n}\n\nexport default merge;","import style from './style';\nimport compose from './compose';\nexport var color = style({\n prop: 'color',\n themeKey: 'palette'\n});\nexport var bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette'\n});\nvar palette = compose(color, bgcolor);\nexport default palette;","import style from './style';\nimport compose from './compose';\nexport var position = style({\n prop: 'position'\n});\nexport var zIndex = style({\n prop: 'zIndex',\n themeKey: 'zIndex'\n});\nexport var top = style({\n prop: 'top'\n});\nexport var right = style({\n prop: 'right'\n});\nexport var bottom = style({\n prop: 'bottom'\n});\nexport var left = style({\n prop: 'left'\n});\nexport default compose(position, zIndex, top, right, bottom, left);","import style from './style';\nvar boxShadow = style({\n prop: 'boxShadow',\n themeKey: 'shadows'\n});\nexport default boxShadow;","import style from './style';\nimport compose from './compose';\n\nfunction transform(value) {\n return value <= 1 ? \"\".concat(value * 100, \"%\") : value;\n}\n\nexport var width = style({\n prop: 'width',\n transform: transform\n});\nexport var maxWidth = style({\n prop: 'maxWidth',\n transform: transform\n});\nexport var minWidth = style({\n prop: 'minWidth',\n transform: transform\n});\nexport var height = style({\n prop: 'height',\n transform: transform\n});\nexport var maxHeight = style({\n prop: 'maxHeight',\n transform: transform\n});\nexport var minHeight = style({\n prop: 'minHeight',\n transform: transform\n});\nexport var sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: transform\n});\nexport var sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: transform\n});\nexport var boxSizing = style({\n prop: 'boxSizing'\n});\nvar sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport merge from './merge';\nimport memoize from './memoize';\nvar properties = {\n m: 'margin',\n p: 'padding'\n};\nvar directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nvar aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n}; // memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\n\nvar getCssProperties = memoize(function (prop) {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n\n var _prop$split = prop.split(''),\n _prop$split2 = _slicedToArray(_prop$split, 2),\n a = _prop$split2[0],\n b = _prop$split2[1];\n\n var property = properties[a];\n var direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(function (dir) {\n return property + dir;\n }) : [property + direction];\n});\nvar spacingKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY'];\nexport function createUnarySpacing(theme) {\n var themeSpacing = theme.spacing || 8;\n\n if (typeof themeSpacing === 'number') {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(\"Material-UI: Expected spacing argument to be a number, got \".concat(abs, \".\"));\n }\n }\n\n return themeSpacing * abs;\n };\n }\n\n if (Array.isArray(themeSpacing)) {\n return function (abs) {\n if (process.env.NODE_ENV !== 'production') {\n if (abs > themeSpacing.length - 1) {\n console.error([\"Material-UI: The value provided (\".concat(abs, \") overflows.\"), \"The supported values are: \".concat(JSON.stringify(themeSpacing), \".\"), \"\".concat(abs, \" > \").concat(themeSpacing.length - 1, \", you need to add the missing values.\")].join('\\n'));\n }\n }\n\n return themeSpacing[abs];\n };\n }\n\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error([\"Material-UI: The `theme.spacing` value (\".concat(themeSpacing, \") is invalid.\"), 'It should be a number, an array or a function.'].join('\\n'));\n }\n\n return function () {\n return undefined;\n };\n}\n\nfunction getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n\n var abs = Math.abs(propValue);\n var transformed = transformer(abs);\n\n if (propValue >= 0) {\n return transformed;\n }\n\n if (typeof transformed === 'number') {\n return -transformed;\n }\n\n return \"-\".concat(transformed);\n}\n\nfunction getStyleFromPropValue(cssProperties, transformer) {\n return function (propValue) {\n return cssProperties.reduce(function (acc, cssProperty) {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n };\n}\n\nfunction spacing(props) {\n var theme = props.theme;\n var transformer = createUnarySpacing(theme);\n return Object.keys(props).map(function (prop) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (spacingKeys.indexOf(prop) === -1) {\n return null;\n }\n\n var cssProperties = getCssProperties(prop);\n var styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n var propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n }).reduce(merge, {});\n}\n\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce(function (obj, key) {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n\n return cache[arg];\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\n\nfunction getPath(obj, path) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n return path.split('.').reduce(function (acc, item) {\n return acc && acc[item] ? acc[item] : null;\n }, obj);\n}\n\nfunction style(options) {\n var prop = options.prop,\n _options$cssProperty = options.cssProperty,\n cssProperty = _options$cssProperty === void 0 ? options.prop : _options$cssProperty,\n themeKey = options.themeKey,\n transform = options.transform;\n\n var fn = function fn(props) {\n if (props[prop] == null) {\n return null;\n }\n\n var propValue = props[prop];\n var theme = props.theme;\n var themeMapping = getPath(theme, themeKey) || {};\n\n var styleFromPropValue = function styleFromPropValue(propValueFinal) {\n var value;\n\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || propValueFinal;\n } else {\n value = getPath(themeMapping, propValueFinal) || propValueFinal;\n\n if (transform) {\n value = transform(value);\n }\n }\n\n if (cssProperty === false) {\n return value;\n }\n\n return _defineProperty({}, cssProperty, value);\n };\n\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n\n fn.propTypes = process.env.NODE_ENV !== 'production' ? _defineProperty({}, prop, responsivePropType) : {};\n fn.filterProps = [prop];\n return fn;\n}\n\nexport default style;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@material-ui/utils';\nimport merge from './merge';\n\nfunction omit(input, fields) {\n var output = {};\n Object.keys(input).forEach(function (prop) {\n if (fields.indexOf(prop) === -1) {\n output[prop] = input[prop];\n }\n });\n return output;\n}\n\nvar warnedOnce = false;\n\nfunction styleFunctionSx(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var output = styleFunction(props);\n\n if (props.css) {\n return _extends({}, merge(output, styleFunction(_extends({\n theme: props.theme\n }, props.css))), omit(props.css, [styleFunction.filterProps]));\n }\n\n if (props.sx) {\n return _extends({}, merge(output, styleFunction(_extends({\n theme: props.theme\n }, props.sx))), omit(props.sx, [styleFunction.filterProps]));\n }\n\n return output;\n };\n\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n css: chainPropTypes(PropTypes.object, function (props) {\n if (!warnedOnce && props.css !== undefined) {\n warnedOnce = true;\n return new Error('Material-UI: The `css` prop is deprecated, please use the `sx` prop instead.');\n }\n\n return null;\n }),\n sx: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['css', 'sx'].concat(_toConsumableArray(styleFunction.filterProps));\n return newStyleFunction;\n}\n/**\n *\n * @deprecated\n * The css style function is deprecated. Use the `styleFunctionSx` instead.\n */\n\n\nexport function css(styleFunction) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Material-UI: The `css` function is deprecated. Use the `styleFunctionSx` instead.');\n }\n\n return styleFunctionSx(styleFunction);\n}\nexport default styleFunctionSx;","import style from './style';\nimport compose from './compose';\nexport var fontFamily = style({\n prop: 'fontFamily',\n themeKey: 'typography'\n});\nexport var fontSize = style({\n prop: 'fontSize',\n themeKey: 'typography'\n});\nexport var fontStyle = style({\n prop: 'fontStyle',\n themeKey: 'typography'\n});\nexport var fontWeight = style({\n prop: 'fontWeight',\n themeKey: 'typography'\n});\nexport var letterSpacing = style({\n prop: 'letterSpacing'\n});\nexport var lineHeight = style({\n prop: 'lineHeight'\n});\nexport var textAlign = style({\n prop: 'textAlign'\n});\nvar typography = compose(fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign);\nexport default typography;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function isPlainObject(item) {\n return item && _typeof(item) === 'object' && item.constructor === Object;\n}\nexport default function deepmerge(target, source) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n clone: true\n };\n var output = options.clone ? _extends({}, target) : target;\n\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(function (key) {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n\n if (isPlainObject(source[key]) && key in target) {\n output[key] = deepmerge(target[key], source[key], options);\n } else {\n output[key] = source[key];\n }\n });\n }\n\n return output;\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@material-ui/utils/macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe iff we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n\n /* eslint-disable prefer-template */\n var url = 'https://mui.com/production-error/?code=' + code;\n\n for (var i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n\n return 'Minified Material-UI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","export default function chainPropTypes(propType1, propType2) {\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n return function validate() {\n return propType1.apply(void 0, arguments) || propType2.apply(void 0, arguments);\n };\n}","import PropTypes from 'prop-types';\nimport chainPropTypes from './chainPropTypes';\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction acceptingRef(props, propName, componentName, location, propFullName) {\n var element = props[propName];\n var safePropName = propFullName || propName;\n\n if (element == null) {\n return null;\n }\n\n var warningHint;\n var elementType = element.type;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof elementType === 'function' && !isClassComponent(elementType)) {\n warningHint = 'Did you accidentally use a plain function component for an element instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\nvar elementAcceptingRef = chainPropTypes(PropTypes.element, acceptingRef);\nelementAcceptingRef.isRequired = chainPropTypes(PropTypes.element.isRequired, acceptingRef);\nexport default elementAcceptingRef;","import * as PropTypes from 'prop-types';\nimport chainPropTypes from './chainPropTypes';\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n var warningHint;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element type that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\nexport default chainPropTypes(PropTypes.elementType, elementTypeAcceptingRef);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// This module is based on https://github.com/airbnb/prop-types-exact repository.\n// However, in order to reduce the number of dependencies and to remove some extra safe checks\n// the module was forked.\n// Only exported for test purposes.\nexport var specialProperty = \"exact-prop: \\u200B\";\nexport default function exactProp(propTypes) {\n if (process.env.NODE_ENV === 'production') {\n return propTypes;\n }\n\n return _extends({}, propTypes, _defineProperty({}, specialProperty, function (props) {\n var unsupportedProps = Object.keys(props).filter(function (prop) {\n return !propTypes.hasOwnProperty(prop);\n });\n\n if (unsupportedProps.length > 0) {\n return new Error(\"The following props are not supported: \".concat(unsupportedProps.map(function (prop) {\n return \"`\".concat(prop, \"`\");\n }).join(', '), \". Please remove them.\"));\n }\n\n return null;\n }));\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { ForwardRef, Memo } from 'react-is'; // Simplified polyfill for IE 11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\n\nvar fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n var match = \"\".concat(fn).match(fnNameMatchRegex);\n var name = match && match[1];\n return name || '';\n}\n/**\n * @param {function} Component\n * @param {string} fallback\n * @returns {string | undefined}\n */\n\nfunction getFunctionComponentName(Component) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? \"\".concat(wrapperName, \"(\").concat(functionName, \")\") : wrapperName);\n}\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE 11 support\n *\n * @param {React.ReactType} Component\n * @returns {string | undefined}\n */\n\n\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n\n if (typeof Component === 'string') {\n return Component;\n }\n\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n if (_typeof(Component) === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n\n default:\n return undefined;\n }\n }\n\n return undefined;\n}","export default function HTMLElementType(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n if (propValue && propValue.nodeType !== 1) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an HTMLElement.\");\n }\n\n return null;\n}","/* eslint-disable */\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nexport default typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();","import PropTypes from 'prop-types';\nvar refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\nexport default refType;","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\n\nexport default isBrowser;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\nvar plainObjectConstrurctor = {}.constructor;\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n\n return newStyle;\n}\n\n/**\n * Create a rule instance.\n */\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n\n return null;\n}\n\nvar join = function join(value, by) {\n var result = '';\n\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n\n return result;\n};\n/**\n * Converts JSS array value to a CSS string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\n\n\nvar toCssValue = function toCssValue(value) {\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n\n if (value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n};\n\nfunction getWhitespaceSymbols(options) {\n if (options && options.format === false) {\n return {\n linebreak: '',\n space: ''\n };\n }\n\n return {\n linebreak: '\\n',\n space: ' '\n };\n}\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\n\nfunction indentStr(str, indent) {\n var result = '';\n\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n\n if (options.format === false) {\n indent = -Infinity;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak,\n space = _getWhitespaceSymbols.space;\n\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n\n for (var prop in fallback) {\n var value = fallback[prop];\n\n if (value != null) {\n if (result) result += linebreak;\n result += indentStr(prop + \":\" + space + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n\n if (_value != null) {\n if (result) result += linebreak;\n result += indentStr(_prop + \":\" + space + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += linebreak;\n result += indentStr(_prop2 + \":\" + space + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\" + linebreak + result + linebreak;\n return indentStr(\"\" + selector + space + \"{\" + result, indent) + indentStr('}', indent);\n}\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\nvar escape = (function (str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n});\n\nvar BaseStyleRule =\n/*#__PURE__*/\nfunction () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n\n var _proto = BaseStyleRule.prototype;\n\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n\n var isEmpty = newValue == null || newValue === false;\n var isDefined = name in this.style; // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n\n return this;\n };\n\n return BaseStyleRule;\n}();\nvar StyleRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n\n function StyleRule(key, style, options) {\n var _this;\n\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n var _proto2 = StyleRule.prototype;\n\n /**\n * Apply rule to an element inline.\n */\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n\n if (renderer) {\n var json = this.toJSON();\n\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n ;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n\n return json;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}(BaseStyleRule);\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n\n return new StyleRule(key, style, options);\n }\n};\n\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule =\n/*#__PURE__*/\nfunction () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.isProcessed = false;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = ConditionalRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n\n if (options.children === false) {\n return this.query + \" {}\";\n }\n\n var children = this.rules.toString(options);\n return children ? this.query + \" {\" + linebreak + children + linebreak + \"}\" : '';\n };\n\n return ConditionalRule;\n}();\nvar keyRegExp = /@container|@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\n\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule =\n/*#__PURE__*/\nfunction () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.isProcessed = false;\n var nameMatch = key.match(nameRegExp);\n\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = KeyframesRule.prototype;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n\n var children = this.rules.toString(options);\n if (children) children = \"\" + linebreak + children + linebreak;\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n\n return KeyframesRule;\n}();\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\n\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\n\nvar pluginKeyframesRule = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n\n if (!sheet) {\n return val;\n }\n\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n default:\n return val;\n }\n }\n};\n\nvar KeyframeRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n\n function KeyframeRule() {\n return _BaseStyleRule.apply(this, arguments) || this;\n }\n\n var _proto = KeyframeRule.prototype;\n\n /**\n * Generates a CSS string.\n */\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n\n return KeyframeRule;\n}(BaseStyleRule);\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n\n return null;\n }\n};\n\nvar FontFaceRule =\n/*#__PURE__*/\nfunction () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = FontFaceRule.prototype;\n\n _proto.toString = function toString(options) {\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (Array.isArray(this.style)) {\n var str = '';\n\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += linebreak;\n }\n\n return str;\n }\n\n return toCss(this.at, this.style, options);\n };\n\n return FontFaceRule;\n}();\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\n\nvar ViewportRule =\n/*#__PURE__*/\nfunction () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = ViewportRule.prototype;\n\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n\n return ViewportRule;\n}();\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\n\nvar SimpleRule =\n/*#__PURE__*/\nfunction () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.isProcessed = false;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n var _proto = SimpleRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return this.key + \" \" + this.value + \";\";\n };\n\n return SimpleRule;\n}();\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\n\nvar plugins = [pluginStyleRule, pluginConditionalRule, pluginKeyframesRule, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\n\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n\n};\n\nvar RuleList =\n/*#__PURE__*/\nfunction () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n var _proto = RuleList.prototype;\n\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n\n var key = name;\n\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n\n this.raw[key] = decl;\n\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Replace rule.\n * Create a new rule and remove old one instead of overwriting\n * because we want to invoke onCreateRule hook to make plugins work.\n */\n ;\n\n _proto.replace = function replace(name, decl, ruleOptions) {\n var oldRule = this.get(name);\n var oldIndex = this.index.indexOf(oldRule);\n\n if (oldRule) {\n this.remove(oldRule);\n }\n\n var options = ruleOptions;\n if (oldIndex !== -1) options = _extends({}, ruleOptions, {\n index: oldIndex\n });\n return this.add(name, decl, options);\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.get = function get(nameOrSelector) {\n return this.map[nameOrSelector];\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n ;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */\n ;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */\n ;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0];\n data = arguments.length <= 1 ? undefined : arguments[1];\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0];\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n\n if (name) {\n this.updateOne(this.get(name), data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n\n var style = rule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== rule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props.\n\n for (var prop in rule.style) {\n var nextValue = rule.style[prop];\n var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n rule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n\n for (var _prop in style) {\n var _nextValue = rule.style[_prop];\n var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n rule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += linebreak;\n str += css;\n }\n\n return str;\n };\n\n return RuleList;\n}();\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(styles, options) {\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n\n this.rules = new RuleList(this.options);\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n\n var _proto = StyleSheet.prototype;\n\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n ;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return rule;\n }\n /**\n * Replace a rule in the current stylesheet.\n */\n ;\n\n _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) {\n var oldRule = this.rules.get(nameOrSelector);\n if (!oldRule) return this.addRule(nameOrSelector, decl, options);\n var newRule = this.rules.replace(nameOrSelector, decl, options);\n\n if (newRule) {\n this.options.jss.plugins.onProcessRule(newRule);\n }\n\n if (this.attached) {\n if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (this.renderer) {\n if (!newRule) {\n this.renderer.deleteRule(oldRule);\n } else if (oldRule.renderable) {\n this.renderer.replaceRule(oldRule.renderable, newRule);\n }\n }\n\n return newRule;\n } // We can't replace rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return newRule;\n }\n /**\n * Insert rule into the StyleSheet\n */\n ;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n ;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n\n return added;\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.getRule = function getRule(nameOrSelector) {\n return this.rules.get(nameOrSelector);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n ;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n\n if (!rule || // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */\n ;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var _this$rules;\n\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n\n return this;\n }\n /**\n * Updates a single rule.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return StyleSheet;\n}();\n\nvar PluginsRegistry =\n/*#__PURE__*/\nfunction () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = {};\n }\n\n var _proto = PluginsRegistry.prototype;\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */\n ;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */\n ;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */\n ;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */\n ;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */\n ;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n\n return processedValue;\n }\n /**\n * Register a plugin.\n */\n ;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n\n return PluginsRegistry;\n}();\n\n/**\n * Sheets registry to access all instances in one place.\n */\n\nvar SheetsRegistry =\n/*#__PURE__*/\nfunction () {\n function SheetsRegistry() {\n this.registry = [];\n }\n\n var _proto = SheetsRegistry.prototype;\n\n /**\n * Register a Style Sheet.\n */\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */\n ;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */\n ;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */\n ;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n var css = '';\n\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n\n if (css) css += linebreak;\n css += sheet.toString(options);\n }\n\n return css;\n };\n\n _createClass(SheetsRegistry, [{\n key: \"index\",\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\nvar sheets = new SheetsRegistry();\n\n/* eslint-disable */\n\n/**\n * Now that `globalThis` is available on most platforms\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)\n * we check for `globalThis` first. `globalThis` is necessary for jss\n * to run in Agoric's secure version of JavaScript (SES). Under SES,\n * `globalThis` exists, but `window`, `self`, and `Function('return\n * this')()` are all undefined for security reasons.\n *\n * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\nvar globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();\n\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis$1[ns]++;\n\nvar maxRules = 1e10;\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ruleCounter = 0;\n\n var generateId = function generateId(rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n\n var jssId = '';\n var prefix = '';\n\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n\n return generateId;\n};\n\n/**\n * Cache the value from the first time a function is called.\n */\n\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n/**\n * Get a style property value.\n */\n\n\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n/**\n * Set a style property.\n */\n\n\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = toCssValue(value);\n } // Support CSSTOM.\n\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n var indexOfImportantFlag = cssValue ? cssValue.indexOf('!important') : -1;\n var cssValueWithoutImportantFlag = indexOfImportantFlag > -1 ? cssValue.substr(0, indexOfImportantFlag - 1) : cssValue;\n cssRule.style.setProperty(prop, cssValueWithoutImportantFlag, indexOfImportantFlag > -1 ? 'important' : '');\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n\n return true;\n};\n/**\n * Remove a style property.\n */\n\n\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n/**\n * Set the selector.\n */\n\n\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\n\nfunction findCommentNode(text) {\n var head = getHead();\n\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n\n return null;\n}\n/**\n * Find a node before which we can insert the sheet.\n */\n\n\nfunction findPrevNode(options) {\n var registry = sheets.registry;\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n\n sheet = findHighestSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n container.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n container.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n\n return container.cssRules[index];\n};\n\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n\n return index;\n};\n\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\n\nvar DomRenderer =\n/*#__PURE__*/\nfunction () {\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.hasInsertedRules = false;\n this.cssRules = [];\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) sheets.add(sheet);\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n\n var _proto = DomRenderer.prototype;\n\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */\n ;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */\n ;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */\n ;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n\n if (latestNativeParent === false) {\n return false;\n }\n\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n\n if (nativeRule === false) {\n return false;\n }\n\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules.splice(index, 0, cssRule);\n }\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */\n ;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n ;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */\n ;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n\n return DomRenderer;\n}();\n\nvar instanceCounter = 0;\n\nvar Jss =\n/*#__PURE__*/\nfunction () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.10.0\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n\n var _proto = Jss.prototype;\n\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */\n ;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n index = _options.index;\n\n if (typeof index !== 'number') {\n index = sheets.index === 0 ? 0 : sheets.index + 1;\n }\n\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n ;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n sheets.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */\n ;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n\n if (options === void 0) {\n options = {};\n }\n\n // Enable rule without name for inline styles.\n if (typeof name === 'object') {\n return this.createRule(undefined, name, style);\n }\n\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n\n var rule = createRule(name, style, ruleOptions);\n\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n ;\n\n _proto.use = function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n\n return Jss;\n}();\n\nvar createJss = function createJss(options) {\n return new Jss(options);\n};\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n * Used in react-jss.\n */\n\nvar SheetsManager =\n/*#__PURE__*/\nfunction () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n\n var _proto = SheetsManager.prototype;\n\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n\n entry.refs++;\n return entry.sheet;\n }\n\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\n/**\n* Export a constant indicating if this browser has CSSTOM support.\n* https://developers.google.com/web/updates/2018/03/cssom\n*/\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\nvar index = createJss();\n\nexport default index;\nexport { RuleList, SheetsManager, SheetsRegistry, createJss as create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, sheets, toCssValue };\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prefix || defaultDelimiter\n var pattern = capture || group\n var prevText = prefix || (typeof tokens[tokens.length - 1] === 'string' ? tokens[tokens.length - 1] : '')\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : restrictBacktrack(delimiter, prevText))\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\nfunction restrictBacktrack(delimiter, prevText) {\n if (!prevText || prevText.indexOf(delimiter) > -1) {\n return '[^' + escapeString(delimiter) + ']+?'\n }\n\n return escapeString(prevText) + '|(?:(?!' + escapeString(prevText) + ')[^' + escapeString(delimiter) + '])+?'\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import React from \"react\";\nexport default React.createContext();\n","export default {\n getStatus,\n getStatusStyle,\n buildStyleGetters,\n getMultiAnchor,\n getClosestPoint,\n normalizeGetter,\n isValidPoint,\n getAxisByAxisID,\n getAxisIndexByAxisID,\n sumObjBy,\n translateX,\n translateY,\n translate,\n identity,\n shallowDiff\n};\n\nfunction getStatus(item, focused) {\n const status = {\n focused: false,\n otherFocused: false\n };\n\n if (!focused) {\n return status;\n }\n\n // If the item is a datum\n if (typeof item.primary !== \"undefined\") {\n const length = focused.group.length;\n for (let i = 0; i < length; i++) {\n if (\n focused.group[i].seriesID === item.series.id &&\n focused.group[i].index === item.index\n ) {\n status.focused = true;\n break;\n }\n }\n status.otherFocused = !status.focused;\n // For series\n } else if (focused.series) {\n status.focused = focused.series.id === item.id;\n status.otherFocused = !status.focused;\n }\n\n return status;\n}\n\nfunction getStatusStyle(item, status, decorator, defaults) {\n if (item.series) {\n defaults = {\n ...defaults,\n ...item.series.style\n };\n }\n\n return materializeStyles(\n decorator({\n ...item,\n ...status\n }),\n defaults\n );\n}\n\nfunction buildStyleGetters(series, defaults) {\n series.getStatusStyle = (focused, decorator) => {\n const status = getStatus(series, focused);\n series.style = getStatusStyle(series, status, decorator, defaults);\n return series.style;\n };\n\n // We also need to decorate each datum in the same fashion\n series.datums.forEach(datum => {\n datum.getStatusStyle = (focused, decorator) => {\n const status = getStatus(datum, focused);\n datum.style = getStatusStyle(datum, status, decorator, defaults);\n return datum.style;\n };\n });\n}\n\nfunction getMultiAnchor({ anchor, points, gridWidth, gridHeight }) {\n const invalid = () => {\n throw new Error(\n `${JSON.stringify(\n anchor\n )} is not a valid tooltip anchor option. You should use a single anchor option or 2 non-conflicting anchor options.`\n );\n };\n\n let x;\n let y;\n\n let xMin = points[0].anchor.x;\n let xMax = points[0].anchor.x;\n let yMin = points[0].anchor.y;\n let yMax = points[0].anchor.y;\n\n points.forEach(point => {\n xMin = Math.min(point.anchor.x, xMin);\n xMax = Math.max(point.anchor.x, xMax);\n yMin = Math.min(point.anchor.y, yMin);\n yMax = Math.max(point.anchor.y, yMax);\n });\n\n if (anchor.length > 2) {\n return invalid();\n }\n\n anchor = anchor.sort(a =>\n a.includes(\"center\") || a.includes(\"Center\") ? 1 : -1\n );\n\n for (let i = 0; i < anchor.length; i++) {\n const anchorPart = anchor[i];\n\n // Horizontal Positioning\n if ([\"left\", \"right\", \"gridLeft\", \"gridRight\"].includes(anchorPart)) {\n if (typeof x !== \"undefined\") {\n invalid();\n }\n if (anchorPart === \"left\") {\n x = xMin;\n } else if (anchorPart === \"right\") {\n x = xMax;\n } else if (anchorPart === \"gridLeft\") {\n x = 0;\n } else if (anchorPart === \"gridRight\") {\n x = gridWidth;\n } else {\n invalid();\n }\n }\n\n // Vertical Positioning\n if ([\"top\", \"bottom\", \"gridTop\", \"gridBottom\"].includes(anchorPart)) {\n if (typeof y !== \"undefined\") {\n invalid();\n }\n if (anchorPart === \"top\") {\n y = yMin;\n } else if (anchorPart === \"bottom\") {\n y = yMax;\n } else if (anchorPart === \"gridTop\") {\n y = 0;\n } else if (anchorPart === \"gridBottom\") {\n y = gridHeight;\n } else {\n invalid();\n }\n }\n\n // Center Positioning\n if ([\"center\", \"gridCenter\"].includes(anchorPart)) {\n if (anchorPart === \"center\") {\n if (typeof y === \"undefined\") {\n y = (yMin + yMax) / 2;\n }\n if (typeof x === \"undefined\") {\n x = (xMin + xMax) / 2;\n }\n } else if (anchorPart === \"gridCenter\") {\n if (typeof y === \"undefined\") {\n y = gridHeight / 2;\n }\n if (typeof x === \"undefined\") {\n x = gridWidth / 2;\n }\n } else {\n invalid();\n }\n }\n\n // Auto center the remainder if there is only one anchorPart listed\n if (anchor.length === 1) {\n if (anchor[0].includes(\"grid\")) {\n anchor.push(\"gridCenter\");\n } else {\n anchor.push(\"center\");\n }\n }\n }\n\n return { x, y };\n}\n\nfunction getClosestPoint(position, datums) {\n if (!datums || !position || !datums.length) {\n return;\n }\n let closestDistance = Infinity;\n let closestDatum = datums[0];\n datums.forEach(datum => {\n datum.boundingPoints.forEach(pointerPoint => {\n const distance = Math.sqrt(\n (pointerPoint.x - position.x) ** 2 + (pointerPoint.y - position.y) ** 2\n );\n if (distance < closestDistance) {\n closestDistance = distance;\n closestDatum = datum;\n }\n });\n });\n return closestDatum;\n}\n\nfunction normalizeColor(style, defaults) {\n return {\n ...style,\n stroke: style.stroke || style.color || defaults.stroke || defaults.color,\n fill: style.fill || style.color || defaults.fill || defaults.color\n };\n}\n\nconst elementTypes = [\"area\", \"line\", \"rectangle\", \"circle\"];\nfunction materializeStyles(style = {}, defaults = {}) {\n style = normalizeColor(style, defaults);\n for (let i = 0; i < elementTypes.length; i++) {\n const type = elementTypes[i];\n style[type] = style[type] ? materializeStyles(style[type], defaults) : {};\n }\n return style;\n}\n\nfunction normalizeGetter(getter) {\n if (typeof getter === \"function\") {\n return getter;\n }\n return d => get(d, getter);\n}\n\nfunction get(obj, path, def) {\n if (typeof obj === \"function\") {\n try {\n return obj();\n } catch (e) {\n return path;\n }\n }\n if (!path) {\n return obj;\n }\n const pathObj = makePathArray(path);\n let val;\n try {\n val = pathObj.reduce((current, pathPart) => current[pathPart], obj);\n } catch (e) {\n // do nothing\n }\n return typeof val !== \"undefined\" ? val : def;\n}\n\nfunction makePathArray(obj) {\n return flattenDeep(obj)\n .join(\".\")\n .replace(\"[\", \".\")\n .replace(\"]\", \"\")\n .split(\".\");\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr);\n } else {\n for (let i = 0; i < arr.length; i++) {\n flattenDeep(arr[i], newArr);\n }\n }\n return newArr;\n}\n\nfunction isValidPoint(d) {\n if (d === null) {\n return false;\n }\n if (typeof d === \"undefined\") {\n return false;\n }\n if (typeof d === \"string\" && d === \"null\") {\n return false;\n }\n return true;\n}\n\nfunction getAxisByAxisID(axes, AxisID) {\n return axes.find(d => d.id === AxisID) || axes[0];\n}\n\nfunction getAxisIndexByAxisID(axes, AxisID) {\n const index = axes.findIndex(d => d.id === AxisID);\n return index > -1 ? index : 0;\n}\n\nfunction sumObjBy(obj, str) {\n return Object.keys(obj)\n .map(key => obj[key])\n .reduce((prev, curr) => prev + curr[str] || 0, 0);\n}\n\nfunction translateX(x) {\n return `translate3d(${Math.round(x)}px, 0, 0)`;\n}\n\nfunction translateY(y) {\n return `translate3d(0, ${Math.round(y)}px, 0)`;\n}\n\nfunction translate(x, y) {\n return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;\n}\n\nfunction identity(d) {\n return d;\n}\n\nfunction shallowDiff(a, b) {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) {\n return true;\n }\n\n return Object.keys(a).some(key => {\n if (a[key] !== b[key]) {\n return true;\n }\n });\n}\n","var props = ['bottom', 'height', 'left', 'right', 'top', 'width'];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes =\n/*#__PURE__*/\nnew Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\n\nexport default observeRect;\n//# sourceMappingURL=observe-rect.esm.js.map\n","import React from 'react'\n\nexport default typeof window !== 'undefined'\n ? React.useLayoutEffect\n : React.useEffect\n","import React from 'react'\n\nimport observeRect from '@reach/observe-rect'\n\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'\n\nexport default function useRect(nodeRef) {\n const [element, setElement] = React.useState(nodeRef.current?.parentElement)\n const [rect, setRect] = React.useState({ width: 0, height: 0 })\n const initialRectSet = React.useRef(false)\n\n useIsomorphicLayoutEffect(() => {\n if (nodeRef.current?.parentElement !== element) {\n setElement(nodeRef.current?.parentElement)\n }\n })\n\n useIsomorphicLayoutEffect(() => {\n if (element && !initialRectSet.current) {\n initialRectSet.current = true\n setRect(element.getBoundingClientRect())\n }\n }, [element])\n\n React.useEffect(() => {\n if (!element) {\n return\n }\n\n const observer = observeRect(element, setRect)\n\n observer.observe()\n\n return () => {\n observer.unobserve()\n }\n }, [element])\n\n return { width: rect.width, height: rect.height }\n}\n","import React from \"react\";\n\nexport default function useLatestRef(latest) {\n const ref = React.useRef();\n ref.current = latest;\n return ref;\n}\n","import React from \"react\";\n\nexport default function useLatest(obj, when = true) {\n const ref = React.useRef();\n if (when) {\n ref.current = obj;\n }\n return ref.current;\n}\n","import React from \"react\";\n\nexport default function usePrevious(val) {\n const ref = React.useRef();\n\n React.useEffect(\n () => {\n ref.current = val;\n },\n [val]\n );\n\n return ref.current;\n}\n","var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf =\n root[vendors[i] + 'Cancel' + suffix] ||\n root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60\n\n raf = function(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last)\n } catch (e) {\n setTimeout(function() {\n throw e\n }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false,\n })\n return id\n }\n\n caf = function(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nexport default function Raf(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\n\nRaf.cancel = function() {\n caf.apply(root, arguments)\n}\n\nRaf.polyfill = function(object) {\n if (!object) {\n object = root\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n strokeWidth: 0,\n fill: \"#333\",\n opacity: 1,\n rx: 0,\n ry: 0\n};\n\nexport default function Rectangle ({ style, opacity = 1, x1, y1, x2, y2, ...rest }) {\n const resolvedStyle = {\n ...defaultStyle,\n ...style\n };\n\n const xStart = Math.min(x1, x2);\n const yStart = Math.min(y1, y2);\n const xEnd = Math.max(x1, x2);\n const yEnd = Math.max(y1, y2);\n\n const height = Math.max(yEnd - yStart, 0);\n const width = Math.max(xEnd - xStart, 0);\n\n return (\n \n );\n}\n","function t(t){return function(){return t}}function n(t){return t[0]}function e(t){return t[1]}function i(){this._=null}function r(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function o(t,n){var e=n,i=n.R,r=e.U;r?r.L===e?r.L=i:r.R=i:t._=i,i.U=r,e.U=i,e.R=i.L,e.R&&(e.R.U=e),i.L=e}function s(t,n){var e=n,i=n.L,r=e.U;r?r.L===e?r.L=i:r.R=i:t._=i,i.U=r,e.U=i,e.L=i.R,e.L&&(e.L.U=e),i.R=e}function u(t){for(;t.L;)t=t.L;return t}function a(t,n,e,i){var r=[null,null],o=A.push(r)-1;return r.left=t,r.right=n,e&&c(r,t,n,e),i&&c(r,n,t,i),D[t.index].halfedges.push(o),D[n.index].halfedges.push(o),r}function h(t,n,e){var i=[n,e];return i.left=t,i}function c(t,n,e,i){t[0]||t[1]?t.left===e?t[1]=i:t[0]=i:(t[0]=i,t.left=n,t.right=e)}function l(t,n,e,i,r){var o,s=t[0],u=t[1],a=s[0],h=s[1],c=0,l=1,f=u[0]-a,_=u[1]-h;if(o=n-a,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>l)return;o>c&&(c=o)}if(o=i-a,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>c&&(c=o)}else if(f>0){if(o0)){if(o/=_,_<0){if(o0){if(o>l)return;o>c&&(c=o)}if(o=r-h,_||!(o<0)){if(o/=_,_<0){if(o>l)return;o>c&&(c=o)}else if(_>0){if(o0||l<1)||(c>0&&(t[0]=[a+c*f,h+c*_]),l<1&&(t[1]=[a+l*f,h+l*_]),!0)}}}}}function f(t,n,e,i,r){var o=t[1];if(o)return!0;var s,u,a=t[0],h=t.left,c=t.right,l=h[0],f=h[1],_=c[0],y=c[1],g=(l+_)/2,p=(f+y)/2;if(y===f){if(g=i)return;if(l>_){if(a){if(a[1]>=r)return}else a=[g,e];o=[g,r]}else{if(a){if(a[1]1)if(l>_){if(a){if(a[1]>=r)return}else a=[(e-u)/s,e];o=[(r-u)/s,r]}else{if(a){if(a[1]=i)return}else a=[n,s*n+u];o=[i,s*i+u]}else{if(a){if(a[0]=-E)){var _=a*a+h*h,y=c*c+l*l,g=(l*_-h*y)/f,v=(a*y-c*_)/f,m=x.pop()||new d;m.arc=t,m.site=r,m.x=g+s,m.y=(m.cy=v+u)+Math.sqrt(g*g+v*v),t.circle=m;for(var M=null,w=L._;w;)if(m.yR)u=u.L;else{if(!((r=o-U(u,s))>R)){i>-R?(n=u.P,e=u):r>-R?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}!function(t){D[t.index]={site:t,halfedges:[]}}(t);var h=b(t);if(S.insert(n,h),n||e){if(n===e)return m(n),e=b(n.site),S.insert(h,e),h.edge=e.edge=a(n.site,h.site),v(n),void v(e);if(e){m(n),m(e);var l=n.site,f=l[0],_=l[1],y=t[0]-f,g=t[1]-_,p=e.site,x=p[0]-f,d=p[1]-_,M=2*(y*d-g*x),w=y*y+g*g,T=x*x+d*d,C=[(d*w-g*T)/M+f,(y*T-x*w)/M+_];c(e.edge,l,p,C),h.edge=a(l,t,null,C),e.edge=a(t,p,null,C),v(n),v(e)}else h.edge=a(n.site,h.site)}}function k(t,n){var e=t.site,i=e[0],r=e[1],o=r-n;if(!o)return i;var s=t.P;if(!s)return-1/0;var u=(e=s.site)[0],a=e[1],h=a-n;if(!h)return u;var c=u-i,l=1/o-1/h,f=c/h;return l?(-f+Math.sqrt(f*f-2*l*(c*c/(-2*h)-a+h/2+r-o/2)))/l+i:(i+u)/2}function U(t,n){var e=t.N;if(e)return k(e,n);var i=t.site;return i[1]===n?i[0]:1/0}var S,D,L,A,R=1e-6,E=1e-12;function P(t,n){return n[1]-t[1]||n[0]-t[0]}function F(t,n){var e,r,o,s=t.sort(P).pop();for(A=[],D=new Array(t.length),S=new i,L=new i;;)if(o=p,s&&(!o||s[1]R||Math.abs(r[0][1]-r[1][1])>R)||delete A[o]}(u,a,c,x),function(t,n,e,i){var r,o,s,u,a,c,l,f,_,p,x,d,v=D.length,m=!0;for(r=0;rR||Math.abs(d-_)>R)&&(a.splice(u,0,A.push(h(s,p,Math.abs(x-t)R?[t,Math.abs(f-t)R?[Math.abs(_-i)R?[e,Math.abs(f-e)R?[Math.abs(_-n)n?1:t>=n?0:NaN}function q(t){var n;return 1===t.length&&(n=t,t=function(t,e){return H(n(t),e)}),{left:function(n,e,i,r){for(null==i&&(i=0),null==r&&(r=n.length);i>>1;t(n[o],e)<0?i=o+1:r=o}return i},right:function(n,e,i,r){for(null==i&&(i=0),null==r&&(r=n.length);i>>1;t(n[o],e)>0?r=o:i=o+1}return i}}}F.prototype={constructor:F,polygons:function(){var t=this.edges;return this.cells.map((function(n){var e=n.halfedges.map((function(e){return y(n,t[e])}));return e.data=n.site.data,e}))},triangles:function(){var t=[],n=this.edges;return this.cells.forEach((function(e,i){if(o=(r=e.halfedges).length)for(var r,o,s,u,a,h,c=e.site,l=-1,f=n[r[o-1]],_=f.left===c?f.right:f.left;++l=u)return null;var a=t-r.site[0],h=n-r.site[1],c=a*a+h*h;do{r=o.cells[i=s],s=null,r.halfedges.forEach((function(e){var i=o.edges[e],u=i.left;if(u!==r.site&&u||(u=i.right)){var a=t-u[0],h=n-u[1],l=a*a+h*h;l0)return[t];if((i=n0)for(t=Math.ceil(t/s),n=Math.floor(n/s),o=new Array(r=Math.ceil(n-t+1));++u=0?(o>=O?10:o>=Z?5:o>=I?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=O?10:o>=Z?5:o>=I?2:1)}function B(t,n,e){var i=Math.abs(n-t)/Math.max(0,e),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),o=i/r;return o>=O?r*=10:o>=Z?r*=5:o>=I&&(r*=2),n>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?new vt(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?new vt(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=ot.exec(t))?new vt(n[1],n[2],n[3],1):(n=st.exec(t))?new vt(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=ut.exec(t))?pt(n[1],n[2],n[3],n[4]):(n=at.exec(t))?pt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=ht.exec(t))?bt(n[1],n[2]/100,n[3]/100,1):(n=ct.exec(t))?bt(n[1],n[2]/100,n[3]/100,n[4]):lt.hasOwnProperty(t)?gt(lt[t]):\"transparent\"===t?new vt(NaN,NaN,NaN,0):null}function gt(t){return new vt(t>>16&255,t>>8&255,255&t,1)}function pt(t,n,e,i){return i<=0&&(t=n=e=NaN),new vt(t,n,e,i)}function xt(t){return t instanceof tt||(t=yt(t)),t?new vt((t=t.rgb()).r,t.g,t.b,t.opacity):new vt}function dt(t,n,e,i){return 1===arguments.length?xt(t):new vt(t,n,e,null==i?1:i)}function vt(t,n,e,i){this.r=+t,this.g=+n,this.b=+e,this.opacity=+i}function mt(){return\"#\"+wt(this.r)+wt(this.g)+wt(this.b)}function Mt(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}function wt(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function bt(t,n,e,i){return i<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Ct(t,n,e,i)}function Tt(t){if(t instanceof Ct)return new Ct(t.h,t.s,t.l,t.opacity);if(t instanceof tt||(t=yt(t)),!t)return new Ct;if(t instanceof Ct)return t;var n=(t=t.rgb()).r/255,e=t.g/255,i=t.b/255,r=Math.min(n,e,i),o=Math.max(n,e,i),s=NaN,u=o-r,a=(o+r)/2;return u?(s=n===o?(e-i)/u+6*(e0&&a<1?0:s,new Ct(s,u,a,t.opacity)}function Ct(t,n,e,i){this.h=+t,this.s=+n,this.l=+e,this.opacity=+i}function Nt(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function kt(t){return function(){return t}}function Ut(t){return 1==(t=+t)?St:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(i){return Math.pow(t+i*n,e)}}(n,e,t):kt(isNaN(n)?e:n)}}function St(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):kt(isNaN(t)?n:t)}G(tt,yt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ft,formatHex:ft,formatHsl:function(){return Tt(this).formatHsl()},formatRgb:_t,toString:_t}),G(vt,dt,K(tt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new vt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new vt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:mt,formatHex:mt,formatRgb:Mt,toString:Mt})),G(Ct,(function(t,n,e,i){return 1===arguments.length?Tt(t):new Ct(t,n,e,null==i?1:i)}),K(tt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ct(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ct(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,i=e+(e<.5?e:1-e)*n,r=2*e-i;return new vt(Nt(t>=240?t-240:t+120,r,i),Nt(t,r,i),Nt(t<120?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===t?\")\":\", \"+t+\")\")}}));var Dt=function t(n){var e=Ut(n);function i(t,n){var i=e((t=dt(t)).r,(n=dt(n)).r),r=e(t.g,n.g),o=e(t.b,n.b),s=St(t.opacity,n.opacity);return function(n){return t.r=i(n),t.g=r(n),t.b=o(n),t.opacity=s(n),t+\"\"}}return i.gamma=t,i}(1);function Lt(t,n){n||(n=[]);var e,i=t?Math.min(n.length,t.length):0,r=n.slice();return function(o){for(e=0;eo&&(r=n.slice(o,r),u[s]?u[s]+=r:u[++s]=r),(e=e[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,a.push({i:s,x:Et(e,i)})),o=Yt.lastIndex;return on&&(e=t,t=n,n=e),h=function(e){return Math.max(t,Math.min(n,e))}),i=a>2?Vt:$t,r=o=null,l}function l(n){return isNaN(n=+n)?e:(r||(r=i(s.map(t),u,a)))(t(h(n)))}return l.invert=function(e){return h(n((o||(o=i(u,s.map(t),Et)))(e)))},l.domain=function(t){return arguments.length?(s=Array.from(t,jt),c()):s.slice()},l.range=function(t){return arguments.length?(u=Array.from(t),c()):u.slice()},l.rangeRound=function(t){return u=Array.from(t),a=zt,c()},l.clamp=function(t){return arguments.length?(h=!!t||Zt,c()):h!==Zt},l.interpolate=function(t){return arguments.length?(a=t,c()):a},l.unknown=function(t){return arguments.length?(e=t,l):e},function(e,i){return t=e,n=i,c()}}function Wt(){return Xt()(Zt,Zt)}function Qt(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf(\"e\"))<0)return null;var e,i=t.slice(0,e);return[i.length>1?i[0]+i.slice(2):i,+t.slice(e+1)]}function Jt(t){return(t=Qt(Math.abs(t)))?t[1]:NaN}var Gt,Kt=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function tn(t){if(!(n=Kt.exec(t)))throw new Error(\"invalid format: \"+t);var n;return new nn({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function nn(t){this.fill=void 0===t.fill?\" \":t.fill+\"\",this.align=void 0===t.align?\">\":t.align+\"\",this.sign=void 0===t.sign?\"-\":t.sign+\"\",this.symbol=void 0===t.symbol?\"\":t.symbol+\"\",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?\"\":t.type+\"\"}function en(t,n){var e=Qt(t,n);if(!e)return t+\"\";var i=e[0],r=e[1];return r<0?\"0.\"+new Array(-r).join(\"0\")+i:i.length>r+1?i.slice(0,r+1)+\".\"+i.slice(r+1):i+new Array(r-i.length+2).join(\"0\")}tn.prototype=nn.prototype,nn.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};var rn={\"%\":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+\"\"},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return en(100*t,n)},r:en,s:function(t,n){var e=Qt(t,n);if(!e)return t+\"\";var i=e[0],r=e[1],o=r-(Gt=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,s=i.length;return o===s?i:o>s?i+new Array(o-s+1).join(\"0\"):o>0?i.slice(0,o)+\".\"+i.slice(o):\"0.\"+new Array(1-o).join(\"0\")+Qt(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function on(t){return t}var sn,un,an,hn=Array.prototype.map,cn=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function ln(t){var n,e,i=void 0===t.grouping||void 0===t.thousands?on:(n=hn.call(t.grouping,Number),e=t.thousands+\"\",function(t,i){for(var r=t.length,o=[],s=0,u=n[0],a=0;r>0&&u>0&&(a+u+1>i&&(u=Math.max(1,i-a)),o.push(t.substring(r-=u,r+u)),!((a+=u+1)>i));)u=n[s=(s+1)%n.length];return o.reverse().join(e)}),r=void 0===t.currency?\"\":t.currency[0]+\"\",o=void 0===t.currency?\"\":t.currency[1]+\"\",s=void 0===t.decimal?\".\":t.decimal+\"\",u=void 0===t.numerals?on:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(hn.call(t.numerals,String)),a=void 0===t.percent?\"%\":t.percent+\"\",h=void 0===t.minus?\"-\":t.minus+\"\",c=void 0===t.nan?\"NaN\":t.nan+\"\";function l(t){var n=(t=tn(t)).fill,e=t.align,l=t.sign,f=t.symbol,_=t.zero,y=t.width,g=t.comma,p=t.precision,x=t.trim,d=t.type;\"n\"===d?(g=!0,d=\"g\"):rn[d]||(void 0===p&&(p=12),x=!0,d=\"g\"),(_||\"0\"===n&&\"=\"===e)&&(_=!0,n=\"0\",e=\"=\");var v=\"$\"===f?r:\"#\"===f&&/[boxX]/.test(d)?\"0\"+d.toLowerCase():\"\",m=\"$\"===f?o:/[%p]/.test(d)?a:\"\",M=rn[d],w=/[defgprs%]/.test(d);function b(t){var r,o,a,f=v,b=m;if(\"c\"===d)b=M(t)+b,t=\"\";else{var T=(t=+t)<0;if(t=isNaN(t)?c:M(Math.abs(t),p),x&&(t=function(t){t:for(var n,e=t.length,i=1,r=-1;i0){if(!+t[i])break t;r=0}}return r>0?t.slice(0,r)+t.slice(n+1):t}(t)),T&&0==+t&&(T=!1),f=(T?\"(\"===l?l:h:\"-\"===l||\"(\"===l?\"\":l)+f,b=(\"s\"===d?cn[8+Gt/3]:\"\")+b+(T&&\"(\"===l?\")\":\"\"),w)for(r=-1,o=t.length;++r(a=t.charCodeAt(r))||a>57){b=(46===a?s+t.slice(r+1):t.slice(r))+b,t=t.slice(0,r);break}}g&&!_&&(t=i(t,1/0));var C=f.length+t.length+b.length,N=C>1)+f+t+b+N.slice(C);break;default:t=N+f+t+b}return u(t)}return p=void 0===p?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,p)):Math.max(0,Math.min(20,p)),b.toString=function(){return t+\"\"},b}return{format:l,formatPrefix:function(t,n){var e=l(((t=tn(t)).type=\"f\",t)),i=3*Math.max(-8,Math.min(8,Math.floor(Jt(n)/3))),r=Math.pow(10,-i),o=cn[8+i/3];return function(t){return e(r*t)+o}}}}function fn(t,n,e,i){var r,o=B(t,n,e);switch((i=tn(null==i?\",f\":i)).type){case\"s\":var s=Math.max(Math.abs(t),Math.abs(n));return null!=i.precision||isNaN(r=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Jt(n)/3)))-Jt(Math.abs(t)))}(o,s))||(i.precision=r),an(i,s);case\"\":case\"e\":case\"g\":case\"p\":case\"r\":null!=i.precision||isNaN(r=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Jt(n)-Jt(t))+1}(o,Math.max(Math.abs(t),Math.abs(n))))||(i.precision=r-(\"e\"===i.type));break;case\"f\":case\"%\":null!=i.precision||isNaN(r=function(t){return Math.max(0,-Jt(Math.abs(t)))}(o))||(i.precision=r-2*(\"%\"===i.type))}return un(i)}function _n(t){var n=t.domain;return t.ticks=function(t){var e=n();return $(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var i=n();return fn(i[0],i[i.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var i,r=n(),o=0,s=r.length-1,u=r[o],a=r[s];return a0?i=V(u=Math.floor(u/i)*i,a=Math.ceil(a/i)*i,e):i<0&&(i=V(u=Math.ceil(u*i)/i,a=Math.floor(a*i)/i,e)),i>0?(r[o]=Math.floor(u/i)*i,r[s]=Math.ceil(a/i)*i,n(r)):i<0&&(r[o]=Math.ceil(u*i)/i,r[s]=Math.floor(a*i)/i,n(r)),t},t}function yn(){var t=Wt();return t.copy=function(){return Bt(t,yn())},X.apply(t,arguments),_n(t)}function gn(t,n){var e,i=0,r=(t=t.slice()).length-1,o=t[i],s=t[r];return s0){for(;f<=_;++f)for(c=1,h=e(f);ca)break;g.push(l)}}else for(;f<=_;++f)for(c=o-1,h=e(f);c>=1;--c)if(!((l=h*c)a)break;g.push(l)}2*g.length0))return u;do{u.push(s=new Date(+e)),n(e,o),t(e)}while(s=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;n(t,-1),!e(t););else for(;--i>=0;)for(;n(t,1),!e(t););}))},e&&(r.count=function(n,i){return Tn.setTime(+n),Cn.setTime(+i),t(Tn),t(Cn),Math.floor(e(Tn,Cn))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(i?function(n){return i(n)%t==0}:function(n){return r.count(0,n)%t==0}):r:null}),r}var kn=Nn((function(){}),(function(t,n){t.setTime(+t+n)}),(function(t,n){return n-t}));kn.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Nn((function(n){n.setTime(Math.floor(n/t)*t)}),(function(n,e){n.setTime(+n+e*t)}),(function(n,e){return(e-n)/t})):kn:null};var Un=Nn((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,n){t.setTime(+t+1e3*n)}),(function(t,n){return(n-t)/1e3}),(function(t){return t.getUTCSeconds()})),Sn=Nn((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getMinutes()})),Dn=Nn((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getHours()})),Ln=Nn((function(t){t.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1}));function An(t){return Nn((function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+7*n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var Rn=An(0),En=An(1),Pn=(An(2),An(3),An(4)),Fn=(An(5),An(6),Nn((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,n){t.setMonth(t.getMonth()+n)}),(function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}))),Yn=Nn((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n)}),(function(t,n){return n.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Yn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nn((function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,e){n.setFullYear(n.getFullYear()+e*t)})):null};var Hn=Nn((function(t){t.setUTCSeconds(0,0)}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getUTCMinutes()})),qn=Nn((function(t){t.setUTCMinutes(0,0,0)}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getUTCHours()})),zn=Nn((function(t){t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+n)}),(function(t,n){return(n-t)/864e5}),(function(t){return t.getUTCDate()-1}));function jn(t){return Nn((function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+7*n)}),(function(t,n){return(n-t)/6048e5}))}var On=jn(0),Zn=jn(1),In=(jn(2),jn(3),jn(4)),$n=(jn(5),jn(6),Nn((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCMonth(t.getUTCMonth()+n)}),(function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}))),Vn=Nn((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)}),(function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));function Bn(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Xn(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Wn(t,n,e){return{y:t,m:n,d:e,H:0,M:0,S:0,L:0}}Vn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nn((function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null};var Qn,Jn,Gn,Kn={\"-\":\"\",_:\" \",0:\"0\"},te=/^\\s*\\d+/,ne=/^%/,ee=/[\\\\^$*+?|[\\]().{}]/g;function ie(t,n,e){var i=t<0?\"-\":\"\",r=(i?-t:t)+\"\",o=r.length;return i+(o68?1900:2e3),e+i[0].length):-1}function ye(t,n,e){var i=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(n.slice(e,e+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||\"00\")),e+i[0].length):-1}function ge(t,n,e){var i=te.exec(n.slice(e,e+1));return i?(t.q=3*i[0]-3,e+i[0].length):-1}function pe(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.m=i[0]-1,e+i[0].length):-1}function xe(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.d=+i[0],e+i[0].length):-1}function de(t,n,e){var i=te.exec(n.slice(e,e+3));return i?(t.m=0,t.d=+i[0],e+i[0].length):-1}function ve(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.H=+i[0],e+i[0].length):-1}function me(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.M=+i[0],e+i[0].length):-1}function Me(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.S=+i[0],e+i[0].length):-1}function we(t,n,e){var i=te.exec(n.slice(e,e+3));return i?(t.L=+i[0],e+i[0].length):-1}function be(t,n,e){var i=te.exec(n.slice(e,e+6));return i?(t.L=Math.floor(i[0]/1e3),e+i[0].length):-1}function Te(t,n,e){var i=ne.exec(n.slice(e,e+1));return i?e+i[0].length:-1}function Ce(t,n,e){var i=te.exec(n.slice(e));return i?(t.Q=+i[0],e+i[0].length):-1}function Ne(t,n,e){var i=te.exec(n.slice(e));return i?(t.s=+i[0],e+i[0].length):-1}function ke(t,n){return ie(t.getDate(),n,2)}function Ue(t,n){return ie(t.getHours(),n,2)}function Se(t,n){return ie(t.getHours()%12||12,n,2)}function De(t,n){return ie(1+Ln.count(Yn(t),t),n,3)}function Le(t,n){return ie(t.getMilliseconds(),n,3)}function Ae(t,n){return Le(t,n)+\"000\"}function Re(t,n){return ie(t.getMonth()+1,n,2)}function Ee(t,n){return ie(t.getMinutes(),n,2)}function Pe(t,n){return ie(t.getSeconds(),n,2)}function Fe(t){var n=t.getDay();return 0===n?7:n}function Ye(t,n){return ie(Rn.count(Yn(t)-1,t),n,2)}function He(t,n){var e=t.getDay();return t=e>=4||0===e?Pn(t):Pn.ceil(t),ie(Pn.count(Yn(t),t)+(4===Yn(t).getDay()),n,2)}function qe(t){return t.getDay()}function ze(t,n){return ie(En.count(Yn(t)-1,t),n,2)}function je(t,n){return ie(t.getFullYear()%100,n,2)}function Oe(t,n){return ie(t.getFullYear()%1e4,n,4)}function Ze(t){var n=t.getTimezoneOffset();return(n>0?\"-\":(n*=-1,\"+\"))+ie(n/60|0,\"0\",2)+ie(n%60,\"0\",2)}function Ie(t,n){return ie(t.getUTCDate(),n,2)}function $e(t,n){return ie(t.getUTCHours(),n,2)}function Ve(t,n){return ie(t.getUTCHours()%12||12,n,2)}function Be(t,n){return ie(1+zn.count(Vn(t),t),n,3)}function Xe(t,n){return ie(t.getUTCMilliseconds(),n,3)}function We(t,n){return Xe(t,n)+\"000\"}function Qe(t,n){return ie(t.getUTCMonth()+1,n,2)}function Je(t,n){return ie(t.getUTCMinutes(),n,2)}function Ge(t,n){return ie(t.getUTCSeconds(),n,2)}function Ke(t){var n=t.getUTCDay();return 0===n?7:n}function ti(t,n){return ie(On.count(Vn(t)-1,t),n,2)}function ni(t,n){var e=t.getUTCDay();return t=e>=4||0===e?In(t):In.ceil(t),ie(In.count(Vn(t),t)+(4===Vn(t).getUTCDay()),n,2)}function ei(t){return t.getUTCDay()}function ii(t,n){return ie(Zn.count(Vn(t)-1,t),n,2)}function ri(t,n){return ie(t.getUTCFullYear()%100,n,2)}function oi(t,n){return ie(t.getUTCFullYear()%1e4,n,4)}function si(){return\"+0000\"}function ui(){return\"%\"}function ai(t){return+t}function hi(t){return Math.floor(+t/1e3)}!function(t){Qn=function(t){var n=t.dateTime,e=t.date,i=t.time,r=t.periods,o=t.days,s=t.shortDays,u=t.months,a=t.shortMonths,h=oe(r),c=se(r),l=oe(o),f=se(o),_=oe(s),y=se(s),g=oe(u),p=se(u),x=oe(a),d=se(a),v={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return a[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:ke,e:ke,f:Ae,H:Ue,I:Se,j:De,L:Le,m:Re,M:Ee,p:function(t){return r[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:ai,s:hi,S:Pe,u:Fe,U:Ye,V:He,w:qe,W:ze,x:null,X:null,y:je,Y:Oe,Z:Ze,\"%\":ui},m={a:function(t){return s[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return a[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Ie,e:Ie,f:We,H:$e,I:Ve,j:Be,L:Xe,m:Qe,M:Je,p:function(t){return r[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:ai,s:hi,S:Ge,u:Ke,U:ti,V:ni,w:ei,W:ii,x:null,X:null,y:ri,Y:oi,Z:si,\"%\":ui},M={a:function(t,n,e){var i=_.exec(n.slice(e));return i?(t.w=y[i[0].toLowerCase()],e+i[0].length):-1},A:function(t,n,e){var i=l.exec(n.slice(e));return i?(t.w=f[i[0].toLowerCase()],e+i[0].length):-1},b:function(t,n,e){var i=x.exec(n.slice(e));return i?(t.m=d[i[0].toLowerCase()],e+i[0].length):-1},B:function(t,n,e){var i=g.exec(n.slice(e));return i?(t.m=p[i[0].toLowerCase()],e+i[0].length):-1},c:function(t,e,i){return T(t,n,e,i)},d:xe,e:xe,f:be,H:ve,I:ve,j:de,L:we,m:pe,M:me,p:function(t,n,e){var i=h.exec(n.slice(e));return i?(t.p=c[i[0].toLowerCase()],e+i[0].length):-1},q:ge,Q:Ce,s:Ne,S:Me,u:ae,U:he,V:ce,w:ue,W:le,x:function(t,n,i){return T(t,e,n,i)},X:function(t,n,e){return T(t,i,n,e)},y:_e,Y:fe,Z:ye,\"%\":Te};function w(t,n){return function(e){var i,r,o,s=[],u=-1,a=0,h=t.length;for(e instanceof Date||(e=new Date(+e));++u53)return null;\"w\"in o||(o.w=1),\"Z\"in o?(r=(i=Xn(Wn(o.y,0,1))).getUTCDay(),i=r>4||0===r?Zn.ceil(i):Zn(i),i=zn.offset(i,7*(o.V-1)),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(r=(i=Bn(Wn(o.y,0,1))).getDay(),i=r>4||0===r?En.ceil(i):En(i),i=Ln.offset(i,7*(o.V-1)),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else(\"W\"in o||\"U\"in o)&&(\"w\"in o||(o.w=\"u\"in o?o.u%7:\"W\"in o?1:0),r=\"Z\"in o?Xn(Wn(o.y,0,1)).getUTCDay():Bn(Wn(o.y,0,1)).getDay(),o.m=0,o.d=\"W\"in o?(o.w+6)%7+7*o.W-(r+5)%7:o.w+7*o.U-(r+6)%7);return\"Z\"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Xn(o)):Bn(o)}}function T(t,n,e,i){for(var r,o,s=0,u=n.length,a=e.length;s=a)return-1;if(37===(r=n.charCodeAt(s++))){if(r=n.charAt(s++),!(o=M[r in Kn?n.charAt(s++):r])||(i=o(t,e,i))<0)return-1}else if(r!=e.charCodeAt(i++))return-1}return i}return v.x=w(e,v),v.X=w(i,v),v.c=w(n,v),m.x=w(e,m),m.X=w(i,m),m.c=w(n,m),{format:function(t){var n=w(t+=\"\",v);return n.toString=function(){return t},n},parse:function(t){var n=b(t+=\"\",!1);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+=\"\",m);return n.toString=function(){return t},n},utcParse:function(t){var n=b(t+=\"\",!0);return n.toString=function(){return t},n}}}(t),Jn=Qn.format,Qn.parse,Gn=Qn.utcFormat,Qn.utcParse}({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function ci(t){return new Date(t)}function li(t){return t instanceof Date?+t:+new Date(+t)}function fi(t,n,e,i,r,o,s,u,a){var h=Wt(),c=h.invert,l=h.domain,f=a(\".%L\"),_=a(\":%S\"),y=a(\"%I:%M\"),g=a(\"%I %p\"),p=a(\"%a %d\"),x=a(\"%b %d\"),d=a(\"%B\"),v=a(\"%Y\"),m=[[s,1,1e3],[s,5,5e3],[s,15,15e3],[s,30,3e4],[o,1,6e4],[o,5,3e5],[o,15,9e5],[o,30,18e5],[r,1,36e5],[r,3,108e5],[r,6,216e5],[r,12,432e5],[i,1,864e5],[i,2,1728e5],[e,1,6048e5],[n,1,2592e6],[n,3,7776e6],[t,1,31536e6]];function M(u){return(s(u)1e-6)if(Math.abs(c*u-a*h)>1e-6&&r){var f=e-o,_=i-s,y=u*u+a*a,g=f*f+_*_,p=Math.sqrt(y),x=Math.sqrt(l),d=r*Math.tan((gi-Math.acos((y+l-g)/(2*p*x)))/2),v=d/x,m=d/p;Math.abs(v-1)>1e-6&&(this._+=\"L\"+(t+v*h)+\",\"+(n+v*c)),this._+=\"A\"+r+\",\"+r+\",0,0,\"+ +(c*f>h*_)+\",\"+(this._x1=t+m*u)+\",\"+(this._y1=n+m*a)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=n);else;},arc:function(t,n,e,i,r,o){t=+t,n=+n,o=!!o;var s=(e=+e)*Math.cos(i),u=e*Math.sin(i),a=t+s,h=n+u,c=1^o,l=o?i-r:r-i;if(e<0)throw new Error(\"negative radius: \"+e);null===this._x1?this._+=\"M\"+a+\",\"+h:(Math.abs(this._x1-a)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+=\"L\"+a+\",\"+h),e&&(l<0&&(l=l%pi+pi),l>xi?this._+=\"A\"+e+\",\"+e+\",0,1,\"+c+\",\"+(t-s)+\",\"+(n-u)+\"A\"+e+\",\"+e+\",0,1,\"+c+\",\"+(this._x1=a)+\",\"+(this._y1=h):l>1e-6&&(this._+=\"A\"+e+\",\"+e+\",0,\"+ +(l>=gi)+\",\"+c+\",\"+(this._x1=t+e*Math.cos(r))+\",\"+(this._y1=n+e*Math.sin(r))))},rect:function(t,n,e,i){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+n)+\"h\"+ +e+\"v\"+ +i+\"h\"+-e+\"Z\"},toString:function(){return this._}};var Mi=Math.abs,wi=Math.atan2,bi=Math.cos,Ti=Math.max,Ci=Math.min,Ni=Math.sin,ki=Math.sqrt,Ui=Math.PI,Si=Ui/2,Di=2*Ui;function Li(t){return t>1?0:t<-1?Ui:Math.acos(t)}function Ai(t){return t>=1?Si:t<=-1?-Si:Math.asin(t)}function Ri(t){return t.innerRadius}function Ei(t){return t.outerRadius}function Pi(t){return t.startAngle}function Fi(t){return t.endAngle}function Yi(t){return t&&t.padAngle}function Hi(t,n,e,i,r,o,s,u){var a=e-t,h=i-n,c=s-r,l=u-o,f=l*a-c*h;if(!(f*f<1e-12))return[t+(f=(c*(n-o)-l*(t-r))/f)*a,n+f*h]}function qi(t,n,e,i,r,o,s){var u=t-e,a=n-i,h=(s?o:-o)/ki(u*u+a*a),c=h*a,l=-h*u,f=t+c,_=n+l,y=e+c,g=i+l,p=(f+y)/2,x=(_+g)/2,d=y-f,v=g-_,m=d*d+v*v,M=r-o,w=f*g-y*_,b=(v<0?-1:1)*ki(Ti(0,M*M*m-w*w)),T=(w*v-d*b)/m,C=(-w*d-v*b)/m,N=(w*v+d*b)/m,k=(-w*d+v*b)/m,U=T-p,S=C-x,D=N-p,L=k-x;return U*U+S*S>D*D+L*L&&(T=N,C=k),{cx:T,cy:C,x01:-c,y01:-l,x11:T*(r/M-1),y11:C*(r/M-1)}}function zi(){var t=Ri,n=Ei,e=mi(0),i=null,r=Pi,o=Fi,s=Yi,u=null;function a(){var a,h,c=+t.apply(this,arguments),l=+n.apply(this,arguments),f=r.apply(this,arguments)-Si,_=o.apply(this,arguments)-Si,y=Mi(_-f),g=_>f;if(u||(u=a=vi()),l1e-12)if(y>Di-1e-12)u.moveTo(l*bi(f),l*Ni(f)),u.arc(0,0,l,f,_,!g),c>1e-12&&(u.moveTo(c*bi(_),c*Ni(_)),u.arc(0,0,c,_,f,g));else{var p,x,d=f,v=_,m=f,M=_,w=y,b=y,T=s.apply(this,arguments)/2,C=T>1e-12&&(i?+i.apply(this,arguments):ki(c*c+l*l)),N=Ci(Mi(l-c)/2,+e.apply(this,arguments)),k=N,U=N;if(C>1e-12){var S=Ai(C/c*Ni(T)),D=Ai(C/l*Ni(T));(w-=2*S)>1e-12?(m+=S*=g?1:-1,M-=S):(w=0,m=M=(f+_)/2),(b-=2*D)>1e-12?(d+=D*=g?1:-1,v-=D):(b=0,d=v=(f+_)/2)}var L=l*bi(d),A=l*Ni(d),R=c*bi(M),E=c*Ni(M);if(N>1e-12){var P,F=l*bi(v),Y=l*Ni(v),H=c*bi(m),q=c*Ni(m);if(y1e-12?U>1e-12?(p=qi(H,q,L,A,l,U,g),x=qi(F,Y,R,E,l,U,g),u.moveTo(p.cx+p.x01,p.cy+p.y01),U1e-12&&w>1e-12?k>1e-12?(p=qi(R,E,F,Y,c,-k,g),x=qi(L,A,H,q,c,-k,g),u.lineTo(p.cx+p.x01,p.cy+p.y01),k=c;--l)u.point(p[l],x[l]);u.lineEnd(),u.areaEnd()}g&&(p[h]=+t(f,h,a),x[h]=+e(f,h,a),u.point(n?+n(f,h,a):p[h],i?+i(f,h,a):x[h]))}if(_)return u=null,_+\"\"||null}function h(){return $i().defined(r).curve(s).context(o)}return a.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:mi(+e),n=null,a):t},a.x0=function(n){return arguments.length?(t=\"function\"==typeof n?n:mi(+n),a):t},a.x1=function(t){return arguments.length?(n=null==t?null:\"function\"==typeof t?t:mi(+t),a):n},a.y=function(t){return arguments.length?(e=\"function\"==typeof t?t:mi(+t),i=null,a):e},a.y0=function(t){return arguments.length?(e=\"function\"==typeof t?t:mi(+t),a):e},a.y1=function(t){return arguments.length?(i=null==t?null:\"function\"==typeof t?t:mi(+t),a):i},a.lineX0=a.lineY0=function(){return h().x(t).y(e)},a.lineY1=function(){return h().x(t).y(i)},a.lineX1=function(){return h().x(n).y(e)},a.defined=function(t){return arguments.length?(r=\"function\"==typeof t?t:mi(!!t),a):r},a.curve=function(t){return arguments.length?(s=t,null!=o&&(u=s(o)),a):s},a.context=function(t){return arguments.length?(null==t?o=u=null:u=s(o=t),a):o},a}function Bi(t,n){return nt?1:n>=t?0:NaN}function Xi(t){return t}function Wi(){var t=Xi,n=Bi,e=null,i=mi(0),r=mi(Di),o=mi(0);function s(s){var u,a,h,c,l,f=s.length,_=0,y=new Array(f),g=new Array(f),p=+i.apply(this,arguments),x=Math.min(Di,Math.max(-Di,r.apply(this,arguments)-p)),d=Math.min(Math.abs(x)/f,o.apply(this,arguments)),v=d*(x<0?-1:1);for(u=0;u0&&(_+=l);for(null!=n?y.sort((function(t,e){return n(g[t],g[e])})):null!=e&&y.sort((function(t,n){return e(s[t],s[n])})),u=0,h=_?(x-f*v)/_:0;u0?l*h:0)+v,g[a]={data:s[a],index:u,value:l,startAngle:p,endAngle:c,padAngle:d};return g}return s.value=function(n){return arguments.length?(t=\"function\"==typeof n?n:mi(+n),s):t},s.sortValues=function(t){return arguments.length?(n=t,e=null,s):n},s.sort=function(t){return arguments.length?(e=t,n=null,s):e},s.startAngle=function(t){return arguments.length?(i=\"function\"==typeof t?t:mi(+t),s):i},s.endAngle=function(t){return arguments.length?(r=\"function\"==typeof t?t:mi(+t),s):r},s.padAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:mi(+t),s):o},s}function Qi(){}function Ji(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Gi(t){this._context=t}function Ki(t){return new Gi(t)}function tr(t){this._context=t}function nr(t){return new tr(t)}function er(t){this._context=t}function ir(t){return new er(t)}function rr(t,n){this._basis=new Gi(t),this._beta=n}ji.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}},Gi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ji(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ji(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},tr.prototype={areaStart:Qi,areaEnd:Qi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Ji(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},er.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break;case 3:this._point=4;default:Ji(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},rr.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var i,r=t[0],o=n[0],s=t[e]-r,u=n[e]-o,a=-1;++a<=e;)i=a/e,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+i*s),this._beta*n[a]+(1-this._beta)*(o+i*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var or=function t(n){function e(t){return 1===n?new Gi(t):new rr(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function sr(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function ur(t,n){this._context=t,this._k=(1-n)/6}ur.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:sr(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:sr(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ar=function t(n){function e(t){return new ur(t,n)}return e.tension=function(n){return t(+n)},e}(0);function hr(t,n){this._context=t,this._k=(1-n)/6}hr.prototype={areaStart:Qi,areaEnd:Qi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:sr(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var cr=function t(n){function e(t){return new hr(t,n)}return e.tension=function(n){return t(+n)},e}(0);function lr(t,n){this._context=t,this._k=(1-n)/6}lr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:sr(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var fr=function t(n){function e(t){return new lr(t,n)}return e.tension=function(n){return t(+n)},e}(0);function _r(t,n,e){var i=t._x1,r=t._y1,o=t._x2,s=t._y2;if(t._l01_a>1e-12){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,a=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/a,r=(r*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/a}if(t._l23_a>1e-12){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-n*t._l12_2a)/c,s=(s*h+t._y1*t._l23_2a-e*t._l12_2a)/c}t._context.bezierCurveTo(i,r,o,s,t._x2,t._y2)}function yr(t,n){this._context=t,this._alpha=n}yr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:_r(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var gr=function t(n){function e(t){return n?new yr(t,n):new ur(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function pr(t,n){this._context=t,this._alpha=n}pr.prototype={areaStart:Qi,areaEnd:Qi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:_r(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var xr=function t(n){function e(t){return n?new pr(t,n):new hr(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function dr(t,n){this._context=t,this._alpha=n}dr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_r(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var vr=function t(n){function e(t){return n?new dr(t,n):new lr(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function mr(t){this._context=t}function Mr(t){return new mr(t)}function wr(t){return t<0?-1:1}function br(t,n,e){var i=t._x1-t._x0,r=n-t._x1,o=(t._y1-t._y0)/(i||r<0&&-0),s=(e-t._y1)/(r||i<0&&-0),u=(o*r+s*i)/(i+r);return(wr(o)+wr(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(u))||0}function Tr(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function Cr(t,n,e){var i=t._x0,r=t._y0,o=t._x1,s=t._y1,u=(o-i)/3;t._context.bezierCurveTo(i+u,r+u*n,o-u,s-u*e,o,s)}function Nr(t){this._context=t}function kr(t){this._context=new Ur(t)}function Ur(t){this._context=t}function Sr(t){return new Nr(t)}function Dr(t){return new kr(t)}function Lr(t){this._context=t}function Ar(t){var n,e,i=t.length-1,r=new Array(i),o=new Array(i),s=new Array(i);for(r[0]=0,o[0]=2,s[0]=t[0]+2*t[1],n=1;n=0;--n)r[n]=(s[n]-r[n+1])/o[n];for(o[i-1]=(t[i]+r[i-1])/2,n=0;n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};export{zi as arc,Vi as area,Ki as curveBasis,nr as curveBasisClosed,ir as curveBasisOpen,or as curveBundle,ar as curveCardinal,cr as curveCardinalClosed,fr as curveCardinalOpen,gr as curveCatmullRom,xr as curveCatmullRomClosed,vr as curveCatmullRomOpen,Oi as curveLinear,Mr as curveLinearClosed,Sr as curveMonotoneX,Dr as curveMonotoneY,Rr as curveNatural,Pr as curveStep,Yr as curveStepAfter,Fr as curveStepBefore,$i as line,Wi as pie,J as scaleBand,yn as scaleLinear,bn as scaleLog,_i as scaleTime,yi as scaleUtc,Y as voronoi};\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n strokeWidth: 2,\n stroke: \"#6b6b6b\",\n fill: \"transparent\",\n opacity: 1\n};\n\nexport default function Path({ style, ...rest }) {\n const resolvedStyle = {\n ...defaultStyle,\n ...style\n };\n\n return ;\n}\n","import React from 'react'\nimport { voronoi, line } from '../d3'\n//\nimport ChartContext from '../utils/ChartContext'\nimport Path from '../primitives/Path'\n// import Utils from '../utils/Utils'\n\nconst lineFn = line()\n\nconst VoronoiElement = ({ children, ...rest }) => (\n \n {children}\n \n)\n\nexport default function Voronoi() {\n const [\n {\n // type,\n stackData,\n primaryAxes,\n secondaryAxes,\n showVoronoi,\n width,\n height,\n gridWidth,\n gridHeight,\n onFocus,\n onClick,\n tooltip,\n primaryCursor,\n secondaryCursor,\n },\n setChartState,\n ] = React.useContext(ChartContext)\n\n const onHover = React.useCallback(\n datum => {\n return setChartState(state => ({\n ...state,\n focused: datum,\n }))\n },\n [setChartState]\n )\n\n const needsVoronoi =\n onFocus || onClick || tooltip || primaryCursor || secondaryCursor\n\n return React.useMemo(() => {\n // Don't render until we have all dependencies\n if (\n !stackData ||\n !primaryAxes.length ||\n !secondaryAxes.length ||\n !width ||\n !height ||\n !needsVoronoi\n ) {\n return null\n }\n\n const extent = [\n [0, 0],\n [gridWidth, gridHeight],\n ]\n\n // if (type === 'pie') {\n // const primaryAxis = primaryAxes[0]\n\n // return (\n // \n // {stackData.map(series => (\n // \n // {series.datums.map((datum, i) => {\n // const arc = makeArc()\n // .startAngle(datum.arcData.startAngle)\n // .endAngle(datum.arcData.endAngle)\n // .padAngle(0)\n // .padRadius(0)\n // .innerRadius(\n // !series.index\n // ? 0\n // : datum.arcData.innerRadius -\n // datum.arcData.seriesPaddingRadius / 2\n // )\n // .outerRadius(\n // series.index === stackData.length - 1\n // ? Math.max(primaryAxis.width, primaryAxis.height)\n // : datum.arcData.outerRadius +\n // datum.arcData.seriesPaddingRadius / 2\n // )\n // .cornerRadius(0)\n\n // return (\n // onHover([datum])}\n // style={{\n // fill: 'rgba(0,0,0,.2)',\n // stroke: 'rgba(255,255,255,.5)',\n // opacity: showVoronoi ? 1 : 0\n // }}\n // />\n // )\n // })}\n // \n // ))}\n // \n // )\n // }\n\n let vor\n let polygons = null\n\n const voronoiData = []\n stackData.forEach(series => {\n series.datums\n .filter(d => d.defined)\n .forEach(datum => {\n datum.boundingPoints.forEach(boundingPoint => {\n if (\n typeof datum.x !== 'number' ||\n typeof datum.y !== 'number' ||\n Number.isNaN(datum.y) ||\n Number.isNaN(datum.x)\n ) {\n return\n }\n voronoiData.push({\n x: boundingPoint.x,\n y: boundingPoint.y,\n datum,\n })\n })\n })\n })\n\n vor = voronoi()\n .x(d => d.x)\n .y(d => d.y)\n .extent(extent)(voronoiData)\n\n polygons = vor.polygons()\n\n return (\n \n {polygons.map((points, i) => {\n const path = lineFn(points)\n return (\n onHover(points.data.datum)}\n onMouseLeave={e => onHover(null)}\n style={{\n fill: 'rgba(0,0,0,.2)',\n stroke: 'rgba(255,255,255,.5)',\n opacity: showVoronoi ? 1 : 0,\n }}\n />\n )\n })}\n \n )\n }, [\n gridHeight,\n gridWidth,\n height,\n onHover,\n primaryAxes.length,\n secondaryAxes.length,\n showVoronoi,\n stackData,\n width,\n ])\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n strokeWidth: 1,\n fill: \"transparent\",\n opacity: 1\n};\n\nexport default class Line extends React.Component {\n render() {\n const { style, ...rest } = this.props;\n\n const resolvedStyle = {\n ...defaultStyle,\n ...style\n };\n\n return ;\n }\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n fontFamily: \"Helvetica\",\n fontSize: 10,\n opacity: 1\n};\n\nexport default function Text ({ style, opacity = 1, ...rest }) {\n const resolvedStyle = {\n ...defaultStyle,\n ...style\n };\n\n return ;\n}\n","import React from \"react\";\n\nexport default React.forwardRef(function Group(props, ref) {\n return ;\n});\n","export const positionTop = \"top\";\nexport const positionRight = \"right\";\nexport const positionBottom = \"bottom\";\nexport const positionLeft = \"left\";\n\nexport const groupingSingle = \"single\";\nexport const groupingSeries = \"series\";\nexport const groupingPrimary = \"primary\";\nexport const groupingSecondary = \"secondary\";\n\nexport const alignAuto = \"auto\";\nexport const alignRight = \"right\";\nexport const alignTopRight = \"topRight\";\nexport const alignBottomRight = \"bottomRight\";\nexport const alignLeft = \"left\";\nexport const alignTopLeft = \"topLeft\";\nexport const alignBottomLeft = \"bottomLeft\";\nexport const alignTop = \"top\";\nexport const alignBottom = \"bottom\";\n\nexport const axisTypeOrdinal = \"ordinal\";\nexport const axisTypeTime = \"time\";\nexport const axisTypeUtc = \"utc\";\nexport const axisTypeLinear = \"linear\";\nexport const axisTypeLog = \"log\";\n\nexport const anchorPointer = \"pointer\";\nexport const anchorClosest = \"closest\";\nexport const anchorCenter = \"center\";\nexport const anchorTop = \"top\";\nexport const anchorBottom = \"bottom\";\nexport const anchorLeft = \"left\";\nexport const anchorRight = \"right\";\nexport const anchorGridTop = \"gridTop\";\nexport const anchorGridBottom = \"gridBottom\";\nexport const anchorGridLeft = \"gridLeft\";\nexport const anchorGridRight = \"gridRight\";\n\nexport const focusAuto = \"auto\";\nexport const focusClosest = \"closest\";\nexport const focusElement = \"element\";\n","import React from 'react'\n//\nimport ChartContext from '../utils/ChartContext'\nimport Utils from '../utils/Utils'\n\nimport usePrevious from '../hooks/usePrevious'\n\nimport Path from '../primitives/Path'\nimport Line from '../primitives/Line'\nimport Text from '../primitives/Text'\nimport Group from '../primitives/Group'\n\nimport {\n positionTop,\n positionRight,\n positionBottom,\n positionLeft,\n axisTypeOrdinal,\n} from '../utils/Constants.js'\n\nconst defaultStyles = {\n line: {\n strokeWidth: '1',\n fill: 'transparent',\n },\n tick: {\n fontSize: 10,\n fontFamily: 'sans-serif',\n },\n}\n\nconst radiansToDegrees = r => r * (180 / Math.PI)\n\nexport default function AxisLinear({\n id,\n type,\n position,\n tickSizeInner,\n tickSizeOuter,\n show,\n showGrid,\n showTicks,\n styles,\n maxLabelRotation,\n labelRotationStep,\n tickPadding,\n ticks,\n tickCount,\n minTickCount,\n maxTickCount,\n scale,\n max: scaleMax,\n transform,\n vertical,\n format,\n range: [range0, range1],\n directionMultiplier,\n tickOffset,\n gridOffset,\n spacing,\n}) {\n const [rotation, setRotation] = React.useState(0)\n const [\n { gridWidth, gridHeight, dark, axisDimensions },\n setChartState,\n ] = React.useContext(ChartContext)\n\n const elRef = React.useRef()\n const visibleLabelStepRef = React.useRef()\n\n const measureDimensions = React.useCallback(() => {\n if (!elRef.current) {\n if (axisDimensions[position] && axisDimensions[position][id]) {\n // If the entire axis is hidden, then we need to remove the axis dimensions\n setChartState(state => {\n const newAxes = state.axisDimensions[position] || {}\n delete newAxes[id]\n return {\n ...state,\n axisDimensions: {\n ...state.axisDimensions,\n [position]: newAxes,\n },\n }\n })\n }\n return\n }\n\n const labelDims = Array(\n ...elRef.current.querySelectorAll('.tickLabel')\n ).map(el => {\n const rect = el.getBoundingClientRect()\n return {\n width: rect.width,\n height: rect.height,\n }\n })\n\n let tickSpace = !vertical ? gridWidth : gridHeight\n let calculatedTickCount = tickCount\n let width = 0\n let height = 0\n let top = 0\n let bottom = 0\n let left = 0\n let right = 0\n\n let smallestTickGap = 100000 // This is just a ridiculously large tick spacing that would never happen (hopefully)\n\n // First find the dimensions of each tick\n const tickDims = Array(...elRef.current.querySelectorAll('.tick')).map(el =>\n el.getBoundingClientRect()\n )\n\n // Then, determine the smallest gap in ticks on the axis\n tickDims.reduce((prev, current) => {\n if (prev) {\n const gap = vertical ? current.top - prev.top : current.left - prev.left\n smallestTickGap = gap < smallestTickGap ? gap : smallestTickGap\n }\n return current\n }, false)\n\n const firstLabelDim = labelDims[0] || { width: 0, height: 0 }\n const lastLabelDim = labelDims[labelDims.length - 1] || {\n width: 0,\n height: 0,\n }\n\n // Then determine the largest label\n let largestLabel = { ...firstLabelDim, _overflow: 0 }\n\n // Determine the largest label on the axis\n labelDims.forEach(labelDim => {\n labelDim._overflow = !vertical\n ? labelDim.width\n : labelDim.height - smallestTickGap\n if (\n labelDim._overflow > 0 &&\n labelDim._overflow > largestLabel._overflow\n ) {\n largestLabel = labelDim\n }\n })\n\n const largestLabelSize = !vertical\n ? largestLabel.width\n : largestLabel.height\n\n // We need to detect auto tick mode\n if ((vertical || type !== 'ordinal') && tickCount === 'auto') {\n // if it's on, determine how many ticks we could display if they were all flat\n // How many ticks can we fit in the available axis space?\n calculatedTickCount = Math.max(\n minTickCount,\n Math.min(\n Math.floor(\n (tickSpace + largestLabelSize - tickPadding) /\n (largestLabelSize + tickPadding * 2)\n ),\n maxTickCount\n )\n )\n } else if (!vertical) {\n // Otherwise, if it's horizontal, then we need to determine axis rotation\n // This is the raw mathematical rotation, using acosign and radians\n // (some tricky stuff I found on some geomoetry forum. Can't remember where though)\n let newRotation = Math.min(\n Math.max(\n Math.abs(\n radiansToDegrees(\n Math.acos(smallestTickGap / (largestLabel.width + tickPadding))\n )\n ),\n 0\n ),\n maxLabelRotation\n )\n\n // Make sure the rotation isn't NaN\n newRotation = Number.isNaN(newRotation) ? 0 : newRotation\n\n // Round the rotation to the nearest rotationStep\n newRotation = Math.ceil(\n Math.ceil(newRotation / labelRotationStep) * labelRotationStep\n )\n\n if (\n newRotation === 0 ||\n newRotation === maxLabelRotation ||\n Math.abs(newRotation) - Math.abs(rotation) > 5\n ) {\n setRotation(() => (position === 'top' ? -newRotation : newRotation))\n }\n }\n\n const newVisibleLabelStep = Math.ceil(tickPadding / smallestTickGap)\n\n if (visibleLabelStepRef.current !== newVisibleLabelStep) {\n visibleLabelStepRef.current = newVisibleLabelStep\n }\n\n if (!vertical) {\n // Add width overflow from the first and last ticks\n // const leftWidth = firstLabelDim.width\n // const rightWidth = lastLabelDim.width\n // if (rotation) {\n // right = tickPadding\n // left = Math.abs(Math.ceil(Math.cos(rotation) * leftWidth)) - barSize / 2\n // } else {\n // left = Math.ceil(leftWidth / 2)\n // right = Math.ceil(rightWidth / 2)\n // }\n height =\n Math.max(tickSizeInner, tickSizeOuter) + // Add tick size\n tickPadding + // Add tick padding\n // Add the height of the largest label\n Math.max(0, ...labelDims.map(d => Math.ceil(d.height)))\n } else {\n // Add height overflow from the first and last ticks\n top = Math.ceil(firstLabelDim.height / 2)\n bottom = Math.ceil(lastLabelDim.height / 2)\n width =\n Math.max(tickSizeInner, tickSizeOuter) + // Add tick size\n tickPadding + // Add tick padding\n // Add the width of the largest label\n Math.max(0, ...labelDims.map(d => Math.ceil(d.width)))\n }\n\n const newDimensions = {\n width,\n height,\n top,\n bottom,\n left,\n right,\n tickCount: calculatedTickCount,\n }\n\n // Only update the axisDimensions if something has changed\n if (\n !axisDimensions ||\n !axisDimensions[position] ||\n !axisDimensions[position][id] ||\n Object.keys(newDimensions).some(key => {\n return newDimensions[key] !== axisDimensions[position][id][key]\n })\n ) {\n setChartState(state => ({\n ...state,\n axisDimensions: {\n ...state.axisDimensions,\n [position]: {\n ...(state.axisDimensions[position] || {}),\n [id]: newDimensions,\n },\n },\n }))\n }\n }, [\n axisDimensions,\n gridHeight,\n gridWidth,\n id,\n labelRotationStep,\n maxLabelRotation,\n maxTickCount,\n minTickCount,\n position,\n rotation,\n setChartState,\n tickCount,\n tickPadding,\n tickSizeInner,\n tickSizeOuter,\n type,\n vertical,\n ])\n\n const previousRotation = usePrevious(rotation)\n\n // Measure after if needed\n React.useLayoutEffect(() => {\n if (previousRotation === rotation) {\n measureDimensions()\n }\n }, [\n axisDimensions,\n id,\n measureDimensions,\n position,\n previousRotation,\n rotation,\n ])\n\n // Measure after if needed\n React.useEffect(() => {\n if (previousRotation !== rotation) {\n measureDimensions()\n }\n }, [\n axisDimensions,\n id,\n measureDimensions,\n position,\n previousRotation,\n rotation,\n ])\n\n // Not ready? Render null\n if (!show) {\n return null\n }\n\n let axisPath\n if (vertical) {\n if (position === positionLeft) {\n axisPath = `\n M ${-tickSizeOuter}, ${range0}\n H 0\n V ${range1}\n H ${-tickSizeOuter}\n `\n } else {\n axisPath = `\n M ${tickSizeOuter}, ${range0}\n H 0\n V ${range1}\n H ${tickSizeOuter}\n `\n }\n } else if (position === positionBottom) {\n axisPath = `\n M 0, ${tickSizeOuter}\n V 0\n H ${range1}\n V ${tickSizeOuter}\n `\n } else {\n axisPath = `\n M 0, ${-tickSizeOuter}\n V 0\n H ${range1}\n V ${-tickSizeOuter}\n `\n }\n\n let showGridLine\n if (typeof showGrid === 'boolean') {\n showGridLine = showGrid\n } else if (type === axisTypeOrdinal) {\n showGridLine = false\n } else {\n showGridLine = true\n }\n\n // Combine default styles with style props\n const axisStyles = {\n ...defaultStyles,\n ...styles,\n }\n\n return (\n \n \n \n {ticks.map((tick, i) => (\n \n {/* Render the grid line */}\n {showGridLine && (\n \n )}\n {/* Render the tick line */}\n {showTicks ? (\n \n \n \n {format(tick, i)}\n \n \n ) : null}\n \n ))}\n \n \n )\n}\n","import React from 'react'\n//\nimport AxisLinear from './AxisLinear'\n\nexport default function Axis(props) {\n return \n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n//\n\nconst triangleSize = 7;\n\nconst getBackgroundColor = dark =>\n dark ? \"rgba(255,255,255,.9)\" : \"rgba(0, 26, 39, 0.9)\";\n\nexport default function Tooltip() {\n const [chartState] = React.useContext(ChartContext);\n\n const {\n primaryAxes,\n secondaryAxes,\n gridX,\n gridY,\n gridWidth,\n gridHeight,\n dark,\n focused,\n latestFocused,\n getDatumStyle,\n tooltip\n } = chartState;\n\n const elRef = React.useRef();\n const tooltipElRef = React.useRef();\n const previousShowRef = React.useRef();\n\n const {\n align,\n alignPriority,\n padding,\n tooltipArrowPadding,\n //\n arrowPosition,\n render,\n anchor,\n show\n } = tooltip || {};\n\n const [finalAlign, setFinalAlign] = React.useState(align || \"auto\");\n\n React.useEffect(\n () => {\n previousShowRef.current = show;\n },\n [show]\n );\n\n React.useLayoutEffect(\n () => {\n if (align !== \"auto\" || !elRef.current || !show || !anchor) {\n return;\n }\n\n const space = {\n left: Infinity,\n top: Infinity,\n right: Infinity,\n bottom: Infinity\n };\n\n let container = elRef.current;\n const gridDims = container.getBoundingClientRect();\n const tooltipDims = tooltipElRef.current.getBoundingClientRect();\n\n while (container !== document.body) {\n container = container.parentElement;\n const { overflowX, overflowY } = window.getComputedStyle(container);\n if (\n container === document.body ||\n [overflowX, overflowY].find(d => [\"auto\", \"hidden\"].includes(d))\n ) {\n const containerDims = container.getBoundingClientRect();\n const left = gridDims.left - containerDims.left + anchor.x;\n const top = gridDims.top - containerDims.top + anchor.y;\n const right = containerDims.width - left;\n const bottom = containerDims.height - top;\n\n space.left = Math.min(space.left, left);\n space.top = Math.min(space.top, top);\n space.right = Math.min(space.right, right);\n space.bottom = Math.min(space.bottom, bottom);\n }\n }\n\n let resolvedAlign = null;\n\n alignPriority.forEach(priority => {\n if (resolvedAlign) {\n return;\n }\n const fits = {\n left:\n space.left -\n tooltipArrowPadding -\n padding -\n anchor.horizontalPadding >\n tooltipDims.width,\n right:\n space.right -\n tooltipArrowPadding -\n padding -\n anchor.horizontalPadding >\n tooltipDims.width,\n top:\n space.top - tooltipArrowPadding - padding - anchor.verticalPadding >\n tooltipDims.height && space.left > tooltipDims.width / 2,\n bottom:\n space.bottom -\n tooltipArrowPadding -\n padding -\n anchor.verticalPadding >\n tooltipDims.height,\n centeredFromLeft: space.left > tooltipDims.width / 2,\n centeredFromRight: space.right > tooltipDims.width / 2,\n centeredFromTop: space.top > tooltipDims.height / 2,\n centeredFromBottom: space.bottom > tooltipDims.height / 2\n };\n if (priority === \"left\") {\n if (fits.left && fits.centeredFromTop && fits.centeredFromBottom) {\n resolvedAlign = priority;\n }\n } else if (priority === \"right\") {\n if (fits.right && fits.centeredFromTop && fits.centeredFromBottom) {\n resolvedAlign = priority;\n }\n } else if (priority === \"top\") {\n if (fits.top && fits.centeredFromLeft && fits.centeredFromRight) {\n resolvedAlign = priority;\n }\n } else if (priority === \"bottom\") {\n if (fits.bottom && fits.centeredFromLeft && fits.centeredFromRight) {\n resolvedAlign = priority;\n }\n } else if (priority === \"topLeft\") {\n if (fits.top && fits.left) {\n resolvedAlign = priority;\n }\n } else if (priority === \"topRight\") {\n if (fits.top && fits.right) {\n resolvedAlign = priority;\n }\n } else if (priority === \"bottomLeft\") {\n if (fits.bottom && fits.left) {\n resolvedAlign = priority;\n }\n } else if (priority === \"bottomRight\") {\n if (fits.bottom && fits.right) {\n resolvedAlign = priority;\n }\n }\n });\n\n if (resolvedAlign !== finalAlign) {\n setFinalAlign(resolvedAlign);\n }\n },\n [\n align,\n alignPriority,\n anchor,\n finalAlign,\n padding,\n show,\n tooltipArrowPadding\n ]\n );\n\n if (!tooltip) {\n return null;\n }\n\n const resolvedFocused = focused || latestFocused;\n\n let alignX = 0;\n let alignY = -50;\n let triangleStyles = {};\n\n const backgroundColor = getBackgroundColor(dark);\n\n let resolvedArrowPosition = arrowPosition;\n\n if (finalAlign === \"top\") {\n alignX = -50;\n alignY = -100;\n } else if (finalAlign === \"topRight\") {\n alignX = 0;\n alignY = -100;\n } else if (finalAlign === \"right\") {\n alignX = 0;\n alignY = -50;\n } else if (finalAlign === \"bottomRight\") {\n alignX = 0;\n alignY = 0;\n } else if (finalAlign === \"bottom\") {\n alignX = -50;\n alignY = 0;\n } else if (finalAlign === \"bottomLeft\") {\n alignX = -100;\n alignY = 0;\n } else if (finalAlign === \"left\") {\n alignX = -100;\n alignY = -50;\n } else if (finalAlign === \"topLeft\") {\n alignX = -100;\n alignY = -100;\n } else if (finalAlign === \"center\") {\n alignX = -50;\n alignY = -50;\n }\n\n if (!resolvedArrowPosition) {\n if (finalAlign === \"left\") {\n resolvedArrowPosition = \"right\";\n } else if (finalAlign === \"right\") {\n resolvedArrowPosition = \"left\";\n } else if (finalAlign === \"top\") {\n resolvedArrowPosition = \"bottom\";\n } else if (finalAlign === \"bottom\") {\n resolvedArrowPosition = \"top\";\n } else if (finalAlign === \"topRight\") {\n resolvedArrowPosition = \"bottomLeft\";\n } else if (finalAlign === \"bottomRight\") {\n resolvedArrowPosition = \"topLeft\";\n } else if (finalAlign === \"topLeft\") {\n resolvedArrowPosition = \"bottomRight\";\n } else if (finalAlign === \"bottomLeft\") {\n resolvedArrowPosition = \"topRight\";\n }\n }\n\n if (resolvedArrowPosition === \"bottom\") {\n triangleStyles = {\n top: \"100%\",\n left: \"50%\",\n transform: \"translate3d(-50%, 0%, 0)\",\n borderLeft: `${triangleSize * 0.8}px solid transparent`,\n borderRight: `${triangleSize * 0.8}px solid transparent`,\n borderTop: `${triangleSize}px solid ${backgroundColor}`\n };\n } else if (resolvedArrowPosition === \"top\") {\n triangleStyles = {\n top: \"0%\",\n left: \"50%\",\n transform: \"translate3d(-50%, -100%, 0)\",\n borderLeft: `${triangleSize * 0.8}px solid transparent`,\n borderRight: `${triangleSize * 0.8}px solid transparent`,\n borderBottom: `${triangleSize}px solid ${backgroundColor}`\n };\n } else if (resolvedArrowPosition === \"right\") {\n triangleStyles = {\n top: \"50%\",\n left: \"100%\",\n transform: \"translate3d(0%, -50%, 0)\",\n borderTop: `${triangleSize * 0.8}px solid transparent`,\n borderBottom: `${triangleSize * 0.8}px solid transparent`,\n borderLeft: `${triangleSize}px solid ${backgroundColor}`\n };\n } else if (resolvedArrowPosition === \"left\") {\n triangleStyles = {\n top: \"50%\",\n left: \"0%\",\n transform: \"translate3d(-100%, -50%, 0)\",\n borderTop: `${triangleSize * 0.8}px solid transparent`,\n borderBottom: `${triangleSize * 0.8}px solid transparent`,\n borderRight: `${triangleSize}px solid ${backgroundColor}`\n };\n } else if (resolvedArrowPosition === \"topRight\") {\n triangleStyles = {\n top: \"0%\",\n left: \"100%\",\n transform: \"translate3d(-50%, -50%, 0) rotate(-45deg)\",\n borderTop: `${triangleSize * 0.8}px solid transparent`,\n borderBottom: `${triangleSize * 0.8}px solid transparent`,\n borderLeft: `${triangleSize * 2}px solid ${backgroundColor}`\n };\n } else if (resolvedArrowPosition === \"bottomRight\") {\n triangleStyles = {\n top: \"100%\",\n left: \"100%\",\n transform: \"translate3d(-50%, -50%, 0) rotate(45deg)\",\n borderTop: `${triangleSize * 0.8}px solid transparent`,\n borderBottom: `${triangleSize * 0.8}px solid transparent`,\n borderLeft: `${triangleSize * 2}px solid ${backgroundColor}`\n };\n } else if (resolvedArrowPosition === \"topLeft\") {\n triangleStyles = {\n top: \"0%\",\n left: \"0%\",\n transform: \"translate3d(-50%, -50%, 0) rotate(45deg)\",\n borderTop: `${triangleSize * 0.8}px solid transparent`,\n borderBottom: `${triangleSize * 0.8}px solid transparent`,\n borderRight: `${triangleSize * 2}px solid ${backgroundColor}`\n };\n } else if (resolvedArrowPosition === \"bottomLeft\") {\n triangleStyles = {\n top: \"100%\",\n left: \"0%\",\n transform: \"translate3d(-50%, -50%, 0) rotate(-45deg)\",\n borderTop: `${triangleSize * 0.8}px solid transparent`,\n borderBottom: `${triangleSize * 0.8}px solid transparent`,\n borderRight: `${triangleSize * 2}px solid ${backgroundColor}`\n };\n } else {\n triangleStyles = {\n opacity: 0\n };\n }\n\n const primaryAxis = Utils.getAxisByAxisID(\n primaryAxes,\n resolvedFocused ? resolvedFocused.series.primaryAxisID : null\n );\n const secondaryAxis = Utils.getAxisByAxisID(\n secondaryAxes,\n resolvedFocused ? resolvedFocused.series.secondaryAxisID : null\n );\n\n const resolvedHorizontalPadding = padding + anchor.horizontalPadding;\n const resolvedVerticalPadding = padding + anchor.verticalPadding;\n\n const renderProps = {\n ...chartState,\n ...chartState.tooltip,\n datum: resolvedFocused,\n getStyle: datum => datum.getStatusStyle(resolvedFocused, getDatumStyle),\n primaryAxis,\n secondaryAxis\n };\n\n const renderedChildren = React.createElement(render, renderProps);\n\n let animateCoords;\n if (previousShowRef.current === show) {\n animateCoords = true;\n }\n\n return (\n {\n elRef.current = el;\n }}\n >\n \n \n {\n tooltipElRef.current = el;\n }}\n style={{\n fontSize: \"12px\",\n padding: \"5px\",\n background: getBackgroundColor(dark),\n color: dark ? \"black\" : \"white\",\n borderRadius: \"3px\",\n position: \"relative\"\n }}\n >\n \n {renderedChildren}\n \n \n \n \n );\n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n\nimport useLatest from \"../hooks/useLatest\";\n\nconst getLineBackgroundColor = dark =>\n dark ? \"rgba(255,255,255,.3)\" : \"rgba(0, 26, 39, 0.3)\";\n\nconst getBackgroundColor = dark =>\n dark ? \"rgba(255,255,255,.9)\" : \"rgba(0, 26, 39, 0.9)\";\n\nexport default function Cursor({ primary }) {\n const [\n {\n primaryCursor,\n secondaryCursor,\n focused,\n latestFocused,\n gridX,\n gridY,\n dark\n }\n ] = React.useContext(ChartContext);\n\n const resolvedFocused = focused || latestFocused;\n const cursor = primary ? primaryCursor : secondaryCursor;\n\n const {\n showLine,\n showLabel,\n resolvedValue,\n snap,\n render,\n axis,\n siblingAxis,\n resolvedShow\n } = cursor || {};\n\n const latestValue = useLatest(\n resolvedValue,\n typeof resolvedValue !== \"undefined\"\n );\n\n const previousShowRef = React.useRef();\n React.useEffect(\n () => {\n previousShowRef.current = resolvedShow;\n },\n [resolvedShow]\n );\n\n if (!cursor) {\n return null;\n }\n\n // Should we animate?\n const animated = snap || axis.type === \"ordinal\";\n\n // Get the sibling range\n const siblingRange = siblingAxis.scale.range();\n\n let x;\n let y;\n let x1;\n let x2;\n let y1;\n let y2;\n let alignPctX;\n let alignPctY;\n\n // Vertical alignment\n if (axis.vertical) {\n y = axis.scale(latestValue);\n x1 = siblingRange[0];\n x2 = siblingRange[1];\n y1 = y - 1;\n y2 = y + axis.cursorSize + 1;\n if (axis.position === \"left\") {\n alignPctX = -100;\n alignPctY = -50;\n } else {\n alignPctX = 0;\n alignPctY = -50;\n }\n } else {\n x = axis.scale(latestValue);\n x1 = x - 1;\n x2 = x + axis.cursorSize + 1;\n y1 = siblingRange[0];\n y2 = siblingRange[1];\n if (axis.position === \"top\") {\n alignPctX = -500;\n alignPctY = -100;\n } else {\n alignPctX = -50;\n alignPctY = 0;\n }\n }\n\n const renderProps = { ...cursor };\n\n renderProps.formattedValue = String(\n axis.vertical\n ? typeof latestValue !== \"undefined\"\n ? axis.format(\n axis.stacked && !primary && resolvedFocused\n ? resolvedFocused.totalValue\n : latestValue\n )\n : \"\"\n : typeof latestValue !== \"undefined\"\n ? axis.format(\n axis.stacked && !primary && resolvedFocused\n ? resolvedFocused.totalValue\n : latestValue\n )\n : \"\"\n );\n\n const lineStartX = Math.min(x1, x2);\n const lineStartY = Math.min(y1, y2);\n const lineEndX = Math.max(x1, x2);\n const lineEndY = Math.max(y1, y2);\n const bubbleX =\n axis.vertical && axis.RTL\n ? lineEndX\n : x1 + (!axis.vertical ? (x2 - x1) / 2 : 0) + (!axis.vertical ? 1 : 0);\n const bubbleY =\n !axis.vertical && axis.RTL\n ? lineStartY\n : y1 + (axis.vertical ? (y2 - y1) / 2 : 0) + (axis.vertical ? 1 : 0);\n\n const lineHeight = Math.max(lineEndY - lineStartY, 0);\n const lineWidth = Math.max(lineEndX - lineStartX, 0);\n\n let animateCoords;\n if (previousShowRef.current === resolvedShow) {\n animateCoords = true;\n }\n\n let renderedChildren = render(renderProps);\n\n return (\n \n {/* Render the cursor line */}\n {showLine ? (\n \n ) : null}\n {/* Render the cursor bubble */}\n {showLabel ? (\n \n {/* Render the cursor label */}\n \n {renderedChildren}\n \n \n ) : null}\n \n );\n}\n","import React from 'react'\nimport Utils from '../utils/Utils'\n//\nimport ChartContext from '../utils/ChartContext'\n\nexport default function Brush() {\n const [{ pointer, brush, gridX, gridY, gridHeight, dark }] = React.useContext(\n ChartContext\n )\n\n if (!brush) {\n return null\n }\n\n return (\n \n \n \n )\n}\n","import React from \"react\";\n//\nimport Raf from '../utils/Raf'\nimport Utils from \"../utils/Utils\";\nimport ChartContext from \"../utils/ChartContext\";\n\nimport Rectangle from \"../primitives/Rectangle\";\n\nimport Voronoi from \"./Voronoi\";\nimport Axis from \"./Axis\";\nimport Tooltip from \"./Tooltip\";\nimport Cursor from \"./Cursor\";\nimport Brush from \"./Brush\";\n\nexport default React.forwardRef(function ChartInner(\n { className, style = {}, ...rest },\n ref\n) {\n const [chartState] = React.useContext(ChartContext);\n const [\n {\n width,\n height,\n offset,\n gridX,\n gridY,\n stackData,\n primaryAxes,\n secondaryAxes,\n renderSVG,\n onClick,\n seriesOptions,\n getSeriesOrder,\n focused\n },\n setChartState\n ] = React.useContext(ChartContext);\n\n const svgRef = React.useRef();\n\n React.useLayoutEffect(() => {\n if (!svgRef.current) {\n return;\n }\n const current = svgRef.current.getBoundingClientRect();\n if (current.left !== offset.left || current.top !== offset.top) {\n setChartState(state => ({\n ...state,\n offset: {\n left: current.left,\n top: current.top\n }\n }));\n }\n });\n\n const onMouseLeave = e => {\n setChartState(state => ({\n ...state,\n focused: null\n }));\n setChartState(state => ({\n ...state,\n pointer: {\n ...state.pointer,\n active: false\n }\n }));\n };\n\n const rafRef = React.useRef();\n\n const onMouseMove = e => {\n if (rafRef.current) {\n Raf.cancel(rafRef.current);\n }\n rafRef.current = Raf(() => {\n rafRef.current = null;\n const { clientX, clientY } = e;\n\n setChartState(state => {\n const x = clientX - offset.left - gridX;\n const y = clientY - offset.top - gridY;\n\n const pointer = {\n ...state.pointer,\n active: true,\n x,\n y,\n dragging: state.pointer && state.pointer.down\n };\n return {\n ...state,\n pointer\n };\n });\n });\n };\n\n const onMouseUp = () => {\n document.removeEventListener(\"mouseup\", onMouseUp);\n document.removeEventListener(\"mousemove\", onMouseMove);\n\n setChartState(state => ({\n ...state,\n pointer: {\n ...state.pointer,\n down: false,\n dragging: false,\n released: {\n x: state.pointer.x,\n y: state.pointer.y\n }\n }\n }));\n };\n\n const onMouseDown = () => {\n document.addEventListener(\"mouseup\", onMouseUp);\n document.addEventListener(\"mousemove\", onMouseMove);\n\n setChartState(state => ({\n ...state,\n pointer: {\n ...state.pointer,\n sourceX: state.pointer.x,\n sourceY: state.pointer.y,\n down: true\n }\n }));\n };\n\n // Reverse the stack order for proper z-indexing\n const reversedStackData = [...stackData].reverse();\n const orderedStackData = getSeriesOrder(reversedStackData);\n\n const focusedSeriesIndex = focused\n ? orderedStackData.findIndex(series => series.id === focused.series.id)\n : -1;\n\n // Bring focused series to the front\n const focusOrderedStackData = focused\n ? [\n ...orderedStackData.slice(0, focusedSeriesIndex),\n ...orderedStackData.slice(focusedSeriesIndex + 1),\n orderedStackData[focusedSeriesIndex]\n ]\n : orderedStackData;\n\n const stacks = focusOrderedStackData.map(stack => {\n return (\n \n );\n });\n\n return (\n \n e.persist() || onMouseMove(e)}\n onMouseMove={e => e.persist() || onMouseMove(e)}\n onMouseLeave={e => e.persist() || onMouseLeave(e)}\n onMouseDown={e => e.persist() || onMouseDown(e)}\n onClick={onClick}\n >\n \n \n \n \n {[...primaryAxes, ...secondaryAxes].map(axis => (\n \n ))}\n \n \n {stacks}\n \n \n {renderSVG\n ? renderSVG({\n chartState,\n setChartState\n })\n : null}\n \n \n \n \n \n \n );\n});\n","import React from \"react\";\n//\nimport Utils from \"../utils/Utils\";\n\nexport default function usePropsMemo(fn, obj = {}) {\n const watchRef = React.useRef({\n style: {},\n props: {}\n });\n const valueRef = React.useRef();\n\n const { style = {}, ...props } = obj;\n if (\n Utils.shallowDiff(watchRef.current.style, style) ||\n Utils.shallowDiff(watchRef.current.props, props)\n ) {\n watchRef.current = obj;\n valueRef.current = fn();\n }\n return valueRef.current;\n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\n\nexport default function useSeriesStyle(series) {\n const [{ focused, getSeriesStyle }] = React.useContext(ChartContext);\n return series.getStatusStyle(focused, getSeriesStyle);\n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\n\nexport default function useDatumStyle(datum) {\n const [{ focused, getDatumStyle }] = React.useContext(ChartContext);\n return datum.getStatusStyle(focused, getDatumStyle);\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n r: 2,\n strokeWidth: \"1\",\n stroke: \"#000000\",\n fill: \"#000000\",\n opacity: 1\n};\n\nexport default function Circle({ x, y, r, style, ...rest }) {\n const resolvedStyle = {\n ...defaultStyle,\n ...style\n };\n\n return (\n \n );\n}\n","import React from \"react\";\nimport { line } from \"../d3\";\n\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\nimport { curveMonotoneX } from \"../utils/Curves\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Path from \"../primitives/Path\";\nimport Circle from \"../primitives/Circle\";\n\nconst pathDefaultStyle = {\n strokeWidth: 2\n};\n\nconst circleDefaultStyle = {\n r: 2\n};\n\nexport default function Line({ series, showPoints, curve }) {\n const lineFn = React.useMemo(\n () =>\n line()\n .x(d => d.x)\n .y(d => d.y)\n .defined(d => d.defined)\n .curve(curve),\n [curve]\n );\n const path = React.useMemo(() => lineFn(series.datums), [\n lineFn,\n series.datums\n ]);\n\n const style = useSeriesStyle(series);\n\n const pathProps = {\n d: path,\n style: {\n ...pathDefaultStyle,\n ...style,\n ...style.line,\n fill: \"none\"\n }\n };\n const renderedPath = usePropsMemo(() => , pathProps);\n\n return React.useMemo(\n () => (\n \n {renderedPath}\n {showPoints &&\n series.datums.map((datum, i) => {\n return (\n \n );\n })}\n \n ),\n [renderedPath, series.datums, showPoints, style]\n );\n}\n\nLine.defaultProps = {\n curve: curveMonotoneX\n};\n\nLine.plotDatum = (datum, { primaryAxis, secondaryAxis, xAxis, yAxis }) => {\n datum.primaryCoord = primaryAxis.scale(datum.primary);\n datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n datum.x = xAxis.scale(datum.xValue);\n datum.y = yAxis.scale(datum.yValue);\n datum.defined =\n Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n datum.base = primaryAxis.vertical\n ? xAxis.scale(datum.baseValue)\n : yAxis.scale(datum.baseValue);\n\n // Adjust non-bar elements for ordinal scales\n if (xAxis.type === \"ordinal\") {\n datum.x += xAxis.tickOffset;\n }\n if (yAxis.type === \"ordinal\") {\n datum.y += yAxis.tickOffset;\n }\n\n // Set the default anchor point\n datum.anchor = {\n x: datum.x,\n y: datum.y\n };\n\n // Set the pointer points (used in voronoi)\n datum.boundingPoints = [datum.anchor];\n};\n\nLine.buildStyles = (series, { defaultColors }) => {\n const defaults = {\n // Pass some sane defaults\n color: defaultColors[series.index % (defaultColors.length - 1)]\n };\n\n Utils.buildStyleGetters(series, defaults);\n};\n\nfunction Point({ datum, style }) {\n const [, setChartState] = React.useContext(ChartContext);\n\n const dataStyle = useDatumStyle(datum);\n\n const circleProps = {\n x: datum ? datum.x : undefined,\n y: datum ? datum.y : undefined,\n style: {\n ...circleDefaultStyle,\n ...style,\n ...style.circle,\n ...dataStyle,\n ...dataStyle.circle\n },\n onMouseEnter: e =>\n setChartState(state => ({\n ...state,\n element: datum\n })),\n onMouseLeave: e =>\n setChartState(state => ({\n ...state,\n element: null\n }))\n };\n return usePropsMemo(() => {\n if (!datum.defined) {\n return null;\n }\n return ;\n }, circleProps);\n}\n","import React from \"react\";\n//\n\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Circle from \"../primitives/Circle\";\n\nconst circleDefaultStyle = {\n r: 2\n};\n\nexport default function Bubble({ series }) {\n const style = useSeriesStyle(series);\n\n return (\n \n {series.datums.map((datum, i) => {\n return (\n \n );\n })}\n \n );\n}\n\nBubble.plotDatum = (datum, { primaryAxis, secondaryAxis, xAxis, yAxis }) => {\n datum.primaryCoord = primaryAxis.scale(datum.primary);\n datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n datum.x = xAxis.scale(datum.xValue);\n datum.y = yAxis.scale(datum.yValue);\n datum.defined =\n Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n datum.base = primaryAxis.vertical\n ? xAxis.scale(datum.baseValue)\n : yAxis.scale(datum.baseValue);\n // Adjust non-bar elements for ordinal scales\n if (xAxis.type === \"ordinal\") {\n datum.x += xAxis.tickOffset;\n }\n if (yAxis.type === \"ordinal\") {\n datum.y += yAxis.tickOffset;\n }\n\n // Set the default anchor point\n datum.anchor = {\n x: datum.x,\n y: datum.y,\n verticalPadding: datum.r,\n horizontalPadding: datum.r\n };\n\n // Set the pointer points (used in voronoi)\n datum.boundingPoints = [datum.anchor];\n};\n\nBubble.buildStyles = (series, { defaultColors }) => {\n const defaults = {\n // Pass some sane defaults\n color: defaultColors[series.index % (defaultColors.length - 1)]\n };\n\n Utils.buildStyleGetters(series, defaults);\n};\n\nfunction Point({ datum, style }) {\n const dataStyle = useDatumStyle(datum);\n const [, setChartState] = React.useContext(ChartContext);\n\n const circleProps = {\n x: datum ? datum.x : undefined,\n y: datum ? datum.y : undefined,\n style: {\n ...circleDefaultStyle,\n ...(typeof datum.r !== \"undefined\"\n ? {\n r: datum.r\n }\n : {}),\n ...style,\n ...style.circle,\n ...dataStyle,\n ...dataStyle.circle\n },\n onMouseEnter: e =>\n setChartState(state => ({\n ...state,\n element: datum\n })),\n onMouseLeave: e =>\n setChartState(state => ({\n ...state,\n element: null\n }))\n };\n\n return usePropsMemo(() => {\n if (!datum.defined) {\n return null;\n }\n return ;\n }, circleProps);\n}\n","import React from \"react\";\nimport { area, line } from \"../d3\";\n//\n\nimport Utils from \"../utils/Utils\";\nimport { curveLinear } from \"../utils/Curves\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Path from \"../primitives/Path\";\nimport Line from \"../primitives/Line\";\n\nconst defaultAreaStyle = {\n strokeWidth: 0\n};\n\nconst lineDefaultStyle = {\n strokeWidth: 3\n};\n\nexport default function Area({ series, showOrphans, curve }) {\n const areaFn = React.useMemo(\n () =>\n area()\n .x(d => d.x)\n .y0(d => d.base)\n .y1(d => d.y)\n .defined(d => d.defined)\n .curve(curve),\n [curve]\n );\n\n const lineFn = React.useMemo(\n () =>\n line()\n .x(d => d.x)\n .y(d => d.y)\n .defined(d => d.defined)\n .curve(curve),\n [curve]\n );\n const areaPath = React.useMemo(() => areaFn(series.datums), [\n areaFn,\n series.datums\n ]);\n const linePath = React.useMemo(() => lineFn(series.datums), [\n lineFn,\n series.datums\n ]);\n\n const style = useSeriesStyle(series);\n\n const areaPathProps = {\n d: areaPath,\n style: {\n ...defaultAreaStyle,\n ...style,\n ...style.line,\n ...style.area\n }\n };\n const renderedAreaPath = usePropsMemo(\n () => ,\n areaPathProps\n );\n\n const linePathProps = {\n d: linePath,\n style: {\n ...defaultAreaStyle,\n ...style,\n ...style.line,\n fill: \"none\"\n }\n };\n const renderedLinePath = usePropsMemo(\n () => ,\n linePathProps\n );\n\n return (\n \n {renderedAreaPath}\n {renderedLinePath}\n {showOrphans &&\n series.datums.map((datum, index, all) => {\n return (\n \n );\n })}\n \n );\n}\n\nArea.defaultProps = {\n showOrphans: true,\n curve: curveLinear\n};\n\nArea.plotDatum = (datum, { primaryAxis, secondaryAxis, xAxis, yAxis }) => {\n // Turn clamping on for secondaryAxis\n secondaryAxis.scale.clamp(true);\n\n datum.primaryCoord = primaryAxis.scale(datum.primary);\n datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n datum.x = xAxis.scale(datum.xValue);\n datum.y = yAxis.scale(datum.yValue);\n datum.defined =\n Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n datum.base = primaryAxis.vertical\n ? xAxis.scale(datum.baseValue)\n : yAxis.scale(datum.baseValue);\n\n // Turn clamping back off for secondaryAxis\n secondaryAxis.scale.clamp(false);\n\n // Adjust non-bar elements for ordinal scales\n if (xAxis.type === \"ordinal\") {\n datum.x += xAxis.tickOffset;\n }\n if (yAxis.type === \"ordinal\") {\n datum.y += yAxis.tickOffset;\n }\n\n // Set the default anchor point\n datum.anchor = {\n x: datum.x,\n y: datum.y\n };\n\n // Set the pointer points (used in voronoi)\n datum.boundingPoints = [\n datum.anchor,\n {\n x: primaryAxis.vertical\n ? primaryAxis.position === \"left\"\n ? datum.base - 1\n : datum.base\n : datum.anchor.x,\n y: !primaryAxis.vertical\n ? primaryAxis.position === \"bottom\"\n ? datum.base - 1\n : datum.base\n : datum.anchor.y\n }\n ];\n};\n\nArea.buildStyles = (series, { defaultColors }) => {\n const defaults = {\n // Pass some sane defaults\n color: defaultColors[series.index % (defaultColors.length - 1)]\n };\n\n Utils.buildStyleGetters(series, defaults);\n};\n\nconst OrphanLine = function OrphanLine({ datum, style, all, index }) {\n const prev = all[index - 1] || { defined: false };\n const next = all[index + 1] || { defined: false };\n\n const dataStyle = useDatumStyle(datum);\n\n const lineProps = {\n x1: !datum || Number.isNaN(datum.x) ? null : datum.x,\n y1: !datum || Number.isNaN(datum.base) ? null : datum.base,\n x2: !datum || Number.isNaN(datum.x) ? null : datum.x,\n y2: !datum || Number.isNaN(datum.y) ? null : datum.y,\n style: {\n ...lineDefaultStyle,\n ...style,\n ...style.line,\n ...dataStyle,\n ...dataStyle.line\n }\n };\n\n return usePropsMemo(() => {\n if (!datum.defined || prev.defined || next.defined) {\n return null;\n }\n return ;\n }, lineProps);\n};\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Rectangle from \"../primitives/Rectangle\";\n\nexport default function Bar({ series }) {\n const [{ primaryAxes }] = React.useContext(ChartContext);\n\n const style = useSeriesStyle(series);\n\n const { barOffset } = series.primaryAxisID\n ? primaryAxes.find(d => d.id === series.primaryAxisID)\n : primaryAxes[0];\n\n return (\n \n {series.datums.map((datum, i) => {\n return (\n \n );\n })}\n \n );\n}\n\nfunction BarPiece({ datum, barOffset, style }) {\n const [{ primaryAxes }, setChartState] = React.useContext(ChartContext);\n\n const x = datum ? datum.x : 0;\n const y = datum ? datum.y : 0;\n const base = datum ? datum.base : 0;\n const size = datum ? datum.size : 0;\n let x1;\n let y1;\n let x2;\n let y2;\n if (primaryAxes.find(d => d.vertical)) {\n x1 = base;\n x2 = x;\n y1 = y + barOffset;\n y2 = y1 + size;\n } else {\n x1 = x + barOffset;\n x2 = x1 + size;\n y1 = y;\n y2 = base;\n }\n\n const dataStyle = useDatumStyle(datum);\n\n const rectangleProps = {\n style: {\n pointerEvents: \"all\",\n ...style,\n ...style.rectangle,\n ...dataStyle,\n ...dataStyle.rectangle\n },\n x1: Number.isNaN(x1) ? null : x1,\n y1: Number.isNaN(y1) ? null : y1,\n x2: Number.isNaN(x2) ? null : x2,\n y2: Number.isNaN(y2) ? null : y2,\n onMouseEnter: e =>\n setChartState(state => ({\n ...state,\n element: datum\n })),\n onMouseLeave: e =>\n setChartState(state => ({\n ...state,\n element: null\n }))\n };\n\n return usePropsMemo(() => , rectangleProps);\n}\n\nBar.plotDatum = (datum, { xAxis, yAxis, primaryAxis, secondaryAxis }) => {\n // Turn clamping on for secondaryAxis\n secondaryAxis.scale.clamp(true);\n\n datum.primaryCoord = primaryAxis.scale(datum.primary);\n datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n datum.x = xAxis.scale(datum.xValue);\n datum.y = yAxis.scale(datum.yValue);\n datum.defined =\n Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n datum.base = secondaryAxis.scale(datum.baseValue);\n datum.size = primaryAxis.barSize;\n\n // Turn clamping back off for secondaryAxis\n secondaryAxis.scale.clamp(false);\n\n if (!secondaryAxis.stacked) {\n datum.size = primaryAxis.seriesBarSize;\n // Use the seriesTypeIndex here in case we have mixed types.\n const seriesBandScaleOffset = primaryAxis.seriesBandScale(\n datum.seriesTypeIndex\n );\n if (secondaryAxis.vertical) {\n datum.x += seriesBandScaleOffset;\n } else {\n datum.y += seriesBandScaleOffset;\n }\n }\n\n // Set the default anchor point\n datum.anchor = {\n x: datum.x,\n y: datum.y,\n horizontalPadding: secondaryAxis.vertical ? datum.size / 2 : 0,\n verticalPadding: secondaryAxis.vertical ? 0 : datum.size / 2\n };\n\n // Adjust the anchor point for bars\n if (!primaryAxis.vertical) {\n datum.anchor.x += primaryAxis.type !== \"ordinal\" ? 0 : datum.size / 2;\n } else {\n datum.anchor.y += primaryAxis.type !== \"ordinal\" ? 0 : datum.size / 2;\n }\n\n // Set the pointer points (used in voronoi)\n datum.boundingPoints = [\n // End of bar\n datum.anchor,\n // Start of bar\n {\n x: primaryAxis.vertical\n ? primaryAxis.position === \"left\"\n ? datum.base + 1\n : datum.base\n : datum.anchor.x,\n y: !primaryAxis.vertical\n ? primaryAxis.position === \"bottom\"\n ? datum.base - 1\n : datum.base\n : datum.anchor.y\n }\n ];\n};\n\nBar.buildStyles = (series, { defaultColors }) => {\n const defaults = {\n // Pass some sane defaults\n color: defaultColors[series.index % (defaultColors.length - 1)]\n };\n\n Utils.buildStyleGetters(series, defaults);\n};\n","import React from 'react'\n//\n\nimport { curveMonotoneX } from '../../utils/Curves'\n\nimport Line from '../../seriesTypes/Line'\nimport Bubble from '../../seriesTypes/Bubble'\nimport Area from '../../seriesTypes/Area'\nimport Bar from '../../seriesTypes/Bar'\n\nconst seriesTypes = {\n line: Line,\n bubble: Bubble,\n area: Area,\n bar: Bar,\n // pie: Pie\n}\n\nconst defaultSeries = {\n type: 'line',\n showPoints: true,\n showOrphans: true,\n curve: curveMonotoneX,\n}\n\nexport default ({ materializedData, series }) => {\n return React.useMemo(\n () =>\n materializedData.map((s, seriesIndex) => {\n const { type, ...rest } = {\n ...defaultSeries,\n ...(typeof series === 'function' ? series(s, seriesIndex) : series),\n }\n const renderer = seriesTypes[type]\n if (!renderer) {\n throw new Error(`Could not find a registered series type for ${type}`)\n }\n return {\n ...rest,\n type,\n renderer,\n }\n }),\n [materializedData, series]\n )\n}\n","import { scaleLinear, scaleLog, scaleTime, scaleUtc, scaleBand } from '../d3'\n//\nimport {\n positionTop,\n positionRight,\n positionBottom,\n positionLeft,\n axisTypeOrdinal,\n axisTypeTime,\n axisTypeUtc,\n axisTypeLinear,\n axisTypeLog,\n} from '../utils/Constants.js'\nimport Utils from '../utils/Utils'\n\nimport Bar from '../seriesTypes/Bar'\n\nconst scales = {\n [axisTypeLinear]: scaleLinear,\n [axisTypeLog]: scaleLog,\n [axisTypeTime]: scaleTime,\n [axisTypeUtc]: scaleUtc,\n [axisTypeOrdinal]: scaleBand,\n}\n\nconst detectVertical = d => [positionLeft, positionRight].indexOf(d) > -1\nconst detectRTL = d => [positionTop, positionRight].indexOf(d) > -1\n\nexport default function buildAxisLinear({\n axis: {\n primary,\n type,\n invert,\n position,\n primaryAxisID,\n min: userMin = undefined,\n max: userMax = undefined,\n hardMin = undefined,\n hardMax = undefined,\n base = undefined,\n tickCount = 'auto',\n minTickCount = 0,\n maxTickCount = Infinity,\n tickValues = null,\n format: userFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 14,\n maxLabelRotation = 50,\n labelRotationStep = 5,\n innerPadding = 0.2,\n outerPadding = 0.1,\n showGrid = null,\n showTicks = true,\n show = true,\n stacked = false,\n id: userID,\n },\n materializedData,\n gridHeight,\n gridWidth,\n axisDimensions,\n}) {\n if (!position) {\n throw new Error(`Chart axes must have a valid 'position' property`)\n }\n // Detect some settings\n const valueKey = primary ? 'primary' : 'secondary'\n const groupKey = !primary && 'primary'\n const AxisIDKey = `${valueKey}AxisID`\n const vertical = detectVertical(position)\n const RTL = detectRTL(position) // Right to left OR top to bottom\n\n const id = userID || `${position}_${type}`\n\n // TODO: Any sorting needs to happen here, else the min/max's might not line up correctly\n\n // First we need to find unique values, min/max values and negative/positive totals\n const uniqueVals = []\n let min\n let max\n let negativeTotalByKey = {}\n let positiveTotalByKey = {}\n let domain\n\n // const axisDimension =\n // axisDimensions && axisDimensions[position] && axisDimensions[position][id]\n\n // Loop through each series\n for (\n let seriesIndex = 0;\n seriesIndex < materializedData.length;\n seriesIndex++\n ) {\n if (\n materializedData[seriesIndex][AxisIDKey] &&\n materializedData[seriesIndex][AxisIDKey] !== id\n ) {\n continue\n }\n // Loop through each datum\n for (\n let datumIndex = 0;\n datumIndex < materializedData[seriesIndex].datums.length;\n datumIndex++\n ) {\n const datum = materializedData[seriesIndex].datums[datumIndex]\n let value\n const key = groupKey ? datum[groupKey] : datumIndex\n // For ordinal scales, unique the values\n if (type === axisTypeOrdinal) {\n if (uniqueVals.indexOf() === -1) {\n uniqueVals.push(\n materializedData[seriesIndex].datums[datumIndex][valueKey]\n )\n }\n } else if (type === axisTypeTime || type === axisTypeUtc) {\n value = +datum[valueKey]\n } else {\n value = datum[valueKey]\n }\n\n // Add to stack total\n if (stacked) {\n if (value > 0) {\n positiveTotalByKey[key] =\n typeof positiveTotalByKey[key] !== 'undefined'\n ? positiveTotalByKey[key] + value\n : value\n } else {\n negativeTotalByKey[key] =\n typeof negativeTotalByKey[key] !== 'undefined'\n ? negativeTotalByKey[key] + value\n : value\n }\n } else {\n // Find min/max\n min = typeof min !== 'undefined' ? Math.min(min, value) : value\n max = typeof max !== 'undefined' ? Math.max(max, value) : value\n }\n }\n }\n\n if (type === axisTypeOrdinal) {\n domain = uniqueVals\n } else if (stacked) {\n domain = [\n Math.min(0, ...Object.values(negativeTotalByKey)),\n Math.max(0, ...Object.values(positiveTotalByKey)),\n ]\n } else {\n domain = [min, max]\n }\n\n // Now we need to figure out the range\n let range = [0, vertical ? gridHeight : gridWidth] // axes by default read from top to bottom and left to right\n if (vertical && !primary) {\n // Vertical secondary ranges get inverted by default\n range.reverse()\n }\n\n // Give the scale a home\n let scale\n\n // If this is an ordinal or other primary axis, it needs to be able to display bars.\n let bandScale\n let barSize = 0\n let cursorSize = 0\n let stepSize = 0\n\n let seriesBandScale = d => d\n let seriesBarSize = 1\n\n if (type === axisTypeOrdinal || primary) {\n // Calculate a band axis that is similar and pass down the bandwidth\n // just in case.\n bandScale = scaleBand()\n .domain(\n materializedData\n .reduce(\n (prev, current) =>\n current.datums.length > prev.length ? current.datums : prev,\n []\n )\n .map(d => d.primary)\n )\n .rangeRound(range, 0.1)\n .padding(0)\n\n bandScale.paddingOuter(outerPadding).paddingInner(innerPadding)\n barSize = bandScale.bandwidth()\n\n if (type === axisTypeOrdinal) {\n cursorSize = barSize\n }\n\n // barSize = bandScale.bandwidth()\n stepSize = bandScale.step()\n\n // Create a seriesBandScale in case this axis isn't stacked\n seriesBandScale = scaleBand()\n .paddingInner(innerPadding / 2)\n .domain(\n materializedData.filter(d => d.Component === Bar).map((d, i) => i)\n )\n .rangeRound([0, barSize])\n\n seriesBarSize = seriesBandScale.bandwidth()\n }\n\n if (type === axisTypeOrdinal) {\n // If it's ordinal, just assign the bandScale we made\n scale = bandScale\n } else {\n // Otherwise, create a new scale of the appropriate type\n scale = scales[type]()\n }\n\n // Set base, min, and max\n if (typeof base === 'number') {\n domain[0] = Math.min(domain[0], base)\n domain[1] = Math.max(domain[1], base)\n }\n if (typeof defaultMin === 'number') {\n domain[0] = Math.min(domain[0], userMin)\n }\n if (typeof defaultMax === 'number') {\n domain[1] = Math.max(domain[1], userMax)\n }\n\n // Set the domain\n scale.domain(domain)\n\n // If we're not using an ordinal scale, round the ticks to \"nice\" values\n if (type !== axisTypeOrdinal) {\n scale.nice()\n }\n\n // If hard min and max are set, override any \"nice\" rounding values\n if (typeof hardMin === 'number') {\n scale.domain([hardMin, scale.domain()[1]])\n }\n if (typeof hardMax === 'number') {\n scale.domain([scale.domain()[0], hardMax])\n }\n\n // Invert if necessary\n if (invert) {\n scale.domain([...scale.domain()].reverse())\n }\n\n // Now set the range\n scale.range(range)\n\n const scaleFormat = scale.tickFormat ? scale.tickFormat() : Utils.identity\n\n const format = userFormat\n ? (...args) => userFormat(scaleFormat(...args))\n : scaleFormat\n\n // Pass down the axis config (including the scale itself) for posterity\n const axis = {\n id,\n primary,\n type,\n invert,\n position,\n primaryAxisID,\n hardMin,\n hardMax,\n base,\n tickCount,\n minTickCount,\n maxTickCount,\n tickValues,\n tickSizeInner,\n tickSizeOuter,\n tickPadding,\n maxLabelRotation,\n labelRotationStep,\n innerPadding,\n outerPadding,\n showGrid,\n showTicks,\n show,\n stacked,\n scale,\n uniqueVals,\n vertical,\n RTL,\n barSize,\n cursorSize,\n stepSize,\n seriesBandScale,\n seriesBarSize,\n domain,\n range,\n max:\n position === positionBottom\n ? -gridHeight\n : position === positionLeft\n ? gridWidth\n : position === positionTop\n ? gridHeight\n : -gridWidth,\n directionMultiplier:\n position === positionTop || position === positionLeft ? -1 : 1,\n transform: !vertical ? Utils.translateX : Utils.translateY,\n ticks:\n tickValues || scale.ticks\n ? scale\n .ticks\n // tickCount === 'auto'\n // ? axisDimension\n // ? axisDimension.tickCount\n // : 10\n // : tickCount\n ()\n : scale.domain(),\n format,\n spacing: Math.max(tickSizeInner, 0) + tickPadding,\n }\n\n if (type === axisTypeOrdinal) {\n axis.gridOffset = -(axis.stepSize * innerPadding) / 2\n axis.tickOffset = axis.barSize / 2\n axis.barOffset = 0\n } else {\n axis.tickOffset = 0\n axis.barOffset = -axis.barSize / 2\n }\n\n return axis\n}\n","// import buildAxisPie from './buildAxis.pie'\nimport buildAxisLinear from \"./buildAxis.linear\";\n\nexport default function(config) {\n // if (config.type === 'pie') {\n // return buildAxisPie(config)\n // }\n return buildAxisLinear(config);\n}\n","import React from 'react'\n//\nimport Utils from '../../utils/Utils'\n\nimport {\n groupingSingle,\n groupingSeries,\n groupingPrimary,\n groupingSecondary\n} from '../../utils/Constants'\n\nconst defaultColors = [\n '#4ab5eb',\n '#fc6868',\n '#DECF3F',\n '#60BD68',\n '#FAA43A',\n '#c63b89',\n '#1aaabe',\n '#734fe9',\n '#1828bd',\n '#cd82ad'\n]\n\nexport default ({\n materializedData,\n primaryAxes,\n secondaryAxes,\n yAxes,\n yKey,\n xAxes,\n xKey,\n grouping\n}) => {\n // Make stackData\n return React.useMemo(() => {\n // We need materializedData and both axes to continue\n if (!primaryAxes.length || !secondaryAxes.length) {\n throw new Error('A primary and secondary axis is required!')\n }\n\n // If the axes are ready, let's decorate the materializedData for visual plotting\n // \"totals\" are kept per secondaryAxis and used for bases if secondaryAxis stacking is enabled\n const scaleTotals = secondaryAxes.map(() => ({}))\n materializedData.forEach(series => {\n const axisIndex = Utils.getAxisIndexByAxisID(\n secondaryAxes,\n series.secondaryAxisID\n )\n series.datums.forEach(datum => {\n scaleTotals[axisIndex][datum.primary] = {\n negative: 0,\n positive: 0\n }\n })\n })\n\n // Determine the correct primary and secondary values for each axis\n // Also calculate bases and totals if either axis is stacked\n let stackData = materializedData.map(series => {\n const primaryAxisIndex = Utils.getAxisIndexByAxisID(\n primaryAxes,\n series.primaryAxisID\n )\n const primaryAxis = primaryAxes[primaryAxisIndex]\n const secondaryAxisIndex = Utils.getAxisIndexByAxisID(\n secondaryAxes,\n series.secondaryAxisID\n )\n const secondaryAxis = secondaryAxes[secondaryAxisIndex]\n return {\n ...series,\n primaryAxis,\n secondaryAxis,\n datums: series.datums.map(d => {\n const datum = {\n ...d,\n primaryAxis,\n secondaryAxis,\n xValue: d[xKey],\n yValue: d[yKey],\n baseValue: 0\n }\n if (secondaryAxis.stacked) {\n const start = scaleTotals[secondaryAxisIndex][d.primary]\n // Stack the x or y values (according to axis positioning)\n if (primaryAxis.vertical) {\n // Is this a valid point?\n const validPoint = Utils.isValidPoint(datum.xValue)\n // Should we use positive or negative base?\n const totalKey = datum.xValue >= 0 ? 'positive' : 'negative'\n // Assign the base\n datum.baseValue = start[totalKey]\n // Add the value for a total\n datum.totalValue =\n datum.baseValue + (validPoint ? datum.xValue : 0)\n // Update the totals\n scaleTotals[secondaryAxisIndex][d.primary][totalKey] =\n datum.totalValue\n // Make the total the new value\n datum.xValue = validPoint ? datum.totalValue : null\n } else {\n // Is this a valid point?\n const validPoint = Utils.isValidPoint(datum.yValue)\n // Should we use positive or negative base?\n const totalKey = datum.yValue >= 0 ? 'positive' : 'negative'\n // Assign the base\n datum.baseValue = start[totalKey]\n // Add the value to the base\n datum.totalValue =\n datum.baseValue + (validPoint ? datum.yValue : 0)\n // Update the totals\n scaleTotals[secondaryAxisIndex][d.primary][totalKey] =\n datum.totalValue\n // Make the total the new value\n datum.yValue = validPoint ? datum.totalValue : null\n }\n }\n return datum\n })\n }\n })\n\n stackData.forEach(series => {\n series.datums.forEach(datum => {\n datum.series = series\n })\n })\n\n // Use the plotDatum method on each series\n stackData.forEach((series, i) => {\n if (!series.Component.plotDatum) {\n throw new Error(\n `Could not find a [SeriesType].plotDatum() static method for the series Component above (index: ${i})`\n )\n }\n\n const primaryAxisIndex = Utils.getAxisIndexByAxisID(\n primaryAxes,\n series.primaryAxisID\n )\n const secondaryAxisIndex = Utils.getAxisIndexByAxisID(\n secondaryAxes,\n series.secondaryAxisID\n )\n\n const primaryAxis = primaryAxes[primaryAxisIndex]\n const secondaryAxis = secondaryAxes[secondaryAxisIndex]\n\n const xAxisIndex = Utils.getAxisIndexByAxisID(\n xAxes,\n series[`${xKey}AxisID`]\n )\n const yAxisIndex = Utils.getAxisIndexByAxisID(\n yAxes,\n series[`${yKey}AxisID`]\n )\n\n const xAxis = xAxes[xAxisIndex]\n const yAxis = yAxes[yAxisIndex]\n\n series.datums = series.datums.map(d => {\n // Data for cartesian charts\n const result = series.Component.plotDatum(d, {\n primaryAxis,\n secondaryAxis,\n xAxis,\n yAxis\n })\n\n return result || d\n })\n })\n\n // Do any data grouping ahead of time using\n if ([groupingSingle, groupingSeries].includes(grouping)) {\n for (let seriesIndex = 0; seriesIndex < stackData.length; seriesIndex++) {\n const series = stackData[seriesIndex]\n for (\n let datumIndex = 0;\n datumIndex < series.datums.length;\n datumIndex++\n ) {\n const datum = series.datums[datumIndex]\n datum.group =\n grouping === groupingSeries ? datum.series.datums : [datum]\n }\n }\n } else if ([groupingPrimary, groupingSecondary].includes(grouping)) {\n const datumsByGrouping = {}\n\n for (let seriesIndex = 0; seriesIndex < stackData.length; seriesIndex++) {\n const series = stackData[seriesIndex]\n\n for (\n let datumIndex = 0;\n datumIndex < series.datums.length;\n datumIndex++\n ) {\n const datum = series.datums[datumIndex]\n if (!datum.defined) {\n continue\n }\n const axisKey = String(\n grouping === groupingPrimary ? datum.primary : datum.secondary\n )\n\n datumsByGrouping[axisKey] = datumsByGrouping[axisKey] || []\n datumsByGrouping[axisKey].push(datum)\n }\n }\n\n for (let seriesIndex = 0; seriesIndex < stackData.length; seriesIndex++) {\n const series = stackData[seriesIndex]\n for (\n let datumIndex = 0;\n datumIndex < series.datums.length;\n datumIndex++\n ) {\n const datum = series.datums[datumIndex]\n const axisKey = String(\n grouping === groupingPrimary ? datum.primary : datum.secondary\n )\n\n datum.group = datumsByGrouping[axisKey]\n }\n }\n }\n\n // Not we need to precalculate all of the possible status styles by\n // calling the seemingly 'live' getSeriesStyle, and getDatumStyle callbacks ;)\n stackData = stackData.map((series, i) => {\n if (!series.Component.buildStyles) {\n throw new Error(\n `Could not find a SeriesType.buildStyles() static method for the series Component above (index: ${i})`\n )\n }\n const result = series.Component.buildStyles(series, {\n defaultColors\n })\n\n return result || series\n })\n\n return stackData\n }, [\n primaryAxes,\n secondaryAxes,\n materializedData,\n grouping,\n xKey,\n yKey,\n xAxes,\n yAxes\n ])\n}\n","import React from 'react'\n//\n//\nimport {\n groupingSeries,\n groupingPrimary,\n groupingSecondary,\n} from '../utils/Constants'\n\nconst showCount = 10\n\nfunction getSecondaryFormatter(datum, formatSecondary) {\n return (\n formatSecondary ||\n datum.secondaryAxis.format ||\n (val => (Math.floor(val) < val ? Math.round(val * 100) / 100 : val))\n )\n}\n\nexport default function TooltipRenderer(props) {\n const {\n datum,\n grouping,\n primaryAxis,\n secondaryAxis,\n formatSecondary,\n formatTertiary,\n getStyle,\n dark,\n } = props\n\n if (!datum) {\n return null\n }\n\n const resolvedFormatTertiary =\n formatTertiary ||\n (val => (Math.floor(val) < val ? Math.round(val * 100) / 100 : val))\n\n const sortedGroupDatums = [...datum.group].sort((a, b) => {\n if (\n (!primaryAxis.stacked && grouping === groupingSeries) ||\n grouping === groupingSecondary\n ) {\n if (a.primaryCoord > b.primaryCoord) {\n return -1\n } else if (a.primaryCoord < b.primaryCoord) {\n return 1\n }\n } else if (!secondaryAxis.stacked) {\n if (a.secondaryCoord > b.secondaryCoord) {\n return -1\n } else if (a.secondaryCoord < b.secondaryCoord) {\n return 1\n }\n }\n return a.seriesIndex > b.seriesIndex ? 1 : -1\n })\n\n if (grouping === groupingPrimary) {\n sortedGroupDatums.reverse()\n }\n\n if (secondaryAxis.invert) {\n sortedGroupDatums.reverse()\n }\n\n const resolvedShowCount = showCount % 2 === 0 ? showCount : showCount + 1\n const length = sortedGroupDatums.length\n\n // Get the focused series' index\n const activeIndex = sortedGroupDatums.findIndex(d => d === datum)\n // Get the start by going back half of the showCount\n let start = activeIndex > -1 ? activeIndex - resolvedShowCount / 2 : 0\n // Make sure it's at least 0\n start = Math.max(start, 0)\n // Use the start and add the showCount to get the end\n let end = activeIndex > -1 ? start + resolvedShowCount : length\n // Don't let the end go passed the length\n end = Math.min(end, length)\n // Double check we aren't clipping the start\n start = Math.max(end - resolvedShowCount, 0)\n // Slice the datums by start and end\n const visibleSortedGroupDatums = sortedGroupDatums.slice(start, end)\n // Detect if we have previous items\n const hasPrevious = start > 0\n // Or next items\n const hasNext = end < length\n\n return (\n
\n \n {grouping === groupingSeries ? (\n {datum.seriesLabel}\n ) : grouping === groupingSecondary ? (\n {datum.secondaryAxis.format(datum.secondary)}\n ) : (\n {datum.primaryAxis.format(datum.primary)}\n )}\n
\n \n \n {hasPrevious ? (\n \n \n ...\n \n \n ) : null}\n {visibleSortedGroupDatums.map((sortedDatum, i) => {\n const active = sortedDatum === datum\n const resolvedSecondaryFormat = getSecondaryFormatter(\n sortedDatum,\n formatSecondary\n )\n\n return (\n \n \n \n \n \n \n {grouping === groupingSeries ? (\n \n {primaryAxis.format(sortedDatum.primary)}:  \n \n {resolvedSecondaryFormat(sortedDatum.secondary)}\n {sortedDatum.r\n ? ` (${resolvedFormatTertiary(sortedDatum.r)})`\n : null}\n \n \n ) : grouping === groupingSecondary ? (\n \n {sortedDatum.seriesLabel}:  \n \n {primaryAxis.format(sortedDatum.primary)}\n {sortedDatum.r\n ? ` (${resolvedFormatTertiary(sortedDatum.r)})`\n : null}\n \n \n ) : (\n \n {sortedDatum.seriesLabel}:  \n \n {resolvedSecondaryFormat(sortedDatum.secondary)}\n {sortedDatum.r\n ? ` (${resolvedFormatTertiary(sortedDatum.r)})`\n : null}\n \n \n )}\n \n )\n })}\n {hasNext ? (\n \n \n ...\n \n \n ) : null}\n {secondaryAxis && secondaryAxis.stacked && datum.group.length > 1 ? (\n \n \n \n \n \n Total:  \n \n \n {secondaryAxis.format([...datum.group].reverse()[0].totalValue)}\n \n \n ) : null}\n \n \n \n )\n}\n","import React from 'react'\n\nimport Utils from '../../utils/Utils'\n\nconst defaultCursorProps = {\n render: ({ formattedValue }) => {formattedValue},\n snap: true,\n showLine: true,\n showLabel: true,\n axisID: undefined,\n onChange: () => {},\n}\n\nexport default ({\n primaryCursor,\n secondaryCursor,\n primaryAxes,\n secondaryAxes,\n focused,\n pointer,\n gridWidth,\n gridHeight,\n stackData,\n}) => {\n return [primaryCursor, secondaryCursor].map((cursor, i) => {\n const cursorValue = cursor && cursor.value\n\n return React.useMemo(() => {\n if (!cursor) {\n return\n }\n const primary = i === 0\n // eslint-disable-next-line react-hooks/exhaustive-deps\n cursor = {\n ...defaultCursorProps,\n ...cursor,\n primary,\n }\n\n let value\n let show = false\n\n // Determine the axis to use\n const axis = Utils.getAxisByAxisID(\n primary ? primaryAxes : secondaryAxes,\n cursor.axisID || focused\n ? focused.series[primary ? 'primaryAxisID' : 'secondaryAxisID']\n : undefined\n )\n\n const siblingAxis = primary ? secondaryAxes[0] : primaryAxes[0]\n\n // Resolve the invert function\n const invert = axis.scale.invert || (d => d)\n\n // If the pointer is active, try to show\n if (pointer.active) {\n // Default to cursor x and y\n let x = pointer.x\n let y = pointer.y\n // If the cursor isn't in the grid, don't display\n if (x < -1 || x > gridWidth + 1 || y < -1 || y > gridHeight + 1) {\n show = false\n } else {\n show = true\n }\n\n // Implement snapping\n if (axis.type === 'ordinal' || cursor.snap) {\n if (!focused) {\n show = false\n } else {\n if (axis.vertical) {\n value = focused.yValue\n } else {\n value = focused.xValue\n }\n }\n } else if (axis.vertical) {\n value = invert(y)\n } else {\n value = invert(x)\n }\n } else {\n show = false\n }\n\n let resolvedShow = show\n let resolvedValue = value\n\n if (typeof cursor.value !== 'undefined' && cursor.value !== null) {\n resolvedValue = cursor.value\n\n if (typeof cursor.show !== 'undefined') {\n resolvedShow = cursor.show\n } else {\n resolvedShow = true\n }\n\n if (typeof axis.scale(resolvedValue) === 'undefined') {\n resolvedShow = false\n }\n }\n\n return {\n ...cursor,\n axis,\n siblingAxis,\n show,\n value,\n resolvedShow,\n resolvedValue,\n }\n }, [stackData, pointer, cursorValue])\n })\n}\n","import React from 'react'\n//\nimport ChartContext from '../utils/ChartContext'\nimport Utils from '../utils/Utils'\n\nimport useHyperResponsive from '../hooks/useHyperResponsive'\nimport useLatestRef from '../hooks/useLatestRef'\nimport useLatest from '../hooks/useLatest'\nimport usePrevious from '../hooks/usePrevious'\n\nimport ChartInner from './ChartInner'\n\nimport useMaterializeData from './pipeline/useMaterializeData'\nimport useSeriesOptions from './pipeline/useSeriesOptions'\nimport useSeriesTypes from './pipeline/useSeriesTypes'\nimport useDimensions from './pipeline/useDimensions'\nimport useAxes from './pipeline/useAxes'\nimport useStackData from './pipeline/useStackData'\nimport useTooltip from './pipeline/useTooltip'\nimport useCursors from './pipeline/useCursors'\n\nimport {\n groupingPrimary,\n focusAuto,\n focusElement,\n focusClosest,\n} from '../utils/Constants'\n\nconst defaultProps = {\n getDatums: d => (Array.isArray(d) ? d : d.datums || d.data),\n getLabel: (d, i) => d.label || `Series ${i + 1}`,\n getSeriesID: (d, i) => i,\n getPrimary: d => (Array.isArray(d) ? d[0] : d.primary || d.x),\n getSecondary: d => (Array.isArray(d) ? d[1] : d.secondary || d.y),\n getR: d => (Array.isArray(d) ? d[2] : d.radius || d.r),\n getPrimaryAxisID: s => s.primaryAxisID,\n getSecondaryAxisID: s => s.secondaryAxisID,\n getSeriesStyle: series => ({ color: series.originalSeries.color }),\n getDatumStyle: () => ({}),\n getSeriesOrder: d => d,\n onHover: () => {},\n grouping: groupingPrimary,\n focus: focusAuto,\n showVoronoi: false,\n}\n\nexport default function Chart({\n data,\n grouping,\n focus,\n showVoronoi,\n dark,\n series,\n axes,\n primaryCursor,\n secondaryCursor,\n tooltip,\n brush,\n renderSVG,\n getDatums,\n getLabel,\n getSeriesID,\n getPrimary,\n getSecondary,\n getR,\n getPrimaryAxisID,\n getSecondaryAxisID,\n getSeriesStyle,\n getDatumStyle,\n onClick,\n onFocus,\n onHover,\n getSeriesOrder,\n ...rest\n}) {\n let [\n { focused, element, axisDimensions, offset: offsetState, padding, pointer },\n setChartState,\n ] = React.useState({\n focused: null,\n element: null,\n axisDimensions: {},\n padding: {},\n offset: {},\n pointer: {},\n })\n\n const onClickRef = useLatestRef(onClick)\n const onFocusRef = useLatestRef(onFocus)\n const onHoverRef = useLatestRef(onHover)\n\n const responsiveElRef = React.useRef()\n const { width, height } = useHyperResponsive(responsiveElRef)\n\n getSeriesID = React.useCallback(Utils.normalizeGetter(getSeriesID), [\n getSeriesID,\n ])\n getLabel = React.useCallback(Utils.normalizeGetter(getLabel), [getLabel])\n getPrimaryAxisID = React.useCallback(\n Utils.normalizeGetter(getPrimaryAxisID),\n [getPrimaryAxisID]\n )\n getSecondaryAxisID = React.useCallback(\n Utils.normalizeGetter(getSecondaryAxisID),\n [getSecondaryAxisID]\n )\n getDatums = React.useCallback(Utils.normalizeGetter(getDatums), [getDatums])\n getPrimary = React.useCallback(Utils.normalizeGetter(getPrimary), [\n getPrimary,\n ])\n getSecondary = React.useCallback(Utils.normalizeGetter(getSecondary), [\n getSecondary,\n ])\n getR = React.useCallback(Utils.normalizeGetter(getR), [getR])\n\n let materializedData = useMaterializeData({\n data,\n getSeriesID,\n getLabel,\n getPrimaryAxisID,\n getSecondaryAxisID,\n getDatums,\n getPrimary,\n getSecondary,\n getR,\n })\n\n const seriesOptions = useSeriesOptions({\n materializedData,\n series,\n })\n\n materializedData = useSeriesTypes({\n materializedData,\n seriesOptions,\n })\n\n const { offset, gridX, gridY, gridWidth, gridHeight } = useDimensions({\n width,\n height,\n axisDimensions,\n padding,\n offset: offsetState,\n })\n\n const { primaryAxes, secondaryAxes, xKey, yKey, xAxes, yAxes } = useAxes({\n axes,\n materializedData,\n gridHeight,\n gridWidth,\n axisDimensions,\n })\n\n const stackData = useStackData({\n materializedData,\n primaryAxes,\n secondaryAxes,\n yAxes,\n yKey,\n xAxes,\n xKey,\n grouping,\n })\n\n pointer = React.useMemo(() => {\n return {\n ...pointer,\n axisValues: [...primaryAxes, ...secondaryAxes].map(axis => ({\n axis,\n value: axis.scale.invert\n ? axis.scale.invert(pointer[axis.vertical ? 'y' : 'x'])\n : null,\n })),\n }\n }, [pointer, primaryAxes, secondaryAxes])\n\n focused = React.useMemo(() => {\n // Get the closest focus datum out of the datum group\n if (focused || element) {\n let resolvedFocus = focus\n\n if (focus === focusAuto) {\n if (element) {\n resolvedFocus = focusElement\n } else {\n resolvedFocus = focusClosest\n }\n }\n\n if (resolvedFocus === focusElement && element) {\n return element\n } else if (resolvedFocus === focusClosest) {\n return Utils.getClosestPoint(pointer, focused.group)\n }\n }\n return null\n }, [element, focus, focused, pointer])\n\n // keep the previous focused value around for animations\n const latestFocused = useLatest(focused, focused)\n\n // Calculate Tooltip\n tooltip = useTooltip({\n focused,\n tooltip,\n pointer,\n gridWidth,\n gridHeight,\n })\n\n // Cursors\n ;[primaryCursor, secondaryCursor] = useCursors({\n primaryCursor,\n secondaryCursor,\n primaryAxes,\n secondaryAxes,\n focused,\n pointer,\n gridWidth,\n gridHeight,\n stackData,\n })\n\n React.useEffect(() => {\n if (onFocusRef.current) {\n onFocusRef.current(focused)\n }\n }, [onFocusRef, focused])\n\n React.useEffect(() => {\n if (onHoverRef.current) {\n onHoverRef.current(pointer)\n }\n }, [onHoverRef, pointer])\n\n const previousDragging = usePrevious(pointer.dragging)\n\n React.useEffect(() => {\n if (brush && previousDragging && !pointer.dragging) {\n if (Math.abs(pointer.sourceX - pointer.x) < 20) {\n return\n }\n brush.onSelect({\n pointer: pointer.released,\n start: primaryAxes[0].scale.invert(pointer.sourceX),\n end: primaryAxes[0].scale.invert(pointer.x),\n })\n }\n }, [\n brush,\n pointer,\n pointer.released,\n pointer.sourceX,\n pointer.x,\n previousDragging,\n primaryAxes,\n ])\n\n // Decorate the chartState with computed values (or ones we just\n // want to pass down through context)\n const chartState = React.useMemo(\n () => ({\n focused,\n latestFocused,\n pointer,\n tooltip,\n axisDimensions,\n offset,\n padding,\n width,\n height,\n brush,\n grouping,\n showVoronoi,\n materializedData,\n stackData,\n primaryAxes,\n secondaryAxes,\n primaryCursor,\n secondaryCursor,\n gridX,\n gridY,\n gridWidth,\n gridHeight,\n dark,\n renderSVG,\n xKey,\n yKey,\n xAxes,\n yAxes,\n onClickRef,\n getSeriesStyle,\n getDatumStyle,\n seriesOptions,\n getSeriesOrder,\n }),\n [\n axisDimensions,\n brush,\n dark,\n focused,\n getDatumStyle,\n getSeriesOrder,\n getSeriesStyle,\n gridHeight,\n gridWidth,\n gridX,\n gridY,\n grouping,\n height,\n latestFocused,\n materializedData,\n offset,\n onClickRef,\n padding,\n pointer,\n primaryAxes,\n primaryCursor,\n renderSVG,\n secondaryAxes,\n secondaryCursor,\n seriesOptions,\n showVoronoi,\n stackData,\n tooltip,\n width,\n xAxes,\n xKey,\n yAxes,\n yKey,\n ]\n )\n\n const chartStateContextValue = React.useMemo(\n () => [chartState, setChartState],\n [chartState, setChartState]\n )\n\n return (\n \n {\n if (onClickRef.current) {\n onClickRef.current(focused)\n }\n }}\n />\n \n )\n}\n\nChart.defaultProps = defaultProps\n","import React from 'react'\n//\n\nexport default ({\n data,\n getSeriesID,\n getLabel,\n getPrimaryAxisID,\n getSecondaryAxisID,\n getDatums,\n getPrimary,\n getSecondary,\n getR\n}) => {\n return React.useMemo(() => {\n const materializedData = []\n\n // First access the data, and provide it to the context\n for (let seriesIndex = 0; seriesIndex < data.length; seriesIndex++) {\n const originalSeries = data[seriesIndex]\n const seriesID = getSeriesID(originalSeries, seriesIndex, data)\n const seriesLabel = getLabel(originalSeries, seriesIndex, data)\n const primaryAxisID = getPrimaryAxisID(originalSeries, seriesIndex, data)\n const secondaryAxisID = getSecondaryAxisID(\n originalSeries,\n seriesIndex,\n data\n )\n const originalDatums = getDatums(originalSeries, seriesIndex, data)\n const datums = []\n\n for (\n let datumIndex = 0;\n datumIndex < originalDatums.length;\n datumIndex++\n ) {\n const originalDatum = originalDatums[datumIndex]\n datums[datumIndex] = {\n originalSeries,\n seriesIndex,\n seriesID,\n seriesLabel,\n index: datumIndex,\n originalDatum,\n primary: getPrimary(\n originalDatum,\n datumIndex,\n originalSeries,\n seriesIndex,\n data\n ),\n secondary: getSecondary(\n originalDatum,\n datumIndex,\n originalSeries,\n seriesIndex,\n data\n ),\n r: getR(originalDatum, datumIndex, originalSeries, seriesIndex, data)\n }\n }\n\n materializedData[seriesIndex] = {\n originalSeries,\n index: seriesIndex,\n id: seriesID,\n label: seriesLabel,\n primaryAxisID,\n secondaryAxisID,\n datums\n }\n }\n\n return materializedData\n }, [\n data,\n getDatums,\n getLabel,\n getPrimary,\n getPrimaryAxisID,\n getR,\n getSecondary,\n getSecondaryAxisID,\n getSeriesID\n ])\n}\n","import React from 'react'\n\nexport default ({ materializedData, seriesOptions }) =>\n React.useMemo(() => {\n return materializedData\n .map((series, i) => {\n series.Component = seriesOptions[i].renderer\n return series\n })\n .map((series, i, all) => {\n const seriesTypeIndex = all.filter(\n (d, j) => j < i && d.Component === series.Component\n ).length\n return {\n ...series,\n seriesTypeIndex,\n datums: series.datums.map(datum => ({\n ...datum,\n seriesTypeIndex\n }))\n }\n })\n }, [materializedData, seriesOptions])\n","import React from 'react'\n\nimport Utils from '../../utils/Utils'\n\nexport default ({ width, height, axisDimensions, padding, offset }) => {\n offset = React.useMemo(() => {\n return {\n left: offset.left || 0,\n top: offset.top || 0\n }\n }, [offset])\n\n const { gridX, gridY, gridWidth, gridHeight } = React.useMemo(() => {\n // Left\n const axesLeftWidth =\n (axisDimensions.left && Utils.sumObjBy(axisDimensions.left, 'width')) || 0\n const axesLeftTop =\n (axisDimensions.left && Utils.sumObjBy(axisDimensions.left, 'top')) || 0\n const axesLeftBottom =\n (axisDimensions.left && Utils.sumObjBy(axisDimensions.left, 'bottom')) ||\n 0\n\n // Right\n const axesRightWidth =\n (axisDimensions.right && Utils.sumObjBy(axisDimensions.right, 'width')) ||\n 0\n const axesRightTop =\n (axisDimensions.right && Utils.sumObjBy(axisDimensions.right, 'top')) || 0\n const axesRightBottom =\n (axisDimensions.right &&\n Utils.sumObjBy(axisDimensions.right, 'bottom')) ||\n 0\n\n // Top\n const axesTopHeight =\n (axisDimensions.top && Utils.sumObjBy(axisDimensions.top, 'height')) || 0\n const axesTopLeft =\n (axisDimensions.top && Utils.sumObjBy(axisDimensions.top, 'left')) || 0\n const axesTopRight =\n (axisDimensions.top && Utils.sumObjBy(axisDimensions.top, 'right')) || 0\n\n // Bottom\n const axesBottomHeight =\n (axisDimensions.bottom &&\n Utils.sumObjBy(axisDimensions.bottom, 'height')) ||\n 0\n const axesBottomLeft =\n (axisDimensions.bottom &&\n Utils.sumObjBy(axisDimensions.bottom, 'left')) ||\n 0\n const axesBottomRight =\n (axisDimensions.bottom &&\n Utils.sumObjBy(axisDimensions.bottom, 'right')) ||\n 0\n\n const paddingLeft = padding.left || 0\n const paddingRight = padding.right || 0\n const paddingTop = padding.top || 0\n const paddingBottom = padding.bottom || 0\n\n const gridX =\n paddingLeft + Math.max(axesLeftWidth, axesTopLeft, axesBottomLeft)\n\n const gridY =\n paddingTop + Math.max(axesTopHeight, axesLeftTop, axesRightTop)\n\n const gridWidth =\n width -\n paddingLeft -\n paddingRight -\n Math.max(axesLeftWidth, axesTopLeft, axesBottomLeft) -\n Math.max(axesRightWidth, axesTopRight, axesBottomRight)\n\n const gridHeight =\n height -\n paddingTop -\n paddingBottom -\n Math.max(axesTopHeight, axesLeftTop, axesRightTop) -\n Math.max(axesBottomHeight, axesLeftBottom, axesRightBottom)\n\n return { gridX, gridY, gridWidth, gridHeight }\n }, [width, height, axisDimensions, padding])\n\n return {\n offset,\n gridX,\n gridY,\n gridWidth,\n gridHeight\n }\n}\n","import React from 'react'\n//\nimport buildAxis from '../../utils/buildAxis'\n\nexport default ({\n axes,\n materializedData,\n gridHeight,\n gridWidth,\n axisDimensions,\n}) => {\n // Detect axes changes and build axes\n let prePrimaryAxes = axes.filter(d => d.primary)\n let preSecondaryAxes = axes.filter(d => !d.primary)\n\n const primaryAxesHashes = JSON.stringify(prePrimaryAxes)\n const secondaryAxesHashes = JSON.stringify(preSecondaryAxes)\n\n // Calculate primary axes\n const primaryAxes = React.useMemo(\n () => {\n return prePrimaryAxes.map((axis, i) => {\n return buildAxis({\n axis,\n materializedData,\n gridWidth,\n gridHeight,\n axisDimensions,\n })\n })\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [primaryAxesHashes, materializedData, gridHeight, gridWidth]\n )\n // Calculate secondary axes\n const secondaryAxes = React.useMemo(\n () => {\n return preSecondaryAxes.map((axis, i) => {\n return buildAxis({\n axis,\n primaryAxes,\n materializedData,\n gridWidth,\n gridHeight,\n axisDimensions,\n })\n })\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [secondaryAxesHashes, materializedData, gridHeight, gridWidth]\n )\n\n // Make sure we're mapping x and y to the correct axes\n const xKey = primaryAxes.find(d => d.vertical) ? 'secondary' : 'primary'\n const yKey = primaryAxes.find(d => d.vertical) ? 'primary' : 'secondary'\n const xAxes = primaryAxes.find(d => d.vertical) ? secondaryAxes : primaryAxes\n const yAxes = primaryAxes.find(d => d.vertical) ? primaryAxes : secondaryAxes\n\n return {\n primaryAxes,\n secondaryAxes,\n xKey,\n yKey,\n xAxes,\n yAxes,\n }\n}\n","import React from 'react'\n//\nimport Utils from '../../utils/Utils'\n\nimport TooltipRenderer from '../TooltipRenderer'\n\nimport {\n alignAuto,\n alignRight,\n alignTopRight,\n alignBottomRight,\n alignLeft,\n alignTopLeft,\n alignBottomLeft,\n alignTop,\n alignBottom,\n} from '../../utils/Constants'\n\nexport default ({ focused, tooltip, pointer, gridWidth, gridHeight }) => {\n return React.useMemo(() => {\n if (!tooltip) {\n return null\n }\n // Default tooltip props\n // eslint-disable-next-line react-hooks/exhaustive-deps\n tooltip = {\n align: alignAuto,\n alignPriority: [\n alignRight,\n alignTopRight,\n alignBottomRight,\n alignLeft,\n alignTopLeft,\n alignBottomLeft,\n alignTop,\n alignBottom,\n ],\n padding: 5,\n tooltipArrowPadding: 7,\n anchor: 'closest',\n render: TooltipRenderer,\n onChange: () => {},\n ...tooltip,\n }\n let anchor = {}\n let show = true\n\n // If there is a focused datum, default the focus to its x and y\n if (focused) {\n anchor = focused.anchor\n } else {\n show = false\n }\n\n if (tooltip.anchor === 'pointer') {\n // Support pointer-bound focus\n anchor = pointer\n } else if (tooltip.anchor === 'closest') {\n // Do nothing, this is already calculated\n } else if (focused) {\n // Support manual definition of focus point using relative multiFocus strategy\n const multiFocus = Array.isArray(tooltip.anchor)\n ? [...tooltip.anchor]\n : [tooltip.anchor]\n anchor = Utils.getMultiAnchor({\n anchor: multiFocus,\n points: focused.group,\n gridWidth,\n gridHeight,\n })\n }\n\n anchor = anchor\n ? {\n horizontalPadding: anchor.horizontalPadding || 0,\n verticalPadding: anchor.verticalPadding || 0,\n ...anchor,\n }\n : anchor\n\n return {\n ...tooltip,\n anchor,\n show,\n }\n }, [focused, gridHeight, gridWidth, pointer, tooltip])\n}\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-charts.production.min.js')\n} else {\n module.exports = require('./dist/react-charts.development.js')\n}\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime{var t={703:(e,t,r)=>{\"use strict\";var o=r(414);function n(){}function i(){}i.resetWarningCache=n,e.exports=function(){function e(e,t,r,n,i,a){if(a!==o){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:n};return r.PropTypes=r,r}},697:(e,t,r)=>{e.exports=r(703)()},414:e=>{\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},427:t=>{\"use strict\";t.exports=e}},r={};function o(e){var n=r[e];if(void 0!==n)return n.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var n={};return(()=>{\"use strict\";o.r(n),o.d(n,{Component:()=>S,containCrop:()=>O,default:()=>S,makeAspectCrop:()=>C});var e=o(427),t=o.n(e),r=o(697),i=o.n(r);function a(e){var t,r,o=\"\";if(\"string\"==typeof e||\"number\"==typeof e)o+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;tr&&(o.height=r-o.y,o.width=o.height*e.aspect),o.x+o.width>t&&(o.width=t-o.x,o.height=o.width/e.aspect),o}function b(e,t,r){return\"%\"===e.unit?e:{unit:\"%\",aspect:e.aspect,x:e.x/t*100,y:e.y/r*100,width:e.width/t*100,height:e.height/r*100}}function x(e,t,r){return e.unit?\"px\"===e.unit?e:{unit:\"px\",aspect:e.aspect,x:e.x*t/100,y:e.y*r/100,width:e.width*t/100,height:e.height*r/100}:m(m({},e),{},{unit:\"px\"})}function O(e,t,r,o){var n=x(t,r,o),i=x(e,r,o),a=m({},n);if(!n.aspect)return n.x<0?(a.x=0,a.width+=n.x):n.x+n.width>r&&(a.width=r-n.x),n.y+n.height>o&&(a.height=o-n.y),a;var s=!1;n.x<0?(a.x=0,a.width+=n.x,a.height=a.width/n.aspect,s=!0):n.x+n.width>r&&(a.width=r-n.x,a.height=a.width/n.aspect,s=!0),s&&i.y>a.y&&(a.y=n.y+(n.height-a.height));var c=!1;return a.y+a.height>o&&(a.height=o-n.y,a.width=a.height*n.aspect,c=!0),c&&i.x>a.x&&(a.x=n.x+(n.width-a.width)),a}var D={capture:!0,passive:!1},S=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(f,e);var r,o,n,i,s=(n=f,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=l(n);if(i){var r=l(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return h(this,e)});function f(){var e;c(this,f);for(var t=arguments.length,r=new Array(t),o=0;o-1?(t.x=d.x,t.y=d.y,t.width=d.width,t.height=d.height):f.xOrds.indexOf(r)>-1?(t.x=d.x,t.width=d.width):f.yOrds.indexOf(r)>-1&&(t.y=d.y,t.height=d.height),e.lastYCrossover=e.yCrossOver,this.crossOverCheck(),t.width0&&void 0!==arguments[0]?arguments[0]:\"px\",t=m(m({},f.defaultCrop),this.props.crop||{}),r=this.mediaDimensions,o=r.width,n=r.height;return\"px\"===e?x(t,o,n):b(t,o,n)}},{key:\"crossOverCheck\",value:function(){var e=this.evData,t=this.props,r=t.minWidth,o=t.minHeight;!r&&(!e.xCrossOver&&-Math.abs(e.cropStartWidth)-e.xDiff>=0||e.xCrossOver&&-Math.abs(e.cropStartWidth)-e.xDiff<=0)&&(e.xCrossOver=!e.xCrossOver),!o&&(!e.yCrossOver&&-Math.abs(e.cropStartHeight)-e.yDiff>=0||e.yCrossOver&&-Math.abs(e.cropStartHeight)-e.yDiff<=0)&&(e.yCrossOver=!e.yCrossOver);var n=e.xCrossOver!==e.startXCrossOver,i=e.yCrossOver!==e.startYCrossOver;e.inversedXOrd=!!n&&w(e.ord),e.inversedYOrd=!!i&&w(e.ord)}},{key:\"render\",value:function(){var e=this.props,r=e.children,o=e.circularCrop,n=e.className,i=e.crossorigin,s=e.crop,c=e.disabled,d=e.locked,p=e.imageAlt,h=e.onImageError,u=e.renderComponent,l=e.src,f=e.style,m=e.imageStyle,v=e.ruleOfThirds,g=this.state,w=g.cropIsActive,C=g.newCropIsBeingDrawn,b=y(s)&&this.componentRef?this.createCropSelection():null,x=function(){for(var e,t,r=0,o=\"\";r 0 ? this.queries.filter(function (query) {\n return matchQuery(filters, query);\n }) : this.queries;\n };\n\n _proto.notify = function notify(event) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(event);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n var _this4 = this;\n\n notifyManager.batch(function () {\n _this4.queries.forEach(function (query) {\n query.onFocus();\n });\n });\n };\n\n _proto.onOnline = function onOnline() {\n var _this5 = this;\n\n notifyManager.batch(function () {\n _this5.queries.forEach(function (query) {\n query.onOnline();\n });\n });\n };\n\n return QueryCache;\n}(Subscribable);","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { notifyManager } from './notifyManager';\nimport { Mutation } from './mutation';\nimport { matchMutation, noop } from './utils';\nimport { Subscribable } from './subscribable'; // TYPES\n\n// CLASS\nexport var MutationCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(MutationCache, _Subscribable);\n\n function MutationCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.mutations = [];\n _this.mutationId = 0;\n return _this;\n }\n\n var _proto = MutationCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state: state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined,\n meta: options.meta\n });\n this.add(mutation);\n return mutation;\n };\n\n _proto.add = function add(mutation) {\n this.mutations.push(mutation);\n this.notify(mutation);\n };\n\n _proto.remove = function remove(mutation) {\n this.mutations = this.mutations.filter(function (x) {\n return x !== mutation;\n });\n mutation.cancel();\n this.notify(mutation);\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.mutations.forEach(function (mutation) {\n _this2.remove(mutation);\n });\n });\n };\n\n _proto.getAll = function getAll() {\n return this.mutations;\n };\n\n _proto.find = function find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.findAll = function findAll(filters) {\n return this.mutations.filter(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.notify = function notify(mutation) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(mutation);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n this.resumePausedMutations();\n };\n\n _proto.onOnline = function onOnline() {\n this.resumePausedMutations();\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n var pausedMutations = this.mutations.filter(function (x) {\n return x.state.isPaused;\n });\n return notifyManager.batch(function () {\n return pausedMutations.reduce(function (promise, mutation) {\n return promise.then(function () {\n return mutation.continue().catch(noop);\n });\n }, Promise.resolve());\n });\n };\n\n return MutationCache;\n}(Subscribable);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { hashQueryKey, noop, parseFilterArgs, parseQueryArgs, partialMatchKey, hashQueryKeyByOptions } from './utils';\nimport { QueryCache } from './queryCache';\nimport { MutationCache } from './mutationCache';\nimport { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { notifyManager } from './notifyManager';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior';\n// CLASS\nexport var QueryClient = /*#__PURE__*/function () {\n function QueryClient(config) {\n if (config === void 0) {\n config = {};\n }\n\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n }\n\n var _proto = QueryClient.prototype;\n\n _proto.mount = function mount() {\n var _this = this;\n\n this.unsubscribeFocus = focusManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onFocus();\n\n _this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onOnline();\n\n _this.queryCache.onOnline();\n }\n });\n };\n\n _proto.unmount = function unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n };\n\n _proto.isFetching = function isFetching(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n filters.fetching = true;\n return this.queryCache.findAll(filters).length;\n };\n\n _proto.isMutating = function isMutating(filters) {\n return this.mutationCache.findAll(_extends({}, filters, {\n fetching: true\n })).length;\n };\n\n _proto.getQueryData = function getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n };\n\n _proto.getQueriesData = function getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref) {\n var queryKey = _ref.queryKey,\n state = _ref.state;\n var data = state.data;\n return [queryKey, data];\n });\n };\n\n _proto.setQueryData = function setQueryData(queryKey, updater, options) {\n var parsedOptions = parseQueryArgs(queryKey);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(updater, options);\n };\n\n _proto.setQueriesData = function setQueriesData(queryKeyOrFilters, updater, options) {\n var _this2 = this;\n\n return notifyManager.batch(function () {\n return _this2.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref2) {\n var queryKey = _ref2.queryKey;\n return [queryKey, _this2.setQueryData(queryKey, updater, options)];\n });\n });\n };\n\n _proto.getQueryState = function getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n };\n\n _proto.removeQueries = function removeQueries(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n var queryCache = this.queryCache;\n notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n queryCache.remove(query);\n });\n });\n };\n\n _proto.resetQueries = function resetQueries(arg1, arg2, arg3) {\n var _this3 = this;\n\n var _parseFilterArgs3 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs3[0],\n options = _parseFilterArgs3[1];\n\n var queryCache = this.queryCache;\n\n var refetchFilters = _extends({}, filters, {\n active: true\n });\n\n return notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n query.reset();\n });\n return _this3.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.cancelQueries = function cancelQueries(arg1, arg2, arg3) {\n var _this4 = this;\n\n var _parseFilterArgs4 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs4[0],\n _parseFilterArgs4$ = _parseFilterArgs4[1],\n cancelOptions = _parseFilterArgs4$ === void 0 ? {} : _parseFilterArgs4$;\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n var promises = notifyManager.batch(function () {\n return _this4.queryCache.findAll(filters).map(function (query) {\n return query.cancel(cancelOptions);\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.invalidateQueries = function invalidateQueries(arg1, arg2, arg3) {\n var _ref3,\n _filters$refetchActiv,\n _filters$refetchInact,\n _this5 = this;\n\n var _parseFilterArgs5 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs5[0],\n options = _parseFilterArgs5[1];\n\n var refetchFilters = _extends({}, filters, {\n // if filters.refetchActive is not provided and filters.active is explicitly false,\n // e.g. invalidateQueries({ active: false }), we don't want to refetch active queries\n active: (_ref3 = (_filters$refetchActiv = filters.refetchActive) != null ? _filters$refetchActiv : filters.active) != null ? _ref3 : true,\n inactive: (_filters$refetchInact = filters.refetchInactive) != null ? _filters$refetchInact : false\n });\n\n return notifyManager.batch(function () {\n _this5.queryCache.findAll(filters).forEach(function (query) {\n query.invalidate();\n });\n\n return _this5.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.refetchQueries = function refetchQueries(arg1, arg2, arg3) {\n var _this6 = this;\n\n var _parseFilterArgs6 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs6[0],\n options = _parseFilterArgs6[1];\n\n var promises = notifyManager.batch(function () {\n return _this6.queryCache.findAll(filters).map(function (query) {\n return query.fetch(undefined, _extends({}, options, {\n meta: {\n refetchPage: filters == null ? void 0 : filters.refetchPage\n }\n }));\n });\n });\n var promise = Promise.all(promises).then(noop);\n\n if (!(options == null ? void 0 : options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.fetchQuery = function fetchQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n var query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n };\n\n _proto.prefetchQuery = function prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.fetchInfiniteQuery = function fetchInfiniteQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n };\n\n _proto.prefetchInfiniteQuery = function prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.cancelMutations = function cancelMutations() {\n var _this7 = this;\n\n var promises = notifyManager.batch(function () {\n return _this7.mutationCache.getAll().map(function (mutation) {\n return mutation.cancel();\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n return this.getMutationCache().resumePausedMutations();\n };\n\n _proto.executeMutation = function executeMutation(options) {\n return this.mutationCache.build(this, options).execute();\n };\n\n _proto.getQueryCache = function getQueryCache() {\n return this.queryCache;\n };\n\n _proto.getMutationCache = function getMutationCache() {\n return this.mutationCache;\n };\n\n _proto.getDefaultOptions = function getDefaultOptions() {\n return this.defaultOptions;\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.setQueryDefaults = function setQueryDefaults(queryKey, options) {\n var result = this.queryDefaults.find(function (x) {\n return hashQueryKey(queryKey) === hashQueryKey(x.queryKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey: queryKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getQueryDefaults = function getQueryDefaults(queryKey) {\n var _this$queryDefaults$f;\n\n return queryKey ? (_this$queryDefaults$f = this.queryDefaults.find(function (x) {\n return partialMatchKey(queryKey, x.queryKey);\n })) == null ? void 0 : _this$queryDefaults$f.defaultOptions : undefined;\n };\n\n _proto.setMutationDefaults = function setMutationDefaults(mutationKey, options) {\n var result = this.mutationDefaults.find(function (x) {\n return hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey: mutationKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getMutationDefaults = function getMutationDefaults(mutationKey) {\n var _this$mutationDefault;\n\n return mutationKey ? (_this$mutationDefault = this.mutationDefaults.find(function (x) {\n return partialMatchKey(mutationKey, x.mutationKey);\n })) == null ? void 0 : _this$mutationDefault.defaultOptions : undefined;\n };\n\n _proto.defaultQueryOptions = function defaultQueryOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n var defaultedOptions = _extends({}, this.defaultOptions.queries, this.getQueryDefaults(options == null ? void 0 : options.queryKey), options, {\n _defaulted: true\n });\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n }\n\n return defaultedOptions;\n };\n\n _proto.defaultQueryObserverOptions = function defaultQueryObserverOptions(options) {\n return this.defaultQueryOptions(options);\n };\n\n _proto.defaultMutationOptions = function defaultMutationOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n return _extends({}, this.defaultOptions.mutations, this.getMutationDefaults(options == null ? void 0 : options.mutationKey), options, {\n _defaulted: true\n });\n };\n\n _proto.clear = function clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n };\n\n return QueryClient;\n}();","import { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { sleep } from './utils';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * Math.pow(2, failureCount), 30000);\n}\n\nexport function isCancelable(value) {\n return typeof (value == null ? void 0 : value.cancel) === 'function';\n}\nexport var CancelledError = function CancelledError(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n};\nexport function isCancelledError(value) {\n return value instanceof CancelledError;\n} // CLASS\n\nexport var Retryer = function Retryer(config) {\n var _this = this;\n\n var cancelRetry = false;\n var cancelFn;\n var continueFn;\n var promiseResolve;\n var promiseReject;\n this.abort = config.abort;\n\n this.cancel = function (cancelOptions) {\n return cancelFn == null ? void 0 : cancelFn(cancelOptions);\n };\n\n this.cancelRetry = function () {\n cancelRetry = true;\n };\n\n this.continueRetry = function () {\n cancelRetry = false;\n };\n\n this.continue = function () {\n return continueFn == null ? void 0 : continueFn();\n };\n\n this.failureCount = 0;\n this.isPaused = false;\n this.isResolved = false;\n this.isTransportCancelable = false;\n this.promise = new Promise(function (outerResolve, outerReject) {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n var resolve = function resolve(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n var reject = function reject(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n var pause = function pause() {\n return new Promise(function (continueResolve) {\n continueFn = continueResolve;\n _this.isPaused = true;\n config.onPause == null ? void 0 : config.onPause();\n }).then(function () {\n continueFn = undefined;\n _this.isPaused = false;\n config.onContinue == null ? void 0 : config.onContinue();\n });\n }; // Create loop function\n\n\n var run = function run() {\n // Do nothing if already resolved\n if (_this.isResolved) {\n return;\n }\n\n var promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n } // Create callback to cancel this fetch\n\n\n cancelFn = function cancelFn(cancelOptions) {\n if (!_this.isResolved) {\n reject(new CancelledError(cancelOptions));\n _this.abort == null ? void 0 : _this.abort(); // Cancel transport if supported\n\n if (isCancelable(promiseOrValue)) {\n try {\n promiseOrValue.cancel();\n } catch (_unused) {}\n }\n }\n }; // Check if the transport layer support cancellation\n\n\n _this.isTransportCancelable = isCancelable(promiseOrValue);\n Promise.resolve(promiseOrValue).then(resolve).catch(function (error) {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (_this.isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n var retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n var retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n var delay = typeof retryDelay === 'function' ? retryDelay(_this.failureCount, error) : retryDelay;\n var shouldRetry = retry === true || typeof retry === 'number' && _this.failureCount < retry || typeof retry === 'function' && retry(_this.failureCount, error);\n\n if (cancelRetry || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n _this.failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(_this.failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(function () {\n if (!focusManager.isFocused() || !onlineManager.isOnline()) {\n return pause();\n }\n }).then(function () {\n if (cancelRetry) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n run();\n};","export var Subscribable = /*#__PURE__*/function () {\n function Subscribable() {\n this.listeners = [];\n }\n\n var _proto = Subscribable.prototype;\n\n _proto.subscribe = function subscribe(listener) {\n var _this = this;\n\n var callback = listener || function () {\n return undefined;\n };\n\n this.listeners.push(callback);\n this.onSubscribe();\n return function () {\n _this.listeners = _this.listeners.filter(function (x) {\n return x !== callback;\n });\n\n _this.onUnsubscribe();\n };\n };\n\n _proto.hasListeners = function hasListeners() {\n return this.listeners.length > 0;\n };\n\n _proto.onSubscribe = function onSubscribe() {// Do nothing\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {// Do nothing\n };\n\n return Subscribable;\n}();","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// TYPES\n// UTILS\nexport var isServer = typeof window === 'undefined';\nexport function noop() {\n return undefined;\n}\nexport function functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nexport function isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nexport function ensureQueryKeyArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function difference(array1, array2) {\n return array1.filter(function (x) {\n return array2.indexOf(x) === -1;\n });\n}\nexport function replaceAt(array, index, value) {\n var copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nexport function timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nexport function parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n queryKey: arg1,\n queryFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n queryKey: arg1\n });\n}\nexport function parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n mutationKey: arg1,\n mutationFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n mutationKey: arg1\n });\n }\n\n if (typeof arg1 === 'function') {\n return _extends({}, arg2, {\n mutationFn: arg1\n });\n }\n\n return _extends({}, arg1);\n}\nexport function parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [_extends({}, arg2, {\n queryKey: arg1\n }), arg3] : [arg1 || {}, arg2];\n}\nexport function parseMutationFilterArgs(arg1, arg2) {\n return isQueryKey(arg1) ? _extends({}, arg2, {\n mutationKey: arg1\n }) : arg1;\n}\nexport function mapQueryStatusFilter(active, inactive) {\n if (active === true && inactive === true || active == null && inactive == null) {\n return 'all';\n } else if (active === false && inactive === false) {\n return 'none';\n } else {\n // At this point, active|inactive can only be true|false or false|true\n // so, when only one value is provided, the missing one has to be the negated value\n var isActive = active != null ? active : !inactive;\n return isActive ? 'active' : 'inactive';\n }\n}\nexport function matchQuery(filters, query) {\n var active = filters.active,\n exact = filters.exact,\n fetching = filters.fetching,\n inactive = filters.inactive,\n predicate = filters.predicate,\n queryKey = filters.queryKey,\n stale = filters.stale;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n var queryStatusFilter = mapQueryStatusFilter(active, inactive);\n\n if (queryStatusFilter === 'none') {\n return false;\n } else if (queryStatusFilter !== 'all') {\n var isActive = query.isActive();\n\n if (queryStatusFilter === 'active' && !isActive) {\n return false;\n }\n\n if (queryStatusFilter === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetching === 'boolean' && query.isFetching() !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nexport function matchMutation(filters, mutation) {\n var exact = filters.exact,\n fetching = filters.fetching,\n predicate = filters.predicate,\n mutationKey = filters.mutationKey;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nexport function hashQueryKeyByOptions(queryKey, options) {\n var hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n */\n\nexport function hashQueryKey(queryKey) {\n var asArray = ensureQueryKeyArray(queryKey);\n return stableValueHash(asArray);\n}\n/**\n * Hashes the value into a stable hash.\n */\n\nexport function stableValueHash(value) {\n return JSON.stringify(value, function (_, val) {\n return isPlainObject(val) ? Object.keys(val).sort().reduce(function (result, key) {\n result[key] = val[key];\n return result;\n }, {}) : val;\n });\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nexport function partialMatchKey(a, b) {\n return partialDeepEqual(ensureQueryKeyArray(a), ensureQueryKeyArray(b));\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nexport function partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(function (key) {\n return !partialDeepEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nexport function replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n var array = Array.isArray(a) && Array.isArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n var aSize = array ? a.length : Object.keys(a).length;\n var bItems = array ? b : Object.keys(b);\n var bSize = bItems.length;\n var copy = array ? [] : {};\n var equalItems = 0;\n\n for (var i = 0; i < bSize; i++) {\n var key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nexport function shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (var key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nexport function isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n var ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n var prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nexport function isQueryKey(value) {\n return typeof value === 'string' || Array.isArray(value);\n}\nexport function isError(value) {\n return value instanceof Error;\n}\nexport function sleep(timeout) {\n return new Promise(function (resolve) {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nexport function scheduleMicrotask(callback) {\n Promise.resolve().then(callback).catch(function (error) {\n return setTimeout(function () {\n throw error;\n });\n });\n}\nexport function getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n}","import ReactDOM from 'react-dom';\nexport var unstable_batchedUpdates = ReactDOM.unstable_batchedUpdates;","import { notifyManager } from '../core';\nimport { unstable_batchedUpdates } from './reactBatchedUpdates';\nnotifyManager.setBatchNotifyFunction(unstable_batchedUpdates);","export var logger = console;","import { setLogger } from '../core';\nimport { logger } from './logger';\nsetLogger(logger);","import React from 'react';\nvar defaultContext = /*#__PURE__*/React.createContext(undefined);\nvar QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(contextSharing) {\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n var queryClient = React.useContext(getQueryClientContext(React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref) {\n var client = _ref.client,\n _ref$contextSharing = _ref.contextSharing,\n contextSharing = _ref$contextSharing === void 0 ? false : _ref$contextSharing,\n children = _ref.children;\n React.useEffect(function () {\n client.mount();\n return function () {\n client.unmount();\n };\n }, [client]);\n var Context = getQueryClientContext(contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { getDefaultState } from './mutation';\nimport { notifyManager } from './notifyManager';\nimport { Subscribable } from './subscribable';\n// CLASS\nexport var MutationObserver = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(MutationObserver, _Subscribable);\n\n function MutationObserver(client, options) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.client = client;\n\n _this.setOptions(options);\n\n _this.bindMethods();\n\n _this.updateResult();\n\n return _this;\n }\n\n var _proto = MutationObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n };\n\n _proto.setOptions = function setOptions(options) {\n this.options = this.client.defaultMutationOptions(options);\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.listeners.length) {\n var _this$currentMutation;\n\n (_this$currentMutation = this.currentMutation) == null ? void 0 : _this$currentMutation.removeObserver(this);\n }\n };\n\n _proto.onMutationUpdate = function onMutationUpdate(action) {\n this.updateResult(); // Determine which callbacks to trigger\n\n var notifyOptions = {\n listeners: true\n };\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error') {\n notifyOptions.onError = true;\n }\n\n this.notify(notifyOptions);\n };\n\n _proto.getCurrentResult = function getCurrentResult() {\n return this.currentResult;\n };\n\n _proto.reset = function reset() {\n this.currentMutation = undefined;\n this.updateResult();\n this.notify({\n listeners: true\n });\n };\n\n _proto.mutate = function mutate(variables, options) {\n this.mutateOptions = options;\n\n if (this.currentMutation) {\n this.currentMutation.removeObserver(this);\n }\n\n this.currentMutation = this.client.getMutationCache().build(this.client, _extends({}, this.options, {\n variables: typeof variables !== 'undefined' ? variables : this.options.variables\n }));\n this.currentMutation.addObserver(this);\n return this.currentMutation.execute();\n };\n\n _proto.updateResult = function updateResult() {\n var state = this.currentMutation ? this.currentMutation.state : getDefaultState();\n\n var result = _extends({}, state, {\n isLoading: state.status === 'loading',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset\n });\n\n this.currentResult = result;\n };\n\n _proto.notify = function notify(options) {\n var _this2 = this;\n\n notifyManager.batch(function () {\n // First trigger the mutate callbacks\n if (_this2.mutateOptions) {\n if (options.onSuccess) {\n _this2.mutateOptions.onSuccess == null ? void 0 : _this2.mutateOptions.onSuccess(_this2.currentResult.data, _this2.currentResult.variables, _this2.currentResult.context);\n _this2.mutateOptions.onSettled == null ? void 0 : _this2.mutateOptions.onSettled(_this2.currentResult.data, null, _this2.currentResult.variables, _this2.currentResult.context);\n } else if (options.onError) {\n _this2.mutateOptions.onError == null ? void 0 : _this2.mutateOptions.onError(_this2.currentResult.error, _this2.currentResult.variables, _this2.currentResult.context);\n _this2.mutateOptions.onSettled == null ? void 0 : _this2.mutateOptions.onSettled(undefined, _this2.currentResult.error, _this2.currentResult.variables, _this2.currentResult.context);\n }\n } // Then trigger the listeners\n\n\n if (options.listeners) {\n _this2.listeners.forEach(function (listener) {\n listener(_this2.currentResult);\n });\n }\n });\n };\n\n return MutationObserver;\n}(Subscribable);","export function shouldThrowError(suspense, _useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary.apply(void 0, params);\n } // Allow useErrorBoundary to override suspense's throwing behavior\n\n\n if (typeof _useErrorBoundary === 'boolean') return _useErrorBoundary; // If suspense is enabled default to throwing errors\n\n return !!suspense;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { noop, parseMutationArgs } from '../core/utils';\nimport { MutationObserver } from '../core/mutationObserver';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils'; // HOOK\n\nexport function useMutation(arg1, arg2, arg3) {\n var mountedRef = React.useRef(false);\n\n var _React$useState = React.useState(0),\n forceUpdate = _React$useState[1];\n\n var options = parseMutationArgs(arg1, arg2, arg3);\n var queryClient = useQueryClient();\n var obsRef = React.useRef();\n\n if (!obsRef.current) {\n obsRef.current = new MutationObserver(queryClient, options);\n } else {\n obsRef.current.setOptions(options);\n }\n\n var currentResult = obsRef.current.getCurrentResult();\n React.useEffect(function () {\n mountedRef.current = true;\n var unsubscribe = obsRef.current.subscribe(notifyManager.batchCalls(function () {\n if (mountedRef.current) {\n forceUpdate(function (x) {\n return x + 1;\n });\n }\n }));\n return function () {\n mountedRef.current = false;\n unsubscribe();\n };\n }, []);\n var mutate = React.useCallback(function (variables, mutateOptions) {\n obsRef.current.mutate(variables, mutateOptions).catch(noop);\n }, []);\n\n if (currentResult.error && shouldThrowError(undefined, obsRef.current.options.useErrorBoundary, [currentResult.error])) {\n throw currentResult.error;\n }\n\n return _extends({}, currentResult, {\n mutate: mutate,\n mutateAsync: currentResult.mutate\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { isServer, isValidTimeout, noop, replaceEqualDeep, shallowEqualObjects, timeUntilStale } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { focusManager } from './focusManager';\nimport { Subscribable } from './subscribable';\nimport { getLogger } from './logger';\nimport { isCancelledError } from './retryer';\nexport var QueryObserver = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryObserver, _Subscribable);\n\n function QueryObserver(client, options) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.client = client;\n _this.options = options;\n _this.trackedProps = [];\n _this.selectError = null;\n\n _this.bindMethods();\n\n _this.setOptions(options);\n\n return _this;\n }\n\n var _proto = QueryObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n };\n\n _proto.onSubscribe = function onSubscribe() {\n if (this.listeners.length === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n };\n\n _proto.shouldFetchOnReconnect = function shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n };\n\n _proto.shouldFetchOnWindowFocus = function shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n };\n\n _proto.destroy = function destroy() {\n this.listeners = [];\n this.clearTimers();\n this.currentQuery.removeObserver(this);\n };\n\n _proto.setOptions = function setOptions(options, notifyOptions) {\n var prevOptions = this.options;\n var prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryObserverOptions(options);\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n var mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n var nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n };\n\n _proto.getOptimisticResult = function getOptimisticResult(options) {\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return this.createResult(query, defaultedOptions);\n };\n\n _proto.getCurrentResult = function getCurrentResult() {\n return this.currentResult;\n };\n\n _proto.trackResult = function trackResult(result, defaultedOptions) {\n var _this2 = this;\n\n var trackedResult = {};\n\n var trackProp = function trackProp(key) {\n if (!_this2.trackedProps.includes(key)) {\n _this2.trackedProps.push(key);\n }\n };\n\n Object.keys(result).forEach(function (key) {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: function get() {\n trackProp(key);\n return result[key];\n }\n });\n });\n\n if (defaultedOptions.useErrorBoundary || defaultedOptions.suspense) {\n trackProp('error');\n }\n\n return trackedResult;\n };\n\n _proto.getNextResult = function getNextResult(options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var unsubscribe = _this3.subscribe(function (result) {\n if (!result.isFetching) {\n unsubscribe();\n\n if (result.isError && (options == null ? void 0 : options.throwOnError)) {\n reject(result.error);\n } else {\n resolve(result);\n }\n }\n });\n });\n };\n\n _proto.getCurrentQuery = function getCurrentQuery() {\n return this.currentQuery;\n };\n\n _proto.remove = function remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n };\n\n _proto.refetch = function refetch(options) {\n return this.fetch(_extends({}, options, {\n meta: {\n refetchPage: options == null ? void 0 : options.refetchPage\n }\n }));\n };\n\n _proto.fetchOptimistic = function fetchOptimistic(options) {\n var _this4 = this;\n\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return query.fetch().then(function () {\n return _this4.createResult(query, defaultedOptions);\n });\n };\n\n _proto.fetch = function fetch(fetchOptions) {\n var _this5 = this;\n\n return this.executeFetch(fetchOptions).then(function () {\n _this5.updateResult();\n\n return _this5.currentResult;\n });\n };\n\n _proto.executeFetch = function executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n var promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.updateStaleTimeout = function updateStaleTimeout() {\n var _this6 = this;\n\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n var time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n var timeout = time + 1;\n this.staleTimeoutId = setTimeout(function () {\n if (!_this6.currentResult.isStale) {\n _this6.updateResult();\n }\n }, timeout);\n };\n\n _proto.computeRefetchInterval = function computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n };\n\n _proto.updateRefetchInterval = function updateRefetchInterval(nextInterval) {\n var _this7 = this;\n\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(function () {\n if (_this7.options.refetchIntervalInBackground || focusManager.isFocused()) {\n _this7.executeFetch();\n }\n }, this.currentRefetchInterval);\n };\n\n _proto.updateTimers = function updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n };\n\n _proto.clearTimers = function clearTimers() {\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n };\n\n _proto.clearStaleTimeout = function clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n };\n\n _proto.clearRefetchInterval = function clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n };\n\n _proto.createResult = function createResult(query, options) {\n var prevQuery = this.currentQuery;\n var prevOptions = this.options;\n var prevResult = this.currentResult;\n var prevResultState = this.currentResultState;\n var prevResultOptions = this.currentResultOptions;\n var queryChange = query !== prevQuery;\n var queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n var prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n var state = query.state;\n var dataUpdatedAt = state.dataUpdatedAt,\n error = state.error,\n errorUpdatedAt = state.errorUpdatedAt,\n isFetching = state.isFetching,\n status = state.status;\n var isPreviousData = false;\n var isPlaceholderData = false;\n var data; // Optimistically set result in fetching state if needed\n\n if (options.optimisticResults) {\n var mounted = this.hasListeners();\n var fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n var fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n isFetching = true;\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdateCount && (prevQueryResult == null ? void 0 : prevQueryResult.isSuccess) && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n\n if (options.structuralSharing !== false) {\n data = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, data);\n }\n\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && (status === 'loading' || status === 'idle')) {\n var placeholderData; // Memoize placeholder data\n\n if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n\n if (options.structuralSharing !== false) {\n placeholderData = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, placeholderData);\n }\n\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = placeholderData;\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n var result = {\n status: status,\n isLoading: status === 'loading',\n isSuccess: status === 'success',\n isError: status === 'error',\n isIdle: status === 'idle',\n data: data,\n dataUpdatedAt: dataUpdatedAt,\n error: error,\n errorUpdatedAt: errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching: isFetching,\n isRefetching: isFetching && status !== 'loading',\n isLoadingError: status === 'error' && state.dataUpdatedAt === 0,\n isPlaceholderData: isPlaceholderData,\n isPreviousData: isPreviousData,\n isRefetchError: status === 'error' && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n };\n\n _proto.shouldNotifyListeners = function shouldNotifyListeners(result, prevResult) {\n if (!prevResult) {\n return true;\n }\n\n var _this$options = this.options,\n notifyOnChangeProps = _this$options.notifyOnChangeProps,\n notifyOnChangePropsExclusions = _this$options.notifyOnChangePropsExclusions;\n\n if (!notifyOnChangeProps && !notifyOnChangePropsExclusions) {\n return true;\n }\n\n if (notifyOnChangeProps === 'tracked' && !this.trackedProps.length) {\n return true;\n }\n\n var includedProps = notifyOnChangeProps === 'tracked' ? this.trackedProps : notifyOnChangeProps;\n return Object.keys(result).some(function (key) {\n var typedKey = key;\n var changed = result[typedKey] !== prevResult[typedKey];\n var isIncluded = includedProps == null ? void 0 : includedProps.some(function (x) {\n return x === key;\n });\n var isExcluded = notifyOnChangePropsExclusions == null ? void 0 : notifyOnChangePropsExclusions.some(function (x) {\n return x === key;\n });\n return changed && !isExcluded && (!includedProps || isIncluded);\n });\n };\n\n _proto.updateResult = function updateResult(notifyOptions) {\n var prevResult = this.currentResult;\n this.currentResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify if something has changed\n\n if (shallowEqualObjects(this.currentResult, prevResult)) {\n return;\n } // Determine which callbacks to trigger\n\n\n var defaultNotifyOptions = {\n cache: true\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && this.shouldNotifyListeners(this.currentResult, prevResult)) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify(_extends({}, defaultNotifyOptions, notifyOptions));\n };\n\n _proto.updateQuery = function updateQuery() {\n var query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n var prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n };\n\n _proto.onQueryUpdate = function onQueryUpdate(action) {\n var notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n };\n\n _proto.notify = function notify(notifyOptions) {\n var _this8 = this;\n\n notifyManager.batch(function () {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n _this8.options.onSuccess == null ? void 0 : _this8.options.onSuccess(_this8.currentResult.data);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(_this8.currentResult.data, null);\n } else if (notifyOptions.onError) {\n _this8.options.onError == null ? void 0 : _this8.options.onError(_this8.currentResult.error);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(undefined, _this8.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n _this8.listeners.forEach(function (listener) {\n listener(_this8.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n _this8.client.getQueryCache().notify({\n query: _this8.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n };\n\n return QueryObserver;\n}(Subscribable);\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n var value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}","import React from 'react'; // CONTEXT\n\nfunction createValue() {\n var _isReset = false;\n return {\n clearReset: function clearReset() {\n _isReset = false;\n },\n reset: function reset() {\n _isReset = true;\n },\n isReset: function isReset() {\n return _isReset;\n }\n };\n}\n\nvar QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nexport var useQueryErrorResetBoundary = function useQueryErrorResetBoundary() {\n return React.useContext(QueryErrorResetBoundaryContext);\n}; // COMPONENT\n\nexport var QueryErrorResetBoundary = function QueryErrorResetBoundary(_ref) {\n var children = _ref.children;\n var value = React.useMemo(function () {\n return createValue();\n }, []);\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};","import React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils';\nexport function useBaseQuery(options, Observer) {\n var mountedRef = React.useRef(false);\n\n var _React$useState = React.useState(0),\n forceUpdate = _React$useState[1];\n\n var queryClient = useQueryClient();\n var errorResetBoundary = useQueryErrorResetBoundary();\n var defaultedOptions = queryClient.defaultQueryObserverOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions.optimisticResults = true; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n } // Set cache time to 1 if the option has been set to 0\n // when using suspense to prevent infinite loop of fetches\n\n\n if (defaultedOptions.cacheTime === 0) {\n defaultedOptions.cacheTime = 1;\n }\n }\n\n if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n defaultedOptions.retryOnMount = false;\n }\n }\n\n var _React$useState2 = React.useState(function () {\n return new Observer(queryClient, defaultedOptions);\n }),\n observer = _React$useState2[0];\n\n var result = observer.getOptimisticResult(defaultedOptions);\n React.useEffect(function () {\n mountedRef.current = true;\n errorResetBoundary.clearReset();\n var unsubscribe = observer.subscribe(notifyManager.batchCalls(function () {\n if (mountedRef.current) {\n forceUpdate(function (x) {\n return x + 1;\n });\n }\n })); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return function () {\n mountedRef.current = false;\n unsubscribe();\n };\n }, [errorResetBoundary, observer]);\n React.useEffect(function () {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if (defaultedOptions.suspense && result.isLoading) {\n throw observer.fetchOptimistic(defaultedOptions).then(function (_ref) {\n var data = _ref.data;\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n }).catch(function (error) {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n });\n } // Handle error boundary\n\n\n if (result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(defaultedOptions.suspense, defaultedOptions.useErrorBoundary, [result.error, observer.getCurrentQuery()])) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n if (defaultedOptions.notifyOnChangeProps === 'tracked') {\n result = observer.trackResult(result, defaultedOptions);\n }\n\n return result;\n}","import { QueryObserver } from '../core';\nimport { parseQueryArgs } from '../core/utils';\nimport { useBaseQuery } from './useBaseQuery'; // HOOK\n\nexport function useQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(parsedOptions, QueryObserver);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { QueryObserver } from './queryObserver';\nimport { hasNextPage, hasPreviousPage, infiniteQueryBehavior } from './infiniteQueryBehavior';\nexport var InfiniteQueryObserver = /*#__PURE__*/function (_QueryObserver) {\n _inheritsLoose(InfiniteQueryObserver, _QueryObserver);\n\n // Type override\n // Type override\n // Type override\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n function InfiniteQueryObserver(client, options) {\n return _QueryObserver.call(this, client, options) || this;\n }\n\n var _proto = InfiniteQueryObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n _QueryObserver.prototype.bindMethods.call(this);\n\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n };\n\n _proto.setOptions = function setOptions(options, notifyOptions) {\n _QueryObserver.prototype.setOptions.call(this, _extends({}, options, {\n behavior: infiniteQueryBehavior()\n }), notifyOptions);\n };\n\n _proto.getOptimisticResult = function getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return _QueryObserver.prototype.getOptimisticResult.call(this, options);\n };\n\n _proto.fetchNextPage = function fetchNextPage(options) {\n var _options$cancelRefetc;\n\n return this.fetch({\n // TODO consider removing `?? true` in future breaking change, to be consistent with `refetch` API (see https://github.com/tannerlinsley/react-query/issues/2617)\n cancelRefetch: (_options$cancelRefetc = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc : true,\n throwOnError: options == null ? void 0 : options.throwOnError,\n meta: {\n fetchMore: {\n direction: 'forward',\n pageParam: options == null ? void 0 : options.pageParam\n }\n }\n });\n };\n\n _proto.fetchPreviousPage = function fetchPreviousPage(options) {\n var _options$cancelRefetc2;\n\n return this.fetch({\n // TODO consider removing `?? true` in future breaking change, to be consistent with `refetch` API (see https://github.com/tannerlinsley/react-query/issues/2617)\n cancelRefetch: (_options$cancelRefetc2 = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc2 : true,\n throwOnError: options == null ? void 0 : options.throwOnError,\n meta: {\n fetchMore: {\n direction: 'backward',\n pageParam: options == null ? void 0 : options.pageParam\n }\n }\n });\n };\n\n _proto.createResult = function createResult(query, options) {\n var _state$data, _state$data2, _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet;\n\n var state = query.state;\n\n var result = _QueryObserver.prototype.createResult.call(this, query, options);\n\n return _extends({}, result, {\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, (_state$data = state.data) == null ? void 0 : _state$data.pages),\n hasPreviousPage: hasPreviousPage(options, (_state$data2 = state.data) == null ? void 0 : _state$data2.pages),\n isFetchingNextPage: state.isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward',\n isFetchingPreviousPage: state.isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward'\n });\n };\n\n return InfiniteQueryObserver;\n}(QueryObserver);","import { InfiniteQueryObserver } from '../core/infiniteQueryObserver';\nimport { parseQueryArgs } from '../core/utils';\nimport { useBaseQuery } from './useBaseQuery'; // HOOK\n\nexport function useInfiniteQuery(arg1, arg2, arg3) {\n var options = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(options, InfiniteQueryObserver);\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _spinners = require('./spinners');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // eslint-disable-line import/no-extraneous-dependencies\n\n\nif (!process.env.REACT_SPINKIT_NO_STYLES) {\n /* eslint-disable global-require */\n require('loaders.css');\n require('../css/base.css');\n require('../css/loaders-css.css');\n require('../css/fade-in.css');\n require('../css/chasing-dots.css');\n require('../css/circle.css');\n require('../css/cube-grid.css');\n require('../css/double-bounce.css');\n require('../css/folding-cube.css');\n require('../css/pulse.css');\n require('../css/rotating-plane.css');\n require('../css/three-bounce.css');\n require('../css/wandering-cubes.css');\n require('../css/wave.css');\n require('../css/wordpress.css');\n /* eslint-enable global-require */\n}\n\nvar noFadeInWarning = \"Deprecation Warning (react-spinkit): noFadeIn prop should be replaced with fadeIn='none'\";\n\nvar Spinner = function (_React$Component) {\n _inherits(Spinner, _React$Component);\n\n function Spinner(props) {\n _classCallCheck(this, Spinner);\n\n if (props.noFadeIn) {\n console.warn(noFadeInWarning); // eslint-disable-line no-console\n }\n\n var _this = _possibleConstructorReturn(this, (Spinner.__proto__ || Object.getPrototypeOf(Spinner)).call(this, props));\n\n _this.displayName = 'SpinKit';\n return _this;\n }\n\n _createClass(Spinner, [{\n key: 'render',\n value: function render() {\n var _cx;\n\n var spinnerInfo = _spinners.allSpinners[this.props.name] || _spinners.allSpinners['three-bounce'];\n var classes = (0, _classnames2.default)((_cx = {\n 'sk-fade-in': this.props.fadeIn === 'full' && !this.props.noFadeIn,\n 'sk-fade-in-half-second': this.props.fadeIn === 'half' && !this.props.noFadeIn,\n 'sk-fade-in-quarter-second': this.props.fadeIn === 'quarter' && !this.props.noFadeIn,\n 'sk-spinner': !this.props.overrideSpinnerClassName\n }, _defineProperty(_cx, this.props.overrideSpinnerClassName, !!this.props.overrideSpinnerClassName), _defineProperty(_cx, this.props.className, !!this.props.className), _defineProperty(_cx, spinnerInfo.className || this.props.name, true), _cx));\n\n var props = (0, _objectAssign2.default)({}, this.props);\n delete props.name;\n delete props.fadeIn;\n delete props.noFadeIn;\n delete props.overrideSpinnerClassName;\n delete props.className;\n\n if (this.props.color) {\n props.style = props.style ? _extends({}, props.style, { color: this.props.color }) : { color: this.props.color };\n }\n\n return _react2.default.createElement(\n 'div',\n _extends({}, props, { className: classes }),\n [].concat(_toConsumableArray(Array(spinnerInfo.divCount))).map(function (_, idx) {\n return _react2.default.createElement('div', { key: idx });\n })\n );\n }\n }]);\n\n return Spinner;\n}(_react2.default.Component);\n\nSpinner.propTypes = {\n name: _propTypes2.default.string.isRequired,\n noFadeIn: _propTypes2.default.bool,\n fadeIn: _propTypes2.default.oneOf(['full', 'half', 'quarter', 'none']),\n overrideSpinnerClassName: _propTypes2.default.string,\n className: _propTypes2.default.string,\n color: _propTypes2.default.string\n};\n\nSpinner.defaultProps = {\n name: 'three-bounce',\n noFadeIn: false,\n fadeIn: 'full',\n overrideSpinnerClassName: ''\n};\n\nmodule.exports = Spinner;","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar spinkitSpinners = {\n circle: { className: 'sk-circle', divCount: 12 },\n 'cube-grid': { className: 'sk-cube-grid', divCount: 9 },\n wave: { className: 'sk-wave', divCount: 5 },\n 'folding-cube': { className: 'sk-folding-cube', divCount: 4 },\n 'three-bounce': { className: 'sk-three-bounce', divCount: 3 },\n 'double-bounce': { className: 'sk-double-bounce', divCount: 2 },\n 'wandering-cubes': { className: 'sk-wandering-cubes', divCount: 2 },\n 'chasing-dots': { className: 'sk-chasing-dots', divCount: 2 },\n 'rotating-plane': { className: 'sk-rotating-plane', divCount: 1 },\n pulse: { className: 'sk-pulse', divCount: 1 },\n wordpress: { className: 'sk-wordpress', divCount: 1 }\n};\n\nvar loadersCssSpinners = {\n 'ball-grid-beat': { divCount: 9 },\n 'ball-grid-pulse': { divCount: 9 },\n 'line-spin-fade-loader': { divCount: 8 },\n 'ball-spin-fade-loader': { divCount: 8 },\n 'ball-pulse-rise': { divCount: 5 },\n 'line-scale': { divCount: 5 },\n 'line-scale-pulse-out': { divCount: 5 },\n 'line-scale-pulse-out-rapid': { divCount: 5 },\n pacman: { divCount: 5 },\n 'line-scale-party': { divCount: 4 },\n 'ball-triangle-path': { divCount: 3 },\n 'ball-scale-multiple': { divCount: 3 },\n 'ball-scale-ripple-multiple': { divCount: 3 },\n 'ball-pulse-sync': { divCount: 3 },\n 'ball-beat': { divCount: 3 },\n 'ball-zig-zag': { divCount: 2 },\n 'ball-zig-zag-deflect': { divCount: 2 },\n 'ball-clip-rotate-pulse': { divCount: 2 },\n 'ball-clip-rotate-multiple': { divCount: 2 },\n 'ball-clip-rotate': { divCount: 1 },\n 'ball-scale-ripple': { divCount: 1 },\n 'triangle-skew-spin': { divCount: 1 }\n};\n\nmodule.exports = {\n spinkitSpinners: spinkitSpinners,\n loadersCssSpinners: loadersCssSpinners,\n allSpinners: _extends({}, spinkitSpinners, loadersCssSpinners)\n};","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Webcam\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Webcam\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_react__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/react-webcam.tsx\");\n","import * as React from \"react\";\n\n// polyfill based on https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\n(function polyfillGetUserMedia() {\n if (typeof window === 'undefined') {\n return;\n }\n\n // Older browsers might not implement mediaDevices at all, so we set an empty object first\n if (navigator.mediaDevices === undefined) {\n (navigator as any).mediaDevices = {};\n }\n\n // Some browsers partially implement mediaDevices. We can't just assign an object\n // with getUserMedia as it would overwrite existing properties.\n // Here, we will just add the getUserMedia property if it's missing.\n if (navigator.mediaDevices.getUserMedia === undefined) {\n navigator.mediaDevices.getUserMedia = function(constraints) {\n // First get ahold of the legacy getUserMedia, if present\n const getUserMedia =\n navigator.getUserMedia ||\n navigator.webkitGetUserMedia ||\n navigator.mozGetUserMedia ||\n navigator.msGetUserMedia;\n\n // Some browsers just don't implement it - return a rejected promise with an error\n // to keep a consistent interface\n if (!getUserMedia) {\n return Promise.reject(\n new Error(\"getUserMedia is not implemented in this browser\")\n );\n }\n\n // Otherwise, wrap the call to the old navigator.getUserMedia with a Promise\n return new Promise(function(resolve, reject) {\n getUserMedia.call(navigator, constraints, resolve, reject);\n });\n };\n }\n})();\n\nfunction hasGetUserMedia() {\n return !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);\n}\n\ninterface ScreenshotDimensions {\n width: number;\n height: number;\n}\n\nexport type WebcamProps = Omit, \"ref\"> & {\n audio: boolean;\n audioConstraints?: MediaStreamConstraints[\"audio\"];\n forceScreenshotSourceSize: boolean;\n imageSmoothing: boolean;\n mirrored: boolean;\n minScreenshotHeight?: number;\n minScreenshotWidth?: number;\n onUserMedia: (stream: MediaStream) => void;\n onUserMediaError: (error: string | DOMException) => void;\n screenshotFormat: \"image/webp\" | \"image/png\" | \"image/jpeg\";\n screenshotQuality: number;\n videoConstraints?: MediaStreamConstraints[\"video\"];\n}\n\ninterface WebcamState {\n hasUserMedia: boolean;\n src?: string;\n}\n\nexport default class Webcam extends React.Component {\n static defaultProps = {\n audio: true,\n forceScreenshotSourceSize: false,\n imageSmoothing: true,\n mirrored: false,\n onUserMedia: () => undefined,\n onUserMediaError: () => undefined,\n screenshotFormat: \"image/webp\",\n screenshotQuality: 0.92,\n };\n\n private canvas: HTMLCanvasElement | null = null;\n\n private ctx: CanvasRenderingContext2D | null = null;\n\n private unmounted = false;\n\n stream: MediaStream | null;\n\n video: HTMLVideoElement | null;\n\n constructor(props: WebcamProps) {\n super(props);\n this.state = {\n hasUserMedia: false\n };\n }\n\n componentDidMount() {\n const { state, props } = this;\n\n if (!hasGetUserMedia()) {\n props.onUserMediaError(\"getUserMedia not supported\");\n\n return;\n }\n\n if (!state.hasUserMedia) {\n this.requestUserMedia();\n }\n }\n\n componentDidUpdate(nextProps: WebcamProps) {\n const { props } = this;\n\n if (!hasGetUserMedia()) {\n props.onUserMediaError(\"getUserMedia not supported\");\n\n return;\n }\n\n const audioConstraintsChanged =\n JSON.stringify(nextProps.audioConstraints) !==\n JSON.stringify(props.audioConstraints);\n const videoConstraintsChanged =\n JSON.stringify(nextProps.videoConstraints) !==\n JSON.stringify(props.videoConstraints);\n const minScreenshotWidthChanged =\n nextProps.minScreenshotWidth !== props.minScreenshotWidth;\n const minScreenshotHeightChanged =\n nextProps.minScreenshotHeight !== props.minScreenshotHeight;\n if (\n videoConstraintsChanged ||\n minScreenshotWidthChanged ||\n minScreenshotHeightChanged\n ) {\n this.canvas = null;\n this.ctx = null;\n }\n if (audioConstraintsChanged || videoConstraintsChanged) {\n this.stopAndCleanup();\n this.requestUserMedia();\n }\n }\n\n componentWillUnmount() {\n this.unmounted = true;\n this.stopAndCleanup();\n }\n\n private static stopMediaStream(stream: MediaStream | null) {\n if (stream) {\n if (stream.getVideoTracks && stream.getAudioTracks) {\n stream.getVideoTracks().map(track => {\n stream.removeTrack(track);\n track.stop();\n });\n stream.getAudioTracks().map(track => {\n stream.removeTrack(track);\n track.stop()\n });\n } else {\n ((stream as unknown) as MediaStreamTrack).stop();\n }\n }\n }\n\n private stopAndCleanup() {\n const { state } = this;\n\n if (state.hasUserMedia) {\n Webcam.stopMediaStream(this.stream);\n\n if (state.src) {\n window.URL.revokeObjectURL(state.src);\n }\n }\n }\n\n getScreenshot(screenshotDimensions?: ScreenshotDimensions) {\n const { state, props } = this;\n\n if (!state.hasUserMedia) return null;\n\n const canvas = this.getCanvas(screenshotDimensions);\n return (\n canvas &&\n canvas.toDataURL(props.screenshotFormat, props.screenshotQuality)\n );\n }\n\n getCanvas(screenshotDimensions?: ScreenshotDimensions) {\n const { state, props } = this;\n\n if (!this.video) {\n return null;\n }\n\n if (!state.hasUserMedia || !this.video.videoHeight) return null;\n\n if (!this.ctx) {\n let canvasWidth = this.video.videoWidth;\n let canvasHeight = this.video.videoHeight;\n if (!this.props.forceScreenshotSourceSize) {\n const aspectRatio = canvasWidth / canvasHeight;\n\n canvasWidth = props.minScreenshotWidth || this.video.clientWidth;\n canvasHeight = canvasWidth / aspectRatio;\n\n if (\n props.minScreenshotHeight &&\n canvasHeight < props.minScreenshotHeight\n ) {\n canvasHeight = props.minScreenshotHeight;\n canvasWidth = canvasHeight * aspectRatio;\n }\n }\n\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = screenshotDimensions?.width || canvasWidth;\n this.canvas.height = screenshotDimensions?.height || canvasHeight;\n this.ctx = this.canvas.getContext(\"2d\");\n }\n\n const { ctx, canvas } = this;\n\n if (ctx && canvas) {\n // mirror the screenshot\n if (props.mirrored) {\n ctx.translate(canvas.width, 0);\n ctx.scale(-1, 1);\n }\n\n ctx.imageSmoothingEnabled = props.imageSmoothing;\n ctx.drawImage(this.video, 0, 0, screenshotDimensions?.width || canvas.width, screenshotDimensions?.height || canvas.height);\n\n // invert mirroring\n if (props.mirrored) {\n ctx.scale(-1, 1);\n ctx.translate(-canvas.width, 0);\n }\n }\n\n return canvas;\n }\n\n private requestUserMedia() {\n const { props } = this;\n\n const sourceSelected = (\n audioConstraints: boolean | MediaTrackConstraints | undefined,\n videoConstraints: boolean | MediaTrackConstraints | undefined,\n ) => {\n const constraints: MediaStreamConstraints = {\n video: typeof videoConstraints !== \"undefined\" ? videoConstraints : true\n };\n\n if (props.audio) {\n constraints.audio =\n typeof audioConstraints !== \"undefined\" ? audioConstraints : true;\n }\n\n navigator.mediaDevices\n .getUserMedia(constraints)\n .then(stream => {\n if (this.unmounted) {\n Webcam.stopMediaStream(stream);\n } else {\n this.handleUserMedia(null, stream);\n }\n })\n .catch(e => {\n this.handleUserMedia(e);\n });\n };\n\n if (\"mediaDevices\" in navigator) {\n sourceSelected(props.audioConstraints, props.videoConstraints);\n } else {\n const optionalSource = (id: string | null) => ({ optional: [{ sourceId: id }] }) as MediaTrackConstraints;\n\n const constraintToSourceId = (constraint) => {\n const { deviceId } = constraint;\n\n if (typeof deviceId === \"string\") {\n return deviceId;\n }\n\n if (Array.isArray(deviceId) && deviceId.length > 0) {\n return deviceId[0];\n }\n\n if (typeof deviceId === \"object\" && deviceId.ideal) {\n return deviceId.ideal;\n }\n\n return null;\n };\n\n // @ts-ignore: deprecated api\n MediaStreamTrack.getSources(sources => {\n let audioSource: string | null = null;\n let videoSource: string | null = null;\n\n sources.forEach((source: MediaStreamTrack) => {\n if (source.kind === \"audio\") {\n audioSource = source.id;\n } else if (source.kind === \"video\") {\n videoSource = source.id;\n }\n });\n\n const audioSourceId = constraintToSourceId(props.audioConstraints);\n if (audioSourceId) {\n audioSource = audioSourceId;\n }\n\n const videoSourceId = constraintToSourceId(props.videoConstraints);\n if (videoSourceId) {\n videoSource = videoSourceId;\n }\n\n sourceSelected(\n optionalSource(audioSource),\n optionalSource(videoSource)\n );\n });\n }\n }\n\n private handleUserMedia(err, stream?: MediaStream) {\n const { props } = this;\n\n if (err || !stream) {\n this.setState({ hasUserMedia: false });\n props.onUserMediaError(err);\n\n return;\n }\n\n this.stream = stream;\n\n try {\n if (this.video) {\n this.video.srcObject = stream;\n }\n this.setState({ hasUserMedia: true });\n } catch (error) {\n this.setState({\n hasUserMedia: true,\n src: window.URL.createObjectURL(stream)\n });\n }\n\n props.onUserMedia(stream);\n }\n\n render() {\n const { state, props } = this;\n\n const {\n audio,\n forceScreenshotSourceSize,\n onUserMedia,\n onUserMediaError,\n screenshotFormat,\n screenshotQuality,\n minScreenshotWidth,\n minScreenshotHeight,\n audioConstraints,\n videoConstraints,\n imageSmoothing,\n mirrored,\n style = {},\n ...rest\n } = props;\n\n const videoStyle = mirrored ? { ...style, transform: `${style.transform || \"\"} scaleX(-1)` } : style;\n\n return (\n {\n this.video = ref;\n }}\n style={videoStyle}\n {...rest}\n />\n );\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","/** @license React v16.14.0\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-console */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\n ),\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA',\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null &&\n contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.',\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister();\n });\n }\n}\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nconst MAX_SIGNED_31_BIT_INT = 1073741823;\n\nconst commonjsGlobal =\n typeof globalThis !== \"undefined\" // 'global proper'\n ? // eslint-disable-next-line no-undef\n globalThis\n : typeof window !== \"undefined\"\n ? window // Browser\n : typeof global !== \"undefined\"\n ? global // node.js\n : {};\n\nfunction getUniqueId() {\n let key = \"__global_unique_id__\";\n return (commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1);\n}\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n let handlers = [];\n return {\n on(handler) {\n handlers.push(handler);\n },\n\n off(handler) {\n handlers = handlers.filter(h => h !== handler);\n },\n\n get() {\n return value;\n },\n\n set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(handler => handler(value, changedBits));\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nexport default function createReactContext(defaultValue, calculateChangedBits) {\n const contextProp = \"__create-react-context-\" + getUniqueId() + \"__\";\n\n class Provider extends React.Component {\n emitter = createEventEmitter(this.props.value);\n\n static childContextTypes = {\n [contextProp]: PropTypes.object.isRequired\n };\n\n getChildContext() {\n return {\n [contextProp]: this.emitter\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n let oldValue = this.props.value;\n let newValue = nextProps.value;\n let changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits =\n typeof calculateChangedBits === \"function\"\n ? calculateChangedBits(oldValue, newValue)\n : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== \"production\") {\n warning(\n (changedBits & MAX_SIGNED_31_BIT_INT) === changedBits,\n \"calculateChangedBits: Expected the return value to be a \" +\n \"31-bit integer. Instead received: \" +\n changedBits\n );\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n }\n\n render() {\n return this.props.children;\n }\n }\n\n class Consumer extends React.Component {\n static contextTypes = {\n [contextProp]: PropTypes.object\n };\n\n observedBits;\n\n state = {\n value: this.getValue()\n };\n\n componentWillReceiveProps(nextProps) {\n let { observedBits } = nextProps;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n let { observedBits } = this.props;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n }\n\n getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n }\n\n onUpdate = (newValue, changedBits) => {\n const observedBits = this.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n this.setState({ value: this.getValue() });\n }\n };\n\n render() {\n return onlyChild(this.props.children)(this.state.value);\n }\n }\n\n return {\n Provider,\n Consumer\n };\n}\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport createReactContext from \"./miniCreateReactContext\";\n\nexport default React.createContext || createReactContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"./createContext\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { makeStyles as makeStylesWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nfunction makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return makeStylesWithoutDefault(stylesOrCreator, _extends({\n defaultTheme: defaultTheme\n }, options));\n}\n\nexport default makeStyles;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: _defineProperty({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n display: 'block'\n }, theme.breakpoints.up('sm'), {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }),\n\n /* Styles applied to the root element if `disableGutters={true}`. */\n disableGutters: {\n paddingLeft: 0,\n paddingRight: 0\n },\n\n /* Styles applied to the root element if `fixed={true}`. */\n fixed: Object.keys(theme.breakpoints.values).reduce(function (acc, breakpoint) {\n var value = theme.breakpoints.values[breakpoint];\n\n if (value !== 0) {\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: value\n };\n }\n\n return acc;\n }, {}),\n\n /* Styles applied to the root element if `maxWidth=\"xs\"`. */\n maxWidthXs: _defineProperty({}, theme.breakpoints.up('xs'), {\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }),\n\n /* Styles applied to the root element if `maxWidth=\"sm\"`. */\n maxWidthSm: _defineProperty({}, theme.breakpoints.up('sm'), {\n maxWidth: theme.breakpoints.values.sm\n }),\n\n /* Styles applied to the root element if `maxWidth=\"md\"`. */\n maxWidthMd: _defineProperty({}, theme.breakpoints.up('md'), {\n maxWidth: theme.breakpoints.values.md\n }),\n\n /* Styles applied to the root element if `maxWidth=\"lg\"`. */\n maxWidthLg: _defineProperty({}, theme.breakpoints.up('lg'), {\n maxWidth: theme.breakpoints.values.lg\n }),\n\n /* Styles applied to the root element if `maxWidth=\"xl\"`. */\n maxWidthXl: _defineProperty({}, theme.breakpoints.up('xl'), {\n maxWidth: theme.breakpoints.values.xl\n })\n };\n};\nvar Container = /*#__PURE__*/React.forwardRef(function Container(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$disableGutters = props.disableGutters,\n disableGutters = _props$disableGutters === void 0 ? false : _props$disableGutters,\n _props$fixed = props.fixed,\n fixed = _props$fixed === void 0 ? false : _props$fixed,\n _props$maxWidth = props.maxWidth,\n maxWidth = _props$maxWidth === void 0 ? 'lg' : _props$maxWidth,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, fixed && classes.fixed, disableGutters && classes.disableGutters, maxWidth !== false && classes[\"maxWidth\".concat(capitalize(String(maxWidth)))]),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * @ignore\n */\n children: PropTypes\n /* @typescript-to-proptypes-ignore */\n .node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, the left and right padding is removed.\n */\n disableGutters: PropTypes.bool,\n\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n */\n fixed: PropTypes.bool,\n\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n */\n maxWidth: PropTypes.oneOf(['lg', 'md', 'sm', 'xl', 'xs', false])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiContainer'\n})(Container);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { styled as styledWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nvar styled = function styled(Component) {\n var componentCreator = styledWithoutDefault(Component);\n return function (style, options) {\n return componentCreator(style, _extends({\n defaultTheme: defaultTheme\n }, options));\n };\n};\n\nexport default styled;","import { borders, compose, display, flexbox, grid, palette, positions, shadows, sizing, spacing, typography, styleFunctionSx } from '@material-ui/system';\nimport styled from '../styles/styled';\nexport var styleFunction = styleFunctionSx(compose(borders, display, flexbox, grid, positions, palette, shadows, sizing, spacing, typography));\n/**\n * @ignore - do not document.\n */\n\nvar Box = styled('div')(styleFunction, {\n name: 'MuiBox'\n});\nexport default Box;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '../styles/withStyles';\nimport { exactProp } from '@material-ui/utils';\nexport var html = {\n WebkitFontSmoothing: 'antialiased',\n // Antialiasing.\n MozOsxFontSmoothing: 'grayscale',\n // Antialiasing.\n // Change from `box-sizing: content-box` so that `width`\n // is not affected by `padding` or `border`.\n boxSizing: 'border-box'\n};\nexport var body = function body(theme) {\n return _extends({\n color: theme.palette.text.primary\n }, theme.typography.body2, {\n backgroundColor: theme.palette.background.default,\n '@media print': {\n // Save printer ink.\n backgroundColor: theme.palette.common.white\n }\n });\n};\nexport var styles = function styles(theme) {\n return {\n '@global': {\n html: html,\n '*, *::before, *::after': {\n boxSizing: 'inherit'\n },\n 'strong, b': {\n fontWeight: theme.typography.fontWeightBold\n },\n body: _extends({\n margin: 0\n }, body(theme), {\n // Add support for document.body.requestFullScreen().\n // Other elements, if background transparent, are not supported.\n '&::backdrop': {\n backgroundColor: theme.palette.background.default\n }\n })\n }\n };\n};\n/**\n * Kickstart an elegant, consistent, and simple baseline to build upon.\n */\n\nfunction CssBaseline(props) {\n /* eslint-disable no-unused-vars */\n var _props$children = props.children,\n children = _props$children === void 0 ? null : _props$children,\n classes = props.classes;\n /* eslint-enable no-unused-vars */\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n}\n\nprocess.env.NODE_ENV !== \"production\" ? CssBaseline.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * You can wrap a node.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n CssBaseline['propTypes' + ''] = exactProp(CssBaseline.propTypes);\n}\n\nexport default withStyles(styles, {\n name: 'MuiCssBaseline'\n})(CssBaseline);","import defaultMoment from 'moment';\n\nvar MomentUtils = /** @class */ (function () {\n function MomentUtils(_a) {\n var _b = _a === void 0 ? {} : _a, locale = _b.locale, instance = _b.instance, moment = _b.moment;\n this.yearFormat = \"YYYY\";\n this.yearMonthFormat = \"MMMM YYYY\";\n this.dateTime12hFormat = \"MMMM Do hh:mm a\";\n this.dateTime24hFormat = \"MMMM Do HH:mm\";\n this.time12hFormat = \"hh:mm A\";\n this.time24hFormat = \"HH:mm\";\n this.dateFormat = \"MMMM Do\";\n this.moment = instance || moment || defaultMoment;\n this.locale = locale;\n }\n MomentUtils.prototype.parse = function (value, format) {\n if (value === \"\") {\n return null;\n }\n return this.moment(value, format, true);\n };\n MomentUtils.prototype.date = function (value) {\n if (value === null) {\n return null;\n }\n var moment = this.moment(value);\n moment.locale(this.locale);\n return moment;\n };\n MomentUtils.prototype.isValid = function (value) {\n return this.moment(value).isValid();\n };\n MomentUtils.prototype.isNull = function (date) {\n return date === null;\n };\n MomentUtils.prototype.getDiff = function (date, comparing) {\n return date.diff(comparing);\n };\n MomentUtils.prototype.isAfter = function (date, value) {\n return date.isAfter(value);\n };\n MomentUtils.prototype.isBefore = function (date, value) {\n return date.isBefore(value);\n };\n MomentUtils.prototype.isAfterDay = function (date, value) {\n return date.isAfter(value, \"day\");\n };\n MomentUtils.prototype.isBeforeDay = function (date, value) {\n return date.isBefore(value, \"day\");\n };\n MomentUtils.prototype.isBeforeYear = function (date, value) {\n return date.isBefore(value, \"year\");\n };\n MomentUtils.prototype.isAfterYear = function (date, value) {\n return date.isAfter(value, \"year\");\n };\n MomentUtils.prototype.startOfDay = function (date) {\n return date.clone().startOf(\"day\");\n };\n MomentUtils.prototype.endOfDay = function (date) {\n return date.clone().endOf(\"day\");\n };\n MomentUtils.prototype.format = function (date, formatString) {\n date.locale(this.locale);\n return date.format(formatString);\n };\n MomentUtils.prototype.formatNumber = function (numberToFormat) {\n return numberToFormat;\n };\n MomentUtils.prototype.getHours = function (date) {\n return date.get(\"hours\");\n };\n MomentUtils.prototype.addDays = function (date, count) {\n return count < 0\n ? date.clone().subtract(Math.abs(count), \"days\")\n : date.clone().add(count, \"days\");\n };\n MomentUtils.prototype.setHours = function (date, count) {\n return date.clone().hours(count);\n };\n MomentUtils.prototype.getMinutes = function (date) {\n return date.get(\"minutes\");\n };\n MomentUtils.prototype.setMinutes = function (date, count) {\n return date.clone().minutes(count);\n };\n MomentUtils.prototype.getSeconds = function (date) {\n return date.get(\"seconds\");\n };\n MomentUtils.prototype.setSeconds = function (date, count) {\n return date.clone().seconds(count);\n };\n MomentUtils.prototype.getMonth = function (date) {\n return date.get(\"month\");\n };\n MomentUtils.prototype.isSameDay = function (date, comparing) {\n return date.isSame(comparing, \"day\");\n };\n MomentUtils.prototype.isSameMonth = function (date, comparing) {\n return date.isSame(comparing, \"month\");\n };\n MomentUtils.prototype.isSameYear = function (date, comparing) {\n return date.isSame(comparing, \"year\");\n };\n MomentUtils.prototype.isSameHour = function (date, comparing) {\n return date.isSame(comparing, \"hour\");\n };\n MomentUtils.prototype.setMonth = function (date, count) {\n return date.clone().month(count);\n };\n MomentUtils.prototype.getMeridiemText = function (ampm) {\n return ampm === \"am\" ? \"AM\" : \"PM\";\n };\n MomentUtils.prototype.startOfMonth = function (date) {\n return date.clone().startOf(\"month\");\n };\n MomentUtils.prototype.endOfMonth = function (date) {\n return date.clone().endOf(\"month\");\n };\n MomentUtils.prototype.getNextMonth = function (date) {\n return date.clone().add(1, \"month\");\n };\n MomentUtils.prototype.getPreviousMonth = function (date) {\n return date.clone().subtract(1, \"month\");\n };\n MomentUtils.prototype.getMonthArray = function (date) {\n var firstMonth = date.clone().startOf(\"year\");\n var monthArray = [firstMonth];\n while (monthArray.length < 12) {\n var prevMonth = monthArray[monthArray.length - 1];\n monthArray.push(this.getNextMonth(prevMonth));\n }\n return monthArray;\n };\n MomentUtils.prototype.getYear = function (date) {\n return date.get(\"year\");\n };\n MomentUtils.prototype.setYear = function (date, year) {\n return date.clone().set(\"year\", year);\n };\n MomentUtils.prototype.mergeDateAndTime = function (date, time) {\n return this.setMinutes(this.setHours(date, this.getHours(time)), this.getMinutes(time));\n };\n MomentUtils.prototype.getWeekdays = function () {\n return this.moment.weekdaysShort(true);\n };\n MomentUtils.prototype.isEqual = function (value, comparing) {\n if (value === null && comparing === null) {\n return true;\n }\n return this.moment(value).isSame(comparing);\n };\n MomentUtils.prototype.getWeekArray = function (date) {\n var start = date\n .clone()\n .startOf(\"month\")\n .startOf(\"week\");\n var end = date\n .clone()\n .endOf(\"month\")\n .endOf(\"week\");\n var count = 0;\n var current = start;\n var nestedWeeks = [];\n while (current.isBefore(end)) {\n var weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n nestedWeeks[weekNumber].push(current);\n current = current.clone().add(1, \"day\");\n count += 1;\n }\n return nestedWeeks;\n };\n MomentUtils.prototype.getYearRange = function (start, end) {\n var startDate = this.moment(start).startOf(\"year\");\n var endDate = this.moment(end).endOf(\"year\");\n var years = [];\n var current = startDate;\n while (current.isBefore(endDate)) {\n years.push(current);\n current = current.clone().add(1, \"year\");\n }\n return years;\n };\n // displaying methods\n MomentUtils.prototype.getCalendarHeaderText = function (date) {\n return this.format(date, this.yearMonthFormat);\n };\n MomentUtils.prototype.getYearText = function (date) {\n return this.format(date, \"YYYY\");\n };\n MomentUtils.prototype.getDatePickerHeaderText = function (date) {\n return this.format(date, \"ddd, MMM D\");\n };\n MomentUtils.prototype.getDateTimePickerHeaderText = function (date) {\n return this.format(date, \"MMM D\");\n };\n MomentUtils.prototype.getMonthText = function (date) {\n return this.format(date, \"MMMM\");\n };\n MomentUtils.prototype.getDayText = function (date) {\n return this.format(date, \"D\");\n };\n MomentUtils.prototype.getHourText = function (date, ampm) {\n return this.format(date, ampm ? \"hh\" : \"HH\");\n };\n MomentUtils.prototype.getMinuteText = function (date) {\n return this.format(date, \"mm\");\n };\n MomentUtils.prototype.getSecondText = function (date) {\n return this.format(date, \"ss\");\n };\n return MomentUtils;\n}());\n\nexport default MomentUtils;\n","import * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { IUtils } from '@date-io/core/IUtils';\nimport { MaterialUiPickersDate } from './typings/date';\n\nexport const MuiPickersContext = React.createContext | null>(null);\n\nexport interface MuiPickersUtilsProviderProps {\n utils: any;\n children: React.ReactNode;\n locale?: any;\n libInstance?: any;\n}\n\nexport const MuiPickersUtilsProvider: React.FC = ({\n utils: Utils,\n children,\n locale,\n libInstance,\n}) => {\n const utils = React.useMemo(() => new Utils({ locale, instance: libInstance }), [\n Utils,\n libInstance,\n locale,\n ]);\n\n return ;\n};\n\nMuiPickersUtilsProvider.propTypes = {\n utils: PropTypes.func.isRequired,\n locale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n children: PropTypes.oneOfType([\n PropTypes.element.isRequired,\n PropTypes.arrayOf(PropTypes.element.isRequired),\n ]).isRequired,\n};\n\nexport default MuiPickersUtilsProvider;\n","import { useContext } from 'react';\nimport { IUtils } from '@date-io/core/IUtils';\nimport { MaterialUiPickersDate } from '../../typings/date';\nimport { MuiPickersContext } from '../../MuiPickersUtilsProvider';\n\nexport const checkUtils = (utils: IUtils | null | undefined) => {\n if (!utils) {\n // tslint:disable-next-line\n throw new Error(\n 'Can not find utils in context. You either a) forgot to wrap your component tree in MuiPickersUtilsProvider; or b) mixed named and direct file imports. Recommendation: use named imports from the module index.'\n );\n }\n};\n\nexport function useUtils() {\n const utils = useContext(MuiPickersContext);\n checkUtils(utils);\n\n return utils!;\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar TableContext = React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\n\nexport default TableContext;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar Tablelvl2Context = React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n Tablelvl2Context.displayName = 'Tablelvl2Context';\n}\n\nexport default Tablelvl2Context;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nimport { darken, alpha, lighten } from '../styles/colorManipulator';\nimport TableContext from '../Table/TableContext';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.body2, {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: \"1px solid\\n \".concat(theme.palette.type === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)),\n textAlign: 'left',\n padding: 16\n }),\n\n /* Styles applied to the root element if `variant=\"head\"` or `context.table.head`. */\n head: {\n color: theme.palette.text.primary,\n lineHeight: theme.typography.pxToRem(24),\n fontWeight: theme.typography.fontWeightMedium\n },\n\n /* Styles applied to the root element if `variant=\"body\"` or `context.table.body`. */\n body: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `variant=\"footer\"` or `context.table.footer`. */\n footer: {\n color: theme.palette.text.secondary,\n lineHeight: theme.typography.pxToRem(21),\n fontSize: theme.typography.pxToRem(12)\n },\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: '6px 24px 6px 16px',\n '&:last-child': {\n paddingRight: 16\n },\n '&$paddingCheckbox': {\n width: 24,\n // prevent the checkbox column from growing\n padding: '0 12px 0 16px',\n '&:last-child': {\n paddingLeft: 12,\n paddingRight: 16\n },\n '& > *': {\n padding: 0\n }\n }\n },\n\n /* Styles applied to the root element if `padding=\"checkbox\"`. */\n paddingCheckbox: {\n width: 48,\n // prevent the checkbox column from growing\n padding: '0 0 0 4px',\n '&:last-child': {\n paddingLeft: 0,\n paddingRight: 4\n }\n },\n\n /* Styles applied to the root element if `padding=\"none\"`. */\n paddingNone: {\n padding: 0,\n '&:last-child': {\n padding: 0\n }\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `context.table.stickyHeader={true}`. */\n stickyHeader: {\n position: 'sticky',\n top: 0,\n left: 0,\n zIndex: 2,\n backgroundColor: theme.palette.background.default\n }\n };\n};\n/**\n * The component renders a `` element when the parent context is a header\n * or otherwise a `` element.\n */\n\nvar TableCell = /*#__PURE__*/React.forwardRef(function TableCell(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n component = props.component,\n paddingProp = props.padding,\n scopeProp = props.scope,\n sizeProp = props.size,\n sortDirection = props.sortDirection,\n variantProp = props.variant,\n other = _objectWithoutProperties(props, [\"align\", \"classes\", \"className\", \"component\", \"padding\", \"scope\", \"size\", \"sortDirection\", \"variant\"]);\n\n var table = React.useContext(TableContext);\n var tablelvl2 = React.useContext(Tablelvl2Context);\n var isHeadCell = tablelvl2 && tablelvl2.variant === 'head';\n var role;\n var Component;\n\n if (component) {\n Component = component;\n role = isHeadCell ? 'columnheader' : 'cell';\n } else {\n Component = isHeadCell ? 'th' : 'td';\n }\n\n var scope = scopeProp;\n\n if (!scope && isHeadCell) {\n scope = 'col';\n }\n\n var padding = paddingProp || (table && table.padding ? table.padding : 'normal');\n var size = sizeProp || (table && table.size ? table.size : 'medium');\n var variant = variantProp || tablelvl2 && tablelvl2.variant;\n var ariaSort = null;\n\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref,\n className: clsx(classes.root, classes[variant], className, align !== 'inherit' && classes[\"align\".concat(capitalize(align))], padding !== 'normal' && classes[\"padding\".concat(capitalize(padding))], size !== 'medium' && classes[\"size\".concat(capitalize(size))], variant === 'head' && table && table.stickyHeader && classes.stickyHeader),\n \"aria-sort\": ariaSort,\n role: role,\n scope: scope\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes = {\n /**\n * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n\n /**\n * The table cell contents.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Sets the padding applied to the cell.\n * By default, the Table parent component set the value (`normal`).\n * `default` is deprecated, use `normal` instead.\n */\n padding: chainPropTypes(PropTypes.oneOf(['normal', 'checkbox', 'none', 'default']), function (props) {\n if (props.padding === 'default') {\n return new Error('Material-UI: padding=\"default\" was renamed to padding=\"normal\" for consistency.');\n }\n\n return null;\n }),\n\n /**\n * Set scope attribute.\n */\n scope: PropTypes.string,\n\n /**\n * Specify the size of the cell.\n * By default, the Table parent component set the value (`medium`).\n */\n size: PropTypes.oneOf(['medium', 'small']),\n\n /**\n * Set aria-sort direction.\n */\n sortDirection: PropTypes.oneOf(['asc', 'desc', false]),\n\n /**\n * Specify the cell type.\n * By default, the TableHead, TableBody or TableFooter parent component set the value.\n */\n variant: PropTypes.oneOf(['body', 'footer', 'head'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTableCell'\n})(TableCell);","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport Person from '../internal/svg-icons/Person';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none'\n },\n\n /* Styles applied to the root element if not `src` or `srcSet`. */\n colorDefault: {\n color: theme.palette.background.default,\n backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]\n },\n\n /* Styles applied to the root element if `variant=\"circle\"`. */\n circle: {},\n\n /* Styles applied to the root element if `variant=\"circular\"`. */\n circular: {},\n\n /* Styles applied to the root element if `variant=\"rounded\"`. */\n rounded: {\n borderRadius: theme.shape.borderRadius\n },\n\n /* Styles applied to the root element if `variant=\"square\"`. */\n square: {\n borderRadius: 0\n },\n\n /* Styles applied to the img element if either `src` or `srcSet` is defined. */\n img: {\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE 11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n },\n\n /* Styles applied to the fallback icon */\n fallback: {\n width: '75%',\n height: '75%'\n }\n };\n};\n\nfunction useLoaded(_ref) {\n var src = _ref.src,\n srcSet = _ref.srcSet;\n\n var _React$useState = React.useState(false),\n loaded = _React$useState[0],\n setLoaded = _React$useState[1];\n\n React.useEffect(function () {\n if (!src && !srcSet) {\n return undefined;\n }\n\n setLoaded(false);\n var active = true;\n var image = new Image();\n image.src = src;\n image.srcSet = srcSet;\n\n image.onload = function () {\n if (!active) {\n return;\n }\n\n setLoaded('loaded');\n };\n\n image.onerror = function () {\n if (!active) {\n return;\n }\n\n setLoaded('error');\n };\n\n return function () {\n active = false;\n };\n }, [src, srcSet]);\n return loaded;\n}\n\nvar Avatar = /*#__PURE__*/React.forwardRef(function Avatar(props, ref) {\n var alt = props.alt,\n childrenProp = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n imgProps = props.imgProps,\n sizes = props.sizes,\n src = props.src,\n srcSet = props.srcSet,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'circular' : _props$variant,\n other = _objectWithoutProperties(props, [\"alt\", \"children\", \"classes\", \"className\", \"component\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"]);\n\n var children = null; // Use a hook instead of onError on the img element to support server-side rendering.\n\n var loaded = useLoaded({\n src: src,\n srcSet: srcSet\n });\n var hasImg = src || srcSet;\n var hasImgNotFailing = hasImg && loaded !== 'error';\n\n if (hasImgNotFailing) {\n children = /*#__PURE__*/React.createElement(\"img\", _extends({\n alt: alt,\n src: src,\n srcSet: srcSet,\n sizes: sizes,\n className: classes.img\n }, imgProps));\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/React.createElement(Person, {\n className: classes.fallback\n });\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, classes.system, classes[variant], className, !hasImgNotFailing && classes.colorDefault),\n ref: ref\n }, other), children);\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: chainPropTypes(PropTypes.object, function (props) {\n var classes = props.classes;\n\n if (classes == null) {\n return null;\n }\n\n if (classes.circle != null && // 2 classnames? one from withStyles the other must be custom\n classes.circle.split(' ').length > 1) {\n throw new Error(\"Material-UI: The `circle` class is deprecated. Use `circular` instead.\");\n }\n\n return null;\n }),\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Attributes applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps: PropTypes.object,\n\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n\n /**\n * The shape of the avatar.\n */\n variant: chainPropTypes(PropTypes.oneOf(['circle', 'circular', 'rounded', 'square']), function (props) {\n var variant = props.variant;\n\n if (variant === 'circle') {\n throw new Error('Material-UI: `variant=\"circle\"` is deprecated. Use `variant=\"circular\"` instead.');\n }\n\n return null;\n })\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiAvatar'\n})(Avatar);","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');","import React from 'react';\nexport default React.createContext(null);","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useEventCallback from '../utils/useEventCallback';\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * @ignore - internal component.\n */\n\nfunction Ripple(props) {\n var classes = props.classes,\n _props$pulsate = props.pulsate,\n pulsate = _props$pulsate === void 0 ? false : _props$pulsate,\n rippleX = props.rippleX,\n rippleY = props.rippleY,\n rippleSize = props.rippleSize,\n inProp = props.in,\n _props$onExited = props.onExited,\n onExited = _props$onExited === void 0 ? function () {} : _props$onExited,\n timeout = props.timeout;\n\n var _React$useState = React.useState(false),\n leaving = _React$useState[0],\n setLeaving = _React$useState[1];\n\n var rippleClassName = clsx(classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n var handleExited = useEventCallback(onExited); // Ripple is used for user feedback (e.g. click or press) so we want to apply styles with the highest priority\n\n useEnhancedEffect(function () {\n if (!inProp) {\n // react-transition-group#onExit\n setLeaving(true); // react-transition-group#onExited\n\n var timeoutId = setTimeout(handleExited, timeout);\n return function () {\n clearTimeout(timeoutId);\n };\n }\n\n return undefined;\n }, [handleExited, inProp, timeout]);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: childClassName\n }));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport Ripple from './Ripple';\nvar DURATION = 550;\nexport var DELAY_RIPPLE = 80;\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n },\n\n /* Styles applied to the internal `Ripple` components `ripple` class. */\n ripple: {\n opacity: 0,\n position: 'absolute'\n },\n\n /* Styles applied to the internal `Ripple` components `rippleVisible` class. */\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"$enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `ripplePulsate` class. */\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n\n /* Styles applied to the internal `Ripple` components `child` class. */\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the internal `Ripple` components `childLeaving` class. */\n childLeaving: {\n opacity: 0,\n animation: \"$exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `childPulsate` class. */\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"$pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\n\nvar TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(props, ref) {\n var _props$center = props.center,\n centerProp = _props$center === void 0 ? false : _props$center,\n classes = props.classes,\n className = props.className,\n other = _objectWithoutProperties(props, [\"center\", \"classes\", \"className\"]);\n\n var _React$useState = React.useState([]),\n ripples = _React$useState[0],\n setRipples = _React$useState[1];\n\n var nextKey = React.useRef(0);\n var rippleCallback = React.useRef(null);\n React.useEffect(function () {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]); // Used to filter out mouse emulated events on mobile.\n\n var ignoringMouseDown = React.useRef(false); // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n\n var startTimer = React.useRef(null); // This is the hook called once the previous timeout is ready.\n\n var startTimerCommit = React.useRef(null);\n var container = React.useRef(null);\n React.useEffect(function () {\n return function () {\n clearTimeout(startTimer.current);\n };\n }, []);\n var startCommit = React.useCallback(function (params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n setRipples(function (oldRipples) {\n return [].concat(_toConsumableArray(oldRipples), [/*#__PURE__*/React.createElement(Ripple, {\n key: nextKey.current,\n classes: classes,\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n });\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n var start = React.useCallback(function () {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? centerProp || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n\n if (event.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n\n if (event.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n\n var element = fakeElement ? null : container.current;\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var _ref = event.touches ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n\n if (event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = function () {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Delay the execution of the ripple effect.\n\n\n startTimer.current = setTimeout(function () {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n }\n } else {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }, [centerProp, startCommit]);\n var pulsate = React.useCallback(function () {\n start({}, {\n pulsate: true\n });\n }, [start]);\n var stop = React.useCallback(function (event, cb) {\n clearTimeout(startTimer.current); // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && startTimerCommit.current) {\n event.persist();\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.current = setTimeout(function () {\n stop(event, cb);\n });\n return;\n }\n\n startTimerCommit.current = null;\n setRipples(function (oldRipples) {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, []);\n React.useImperativeHandle(ref, function () {\n return {\n pulsate: pulsate,\n start: start,\n stop: stop\n };\n }, [pulsate, start, stop]);\n return /*#__PURE__*/React.createElement(\"span\", _extends({\n className: clsx(classes.root, className),\n ref: container\n }, other), /*#__PURE__*/React.createElement(TransitionGroup, {\n component: null,\n exit: true\n }, ripples));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default withStyles(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})( /*#__PURE__*/React.memo(TouchRipple));","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef, refType } from '@material-ui/utils';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport withStyles from '../styles/withStyles';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Pseudo-class applied to the root element if keyboard focused. */\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nvar ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n var action = props.action,\n buttonRefProp = props.buttonRef,\n _props$centerRipple = props.centerRipple,\n centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n component = _props$component === void 0 ? 'button' : _props$component,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableRipple = props.disableRipple,\n disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple,\n _props$disableTouchRi = props.disableTouchRipple,\n disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi,\n _props$focusRipple = props.focusRipple,\n focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple,\n focusVisibleClassName = props.focusVisibleClassName,\n onBlur = props.onBlur,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onFocusVisible = props.onFocusVisible,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onMouseDown = props.onMouseDown,\n onMouseLeave = props.onMouseLeave,\n onMouseUp = props.onMouseUp,\n onTouchEnd = props.onTouchEnd,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onDragLeave = props.onDragLeave,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n TouchRippleProps = props.TouchRippleProps,\n _props$type = props.type,\n type = _props$type === void 0 ? 'button' : _props$type,\n other = _objectWithoutProperties(props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onClick\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"onDragLeave\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n\n var buttonRef = React.useRef(null);\n\n function getButtonNode() {\n // #StrictMode ready\n return ReactDOM.findDOMNode(buttonRef.current);\n }\n\n var rippleRef = React.useRef(null);\n\n var _React$useState = React.useState(false),\n focusVisible = _React$useState[0],\n setFocusVisible = _React$useState[1];\n\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n\n var _useIsFocusVisible = useIsFocusVisible(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n React.useImperativeHandle(action, function () {\n return {\n focusVisible: function focusVisible() {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n };\n }, []);\n React.useEffect(function () {\n if (focusVisible && focusRipple && !disableRipple) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible]);\n\n function useRippleHandler(rippleAction, eventCallback) {\n var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple;\n return useEventCallback(function (event) {\n if (eventCallback) {\n eventCallback(event);\n }\n\n var ignore = skipRippleAction;\n\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n\n return true;\n });\n }\n\n var handleMouseDown = useRippleHandler('start', onMouseDown);\n var handleDragLeave = useRippleHandler('stop', onDragLeave);\n var handleMouseUp = useRippleHandler('stop', onMouseUp);\n var handleMouseLeave = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n event.preventDefault();\n }\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n var handleTouchStart = useRippleHandler('start', onTouchStart);\n var handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n var handleTouchMove = useRippleHandler('stop', onTouchMove);\n var handleBlur = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n onBlurVisible(event);\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n var handleFocus = useEventCallback(function (event) {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n\n if (isFocusVisible(event)) {\n setFocusVisible(true);\n\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n\n if (onFocus) {\n onFocus(event);\n }\n });\n\n var isNonNativeButton = function isNonNativeButton() {\n var button = getButtonNode();\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n /**\n * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n\n\n var keydownRef = React.useRef(false);\n var handleKeyDown = useEventCallback(function (event) {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.start(event);\n });\n }\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n\n if (onClick) {\n onClick(event);\n }\n }\n });\n var handleKeyUp = useEventCallback(function (event) {\n // calling preventDefault in keyUp on a \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import { useTheme as useThemeWithoutDefault } from '@material-ui/styles';\nimport React from 'react';\nimport defaultTheme from './defaultTheme';\nexport default function useTheme() {\n var theme = useThemeWithoutDefault() || defaultTheme;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\n}","export var reflow = function reflow(node) {\n return node.scrollTop;\n};\nexport function getTransitionProps(props, options) {\n var timeout = props.timeout,\n _props$style = props.style,\n style = _props$style === void 0 ? {} : _props$style;\n return {\n duration: style.transitionDuration || typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n delay: style.transitionDelay\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\n\nfunction getScale(value) {\n return \"scale(\".concat(value, \", \").concat(Math.pow(value, 2), \")\");\n}\n\nvar styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n/**\n * The Grow transition is used by the [Tooltip](/components/tooltips/) and\n * [Popover](/components/popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {\n var children = props.children,\n _props$disableStrictM = props.disableStrictModeCompat,\n disableStrictModeCompat = _props$disableStrictM === void 0 ? false : _props$disableStrictM,\n inProp = props.in,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n style = props.style,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? 'auto' : _props$timeout,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n other = _objectWithoutProperties(props, [\"children\", \"disableStrictModeCompat\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n\n var timer = React.useRef();\n var autoTimeout = React.useRef();\n var theme = useTheme();\n var enableStrictModeCompat = theme.unstable_strictMode && !disableStrictModeCompat;\n var nodeRef = React.useRef(null);\n var foreignRef = useForkRef(children.ref, ref);\n var handleRef = useForkRef(enableStrictModeCompat ? nodeRef : undefined, foreignRef);\n\n var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n return function (nodeOrAppearing, maybeAppearing) {\n if (callback) {\n var _ref = enableStrictModeCompat ? [nodeRef.current, nodeOrAppearing] : [nodeOrAppearing, maybeAppearing],\n _ref2 = _slicedToArray(_ref, 2),\n node = _ref2[0],\n isAppearing = _ref2[1]; // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n\n\n if (isAppearing === undefined) {\n callback(node);\n } else {\n callback(node, isAppearing);\n }\n }\n };\n };\n\n var handleEntering = normalizedTransitionCallback(onEntering);\n var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n reflow(node); // So the animation always start from the start.\n\n var _getTransitionProps = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration,\n delay = _getTransitionProps.delay;\n\n var duration;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay\n })].join(',');\n\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n var handleEntered = normalizedTransitionCallback(onEntered);\n var handleExiting = normalizedTransitionCallback(onExiting);\n var handleExit = normalizedTransitionCallback(function (node) {\n var _getTransitionProps2 = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration,\n delay = _getTransitionProps2.delay;\n\n var duration;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay || duration * 0.333\n })].join(',');\n node.style.opacity = '0';\n node.style.transform = getScale(0.75);\n\n if (onExit) {\n onExit(node);\n }\n });\n var handleExited = normalizedTransitionCallback(onExited);\n\n var addEndListener = function addEndListener(nodeOrNext, maybeNext) {\n var next = enableStrictModeCompat ? nodeOrNext : maybeNext;\n\n if (timeout === 'auto') {\n timer.current = setTimeout(next, autoTimeout.current || 0);\n }\n };\n\n React.useEffect(function () {\n return function () {\n clearTimeout(timer.current);\n };\n }, []);\n return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n appear: true,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: addEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Grow.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A single child content element.\n */\n children: PropTypes.element,\n\n /**\n * Enable this prop if you encounter 'Function components cannot be given refs',\n * use `unstable_createStrictModeTheme`,\n * and can't forward the ref in the child component.\n */\n disableStrictModeCompat: PropTypes.bool,\n\n /**\n * If `true`, show the component; triggers the enter or exit animation.\n */\n in: PropTypes.bool,\n\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nGrow.muiSupportAuto = true;\nexport default Grow;","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType } from '@material-ui/utils';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport setRef from '../utils/setRef';\nimport useForkRef from '../utils/useForkRef';\n\nfunction getContainer(container) {\n container = typeof container === 'function' ? container() : container; // #StrictMode ready\n\n return ReactDOM.findDOMNode(container);\n}\n\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n */\n\nvar Portal = /*#__PURE__*/React.forwardRef(function Portal(props, ref) {\n var children = props.children,\n container = props.container,\n _props$disablePortal = props.disablePortal,\n disablePortal = _props$disablePortal === void 0 ? false : _props$disablePortal,\n onRendered = props.onRendered;\n\n var _React$useState = React.useState(null),\n mountNode = _React$useState[0],\n setMountNode = _React$useState[1];\n\n var handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, ref);\n useEnhancedEffect(function () {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(function () {\n if (mountNode && !disablePortal) {\n setRef(ref, mountNode);\n return function () {\n setRef(ref, null);\n };\n }\n\n return undefined;\n }, [ref, mountNode, disablePortal]);\n useEnhancedEffect(function () {\n if (onRendered && (mountNode || disablePortal)) {\n onRendered();\n }\n }, [onRendered, mountNode, disablePortal]);\n\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n return /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef\n });\n }\n\n return children;\n }\n\n return mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode;\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The children to render into the `container`.\n */\n children: PropTypes.node,\n\n /**\n * A HTML element, component instance, or function that returns either.\n * The `container` will have the portal children appended to it.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.instanceOf(React.Component), PropTypes.func]),\n\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n *\n * This prop will be removed in v5, the ref can be used instead.\n * @deprecated Use the ref instead.\n */\n onRendered: deprecatedPropType(PropTypes.func, 'Use the ref instead.')\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\n\nexport default Portal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport PopperJs from 'popper.js';\nimport { chainPropTypes, refType, HTMLElementType } from '@material-ui/utils';\nimport { useTheme } from '@material-ui/styles';\nimport Portal from '../Portal';\nimport createChainedFunction from '../utils/createChainedFunction';\nimport setRef from '../utils/setRef';\nimport useForkRef from '../utils/useForkRef';\n\nfunction flipPlacement(placement, theme) {\n var direction = theme && theme.direction || 'ltr';\n\n if (direction === 'ltr') {\n return placement;\n }\n\n switch (placement) {\n case 'bottom-end':\n return 'bottom-start';\n\n case 'bottom-start':\n return 'bottom-end';\n\n case 'top-end':\n return 'top-start';\n\n case 'top-start':\n return 'top-end';\n\n default:\n return placement;\n }\n}\n\nfunction getAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar defaultPopperOptions = {};\n/**\n * Poppers rely on the 3rd party library [Popper.js](https://popper.js.org/docs/v1/) for positioning.\n */\n\nvar Popper = /*#__PURE__*/React.forwardRef(function Popper(props, ref) {\n var anchorEl = props.anchorEl,\n children = props.children,\n container = props.container,\n _props$disablePortal = props.disablePortal,\n disablePortal = _props$disablePortal === void 0 ? false : _props$disablePortal,\n _props$keepMounted = props.keepMounted,\n keepMounted = _props$keepMounted === void 0 ? false : _props$keepMounted,\n modifiers = props.modifiers,\n open = props.open,\n _props$placement = props.placement,\n initialPlacement = _props$placement === void 0 ? 'bottom' : _props$placement,\n _props$popperOptions = props.popperOptions,\n popperOptions = _props$popperOptions === void 0 ? defaultPopperOptions : _props$popperOptions,\n popperRefProp = props.popperRef,\n style = props.style,\n _props$transition = props.transition,\n transition = _props$transition === void 0 ? false : _props$transition,\n other = _objectWithoutProperties(props, [\"anchorEl\", \"children\", \"container\", \"disablePortal\", \"keepMounted\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"style\", \"transition\"]);\n\n var tooltipRef = React.useRef(null);\n var ownRef = useForkRef(tooltipRef, ref);\n var popperRef = React.useRef(null);\n var handlePopperRef = useForkRef(popperRef, popperRefProp);\n var handlePopperRefRef = React.useRef(handlePopperRef);\n useEnhancedEffect(function () {\n handlePopperRefRef.current = handlePopperRef;\n }, [handlePopperRef]);\n React.useImperativeHandle(popperRefProp, function () {\n return popperRef.current;\n }, []);\n\n var _React$useState = React.useState(true),\n exited = _React$useState[0],\n setExited = _React$useState[1];\n\n var theme = useTheme();\n var rtlPlacement = flipPlacement(initialPlacement, theme);\n /**\n * placement initialized from prop but can change during lifetime if modifiers.flip.\n * modifiers.flip is essentially a flip for controlled/uncontrolled behavior\n */\n\n var _React$useState2 = React.useState(rtlPlacement),\n placement = _React$useState2[0],\n setPlacement = _React$useState2[1];\n\n React.useEffect(function () {\n if (popperRef.current) {\n popperRef.current.update();\n }\n });\n var handleOpen = React.useCallback(function () {\n if (!tooltipRef.current || !anchorEl || !open) {\n return;\n }\n\n if (popperRef.current) {\n popperRef.current.destroy();\n handlePopperRefRef.current(null);\n }\n\n var handlePopperUpdate = function handlePopperUpdate(data) {\n setPlacement(data.placement);\n };\n\n var resolvedAnchorEl = getAnchorEl(anchorEl);\n\n if (process.env.NODE_ENV !== 'production') {\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n var box = resolvedAnchorEl.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['Material-UI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n }\n\n var popper = new PopperJs(getAnchorEl(anchorEl), tooltipRef.current, _extends({\n placement: rtlPlacement\n }, popperOptions, {\n modifiers: _extends({}, disablePortal ? {} : {\n // It's using scrollParent by default, we can use the viewport when using a portal.\n preventOverflow: {\n boundariesElement: 'window'\n }\n }, modifiers, popperOptions.modifiers),\n // We could have been using a custom modifier like react-popper is doing.\n // But it seems this is the best public API for this use case.\n onCreate: createChainedFunction(handlePopperUpdate, popperOptions.onCreate),\n onUpdate: createChainedFunction(handlePopperUpdate, popperOptions.onUpdate)\n }));\n handlePopperRefRef.current(popper);\n }, [anchorEl, disablePortal, modifiers, open, rtlPlacement, popperOptions]);\n var handleRef = React.useCallback(function (node) {\n setRef(ownRef, node);\n handleOpen();\n }, [ownRef, handleOpen]);\n\n var handleEnter = function handleEnter() {\n setExited(false);\n };\n\n var handleClose = function handleClose() {\n if (!popperRef.current) {\n return;\n }\n\n popperRef.current.destroy();\n handlePopperRefRef.current(null);\n };\n\n var handleExited = function handleExited() {\n setExited(true);\n handleClose();\n };\n\n React.useEffect(function () {\n return function () {\n handleClose();\n };\n }, []);\n React.useEffect(function () {\n if (!open && !transition) {\n // Otherwise handleExited will call this.\n handleClose();\n }\n }, [open, transition]);\n\n if (!keepMounted && !open && (!transition || exited)) {\n return null;\n }\n\n var childProps = {\n placement: placement\n };\n\n if (transition) {\n childProps.TransitionProps = {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited\n };\n }\n\n return /*#__PURE__*/React.createElement(Portal, {\n disablePortal: disablePortal,\n container: container\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: handleRef,\n role: \"tooltip\"\n }, other, {\n style: _extends({\n // Prevents scroll issue, waiting for Popper.js to add this style once initiated.\n position: 'fixed',\n // Fix Popper.js display issue\n top: 0,\n left: 0,\n display: !open && keepMounted && !transition ? 'none' : null\n }, style)\n }), typeof children === 'function' ? children(childProps) : children));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A HTML element, [referenceObject](https://popper.js.org/docs/v1/#referenceObject),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]), function (props) {\n if (props.open) {\n var resolvedAnchorEl = getAnchorEl(props.anchorEl);\n\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n var box = resolvedAnchorEl.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['Material-UI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedAnchorEl || typeof resolvedAnchorEl.clientWidth !== 'number' || typeof resolvedAnchorEl.clientHeight !== 'number' || typeof resolvedAnchorEl.getBoundingClientRect !== 'function') {\n return new Error(['Material-UI: The `anchorEl` prop provided to the component is invalid.', 'It should be an HTML element instance or a referenceObject ', '(https://popper.js.org/docs/v1/#referenceObject).'].join('\\n'));\n }\n }\n\n return null;\n }),\n\n /**\n * Popper render function or node.\n */\n children: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.node, PropTypes.func]).isRequired,\n\n /**\n * A HTML element, component instance, or function that returns either.\n * The `container` will have the portal children appended to it.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.instanceOf(React.Component), PropTypes.func]),\n\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n */\n keepMounted: PropTypes.bool,\n\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v1/#modifiers).\n */\n modifiers: PropTypes.object,\n\n /**\n * If `true`, the popper is visible.\n */\n open: PropTypes.bool.isRequired,\n\n /**\n * Popper placement.\n */\n placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n\n /**\n * Options provided to the [`popper.js`](https://popper.js.org/docs/v1/) instance.\n */\n popperOptions: PropTypes.object,\n\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\n /**\n * Help supporting a react-transition-group/Transition component.\n */\n transition: PropTypes.bool\n} : void 0;\nexport default Popper;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { deepmerge, elementAcceptingRef } from '@material-ui/utils';\nimport { alpha } from '../styles/colorManipulator';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport Popper from '../Popper';\nimport useForkRef from '../utils/useForkRef';\nimport useId from '../utils/unstable_useId';\nimport setRef from '../utils/setRef';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useControlled from '../utils/useControlled';\nimport useTheme from '../styles/useTheme';\n\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nfunction arrowGenerator() {\n return {\n '&[x-placement*=\"bottom\"] $arrow': {\n top: 0,\n left: 0,\n marginTop: '-0.71em',\n marginLeft: 4,\n marginRight: 4,\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n '&[x-placement*=\"top\"] $arrow': {\n bottom: 0,\n left: 0,\n marginBottom: '-0.71em',\n marginLeft: 4,\n marginRight: 4,\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n '&[x-placement*=\"right\"] $arrow': {\n left: 0,\n marginLeft: '-0.71em',\n height: '1em',\n width: '0.71em',\n marginTop: 4,\n marginBottom: 4,\n '&::before': {\n transformOrigin: '100% 100%'\n }\n },\n '&[x-placement*=\"left\"] $arrow': {\n right: 0,\n marginRight: '-0.71em',\n height: '1em',\n width: '0.71em',\n marginTop: 4,\n marginBottom: 4,\n '&::before': {\n transformOrigin: '0 0'\n }\n }\n };\n}\n\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the Popper component. */\n popper: {\n zIndex: theme.zIndex.tooltip,\n pointerEvents: 'none' // disable jss-rtl plugin\n\n },\n\n /* Styles applied to the Popper component if `interactive={true}`. */\n popperInteractive: {\n pointerEvents: 'auto'\n },\n\n /* Styles applied to the Popper component if `arrow={true}`. */\n popperArrow: arrowGenerator(),\n\n /* Styles applied to the tooltip (label wrapper) element. */\n tooltip: {\n backgroundColor: alpha(theme.palette.grey[700], 0.9),\n borderRadius: theme.shape.borderRadius,\n color: theme.palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(10),\n lineHeight: \"\".concat(round(14 / 10), \"em\"),\n maxWidth: 300,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium\n },\n\n /* Styles applied to the tooltip (label wrapper) element if `arrow={true}`. */\n tooltipArrow: {\n position: 'relative',\n margin: '0'\n },\n\n /* Styles applied to the arrow element. */\n arrow: {\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em'\n /* = width / sqrt(2) = (length of the hypotenuse) */\n ,\n boxSizing: 'border-box',\n color: alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n },\n\n /* Styles applied to the tooltip (label wrapper) element if the tooltip is opened by touch. */\n touch: {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: \"\".concat(round(16 / 14), \"em\"),\n fontWeight: theme.typography.fontWeightRegular\n },\n\n /* Styles applied to the tooltip (label wrapper) element if `placement` contains \"left\". */\n tooltipPlacementLeft: _defineProperty({\n transformOrigin: 'right center',\n margin: '0 24px '\n }, theme.breakpoints.up('sm'), {\n margin: '0 14px'\n }),\n\n /* Styles applied to the tooltip (label wrapper) element if `placement` contains \"right\". */\n tooltipPlacementRight: _defineProperty({\n transformOrigin: 'left center',\n margin: '0 24px'\n }, theme.breakpoints.up('sm'), {\n margin: '0 14px'\n }),\n\n /* Styles applied to the tooltip (label wrapper) element if `placement` contains \"top\". */\n tooltipPlacementTop: _defineProperty({\n transformOrigin: 'center bottom',\n margin: '24px 0'\n }, theme.breakpoints.up('sm'), {\n margin: '14px 0'\n }),\n\n /* Styles applied to the tooltip (label wrapper) element if `placement` contains \"bottom\". */\n tooltipPlacementBottom: _defineProperty({\n transformOrigin: 'center top',\n margin: '24px 0'\n }, theme.breakpoints.up('sm'), {\n margin: '14px 0'\n })\n };\n};\nvar hystersisOpen = false;\nvar hystersisTimer = null;\nexport function testReset() {\n hystersisOpen = false;\n clearTimeout(hystersisTimer);\n}\nvar Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, ref) {\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n children = props.children,\n classes = props.classes,\n _props$disableFocusLi = props.disableFocusListener,\n disableFocusListener = _props$disableFocusLi === void 0 ? false : _props$disableFocusLi,\n _props$disableHoverLi = props.disableHoverListener,\n disableHoverListener = _props$disableHoverLi === void 0 ? false : _props$disableHoverLi,\n _props$disableTouchLi = props.disableTouchListener,\n disableTouchListener = _props$disableTouchLi === void 0 ? false : _props$disableTouchLi,\n _props$enterDelay = props.enterDelay,\n enterDelay = _props$enterDelay === void 0 ? 100 : _props$enterDelay,\n _props$enterNextDelay = props.enterNextDelay,\n enterNextDelay = _props$enterNextDelay === void 0 ? 0 : _props$enterNextDelay,\n _props$enterTouchDela = props.enterTouchDelay,\n enterTouchDelay = _props$enterTouchDela === void 0 ? 700 : _props$enterTouchDela,\n idProp = props.id,\n _props$interactive = props.interactive,\n interactive = _props$interactive === void 0 ? false : _props$interactive,\n _props$leaveDelay = props.leaveDelay,\n leaveDelay = _props$leaveDelay === void 0 ? 0 : _props$leaveDelay,\n _props$leaveTouchDela = props.leaveTouchDelay,\n leaveTouchDelay = _props$leaveTouchDela === void 0 ? 1500 : _props$leaveTouchDela,\n onClose = props.onClose,\n onOpen = props.onOpen,\n openProp = props.open,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottom' : _props$placement,\n _props$PopperComponen = props.PopperComponent,\n PopperComponent = _props$PopperComponen === void 0 ? Popper : _props$PopperComponen,\n PopperProps = props.PopperProps,\n title = props.title,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Grow : _props$TransitionComp,\n TransitionProps = props.TransitionProps,\n other = _objectWithoutProperties(props, [\"arrow\", \"children\", \"classes\", \"disableFocusListener\", \"disableHoverListener\", \"disableTouchListener\", \"enterDelay\", \"enterNextDelay\", \"enterTouchDelay\", \"id\", \"interactive\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperComponent\", \"PopperProps\", \"title\", \"TransitionComponent\", \"TransitionProps\"]);\n\n var theme = useTheme();\n\n var _React$useState = React.useState(),\n childNode = _React$useState[0],\n setChildNode = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowRef = _React$useState2[0],\n setArrowRef = _React$useState2[1];\n\n var ignoreNonTouchEvents = React.useRef(false);\n var closeTimer = React.useRef();\n var enterTimer = React.useRef();\n var leaveTimer = React.useRef();\n var touchTimer = React.useRef();\n\n var _useControlled = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n openState = _useControlled2[0],\n setOpenState = _useControlled2[1];\n\n var open = openState;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var _React$useRef = React.useRef(openProp !== undefined),\n isControlled = _React$useRef.current; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n\n React.useEffect(function () {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.error(['Material-UI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n\n var id = useId(idProp);\n React.useEffect(function () {\n return function () {\n clearTimeout(closeTimer.current);\n clearTimeout(enterTimer.current);\n clearTimeout(leaveTimer.current);\n clearTimeout(touchTimer.current);\n };\n }, []);\n\n var handleOpen = function handleOpen(event) {\n clearTimeout(hystersisTimer);\n hystersisOpen = true; // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n\n setOpenState(true);\n\n if (onOpen) {\n onOpen(event);\n }\n };\n\n var handleEnter = function handleEnter() {\n var forward = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return function (event) {\n var childrenProps = children.props;\n\n if (event.type === 'mouseover' && childrenProps.onMouseOver && forward) {\n childrenProps.onMouseOver(event);\n }\n\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n } // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n\n\n if (childNode) {\n childNode.removeAttribute('title');\n }\n\n clearTimeout(enterTimer.current);\n clearTimeout(leaveTimer.current);\n\n if (enterDelay || hystersisOpen && enterNextDelay) {\n event.persist();\n enterTimer.current = setTimeout(function () {\n handleOpen(event);\n }, hystersisOpen ? enterNextDelay : enterDelay);\n } else {\n handleOpen(event);\n }\n };\n };\n\n var _useIsFocusVisible = useIsFocusVisible(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n var _React$useState3 = React.useState(false),\n childIsFocusVisible = _React$useState3[0],\n setChildIsFocusVisible = _React$useState3[1];\n\n var handleBlur = function handleBlur() {\n if (childIsFocusVisible) {\n setChildIsFocusVisible(false);\n onBlurVisible();\n }\n };\n\n var handleFocus = function handleFocus() {\n var forward = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return function (event) {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n\n if (isFocusVisible(event)) {\n setChildIsFocusVisible(true);\n handleEnter()(event);\n }\n\n var childrenProps = children.props;\n\n if (childrenProps.onFocus && forward) {\n childrenProps.onFocus(event);\n }\n };\n };\n\n var handleClose = function handleClose(event) {\n clearTimeout(hystersisTimer);\n hystersisTimer = setTimeout(function () {\n hystersisOpen = false;\n }, 800 + leaveDelay);\n setOpenState(false);\n\n if (onClose) {\n onClose(event);\n }\n\n clearTimeout(closeTimer.current);\n closeTimer.current = setTimeout(function () {\n ignoreNonTouchEvents.current = false;\n }, theme.transitions.duration.shortest);\n };\n\n var handleLeave = function handleLeave() {\n var forward = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return function (event) {\n var childrenProps = children.props;\n\n if (event.type === 'blur') {\n if (childrenProps.onBlur && forward) {\n childrenProps.onBlur(event);\n }\n\n handleBlur();\n }\n\n if (event.type === 'mouseleave' && childrenProps.onMouseLeave && event.currentTarget === childNode) {\n childrenProps.onMouseLeave(event);\n }\n\n clearTimeout(enterTimer.current);\n clearTimeout(leaveTimer.current);\n event.persist();\n leaveTimer.current = setTimeout(function () {\n handleClose(event);\n }, leaveDelay);\n };\n };\n\n var detectTouchStart = function detectTouchStart(event) {\n ignoreNonTouchEvents.current = true;\n var childrenProps = children.props;\n\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n\n var handleTouchStart = function handleTouchStart(event) {\n detectTouchStart(event);\n clearTimeout(leaveTimer.current);\n clearTimeout(closeTimer.current);\n clearTimeout(touchTimer.current);\n event.persist();\n touchTimer.current = setTimeout(function () {\n handleEnter()(event);\n }, enterTouchDelay);\n };\n\n var handleTouchEnd = function handleTouchEnd(event) {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n\n clearTimeout(touchTimer.current);\n clearTimeout(leaveTimer.current);\n event.persist();\n leaveTimer.current = setTimeout(function () {\n handleClose(event);\n }, leaveTouchDelay);\n };\n\n var handleUseRef = useForkRef(setChildNode, ref);\n var handleFocusRef = useForkRef(focusVisibleRef, handleUseRef); // can be removed once we drop support for non ref forwarding class components\n\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n setRef(handleFocusRef, ReactDOM.findDOMNode(instance));\n }, [handleFocusRef]);\n var handleRef = useForkRef(children.ref, handleOwnRef); // There is no point in displaying an empty tooltip.\n\n if (title === '') {\n open = false;\n } // For accessibility and SEO concerns, we render the title to the DOM node when\n // the tooltip is hidden. However, we have made a tradeoff when\n // `disableHoverListener` is set. This title logic is disabled.\n // It's allowing us to keep the implementation size minimal.\n // We are open to change the tradeoff.\n\n\n var shouldShowNativeTitle = !open && !disableHoverListener;\n\n var childrenProps = _extends({\n 'aria-describedby': open ? id : null,\n title: shouldShowNativeTitle && typeof title === 'string' ? title : null\n }, other, children.props, {\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef\n });\n\n var interactiveWrapperListeners = {};\n\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n\n if (!disableHoverListener) {\n childrenProps.onMouseOver = handleEnter();\n childrenProps.onMouseLeave = handleLeave();\n\n if (interactive) {\n interactiveWrapperListeners.onMouseOver = handleEnter(false);\n interactiveWrapperListeners.onMouseLeave = handleLeave(false);\n }\n }\n\n if (!disableFocusListener) {\n childrenProps.onFocus = handleFocus();\n childrenProps.onBlur = handleLeave();\n\n if (interactive) {\n interactiveWrapperListeners.onFocus = handleFocus(false);\n interactiveWrapperListeners.onBlur = handleLeave(false);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['Material-UI: You have provided a `title` prop to the child of .', \"Remove this title prop `\".concat(children.props.title, \"` or the Tooltip component.\")].join('\\n'));\n }\n }\n\n var mergedPopperProps = React.useMemo(function () {\n return deepmerge({\n popperOptions: {\n modifiers: {\n arrow: {\n enabled: Boolean(arrowRef),\n element: arrowRef\n }\n }\n }\n }, PopperProps);\n }, [arrowRef, PopperProps]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/React.createElement(PopperComponent, _extends({\n className: clsx(classes.popper, interactive && classes.popperInteractive, arrow && classes.popperArrow),\n placement: placement,\n anchorEl: childNode,\n open: childNode ? open : false,\n id: childrenProps['aria-describedby'],\n transition: true\n }, interactiveWrapperListeners, mergedPopperProps), function (_ref) {\n var placementInner = _ref.placement,\n TransitionPropsInner = _ref.TransitionProps;\n return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n timeout: theme.transitions.duration.shorter\n }, TransitionPropsInner, TransitionProps), /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.tooltip, classes[\"tooltipPlacement\".concat(capitalize(placementInner.split('-')[0]))], ignoreNonTouchEvents.current && classes.touch, arrow && classes.tooltipArrow)\n }, title, arrow ? /*#__PURE__*/React.createElement(\"span\", {\n className: classes.arrow,\n ref: setArrowRef\n }) : null));\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, adds an arrow to the tooltip.\n */\n arrow: PropTypes.bool,\n\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Do not respond to focus events.\n */\n disableFocusListener: PropTypes.bool,\n\n /**\n * Do not respond to hover events.\n */\n disableHoverListener: PropTypes.bool,\n\n /**\n * Do not respond to long press touch events.\n */\n disableTouchListener: PropTypes.bool,\n\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay: PropTypes.number,\n\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n */\n enterNextDelay: PropTypes.number,\n\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n */\n enterTouchDelay: PropTypes.number,\n\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n\n /**\n * Makes a tooltip interactive, i.e. will not close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n */\n interactive: PropTypes.bool,\n\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay: PropTypes.number,\n\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n */\n leaveTouchDelay: PropTypes.number,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n\n /**\n * If `true`, the tooltip is shown.\n */\n open: PropTypes.bool,\n\n /**\n * Tooltip placement.\n */\n placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n\n /**\n * The component used for the popper.\n */\n PopperComponent: PropTypes.elementType,\n\n /**\n * Props applied to the [`Popper`](/api/popper/) element.\n */\n PopperProps: PropTypes.object,\n\n /**\n * Tooltip title. Zero-length titles string are never displayed.\n */\n title: PropTypes\n /* @typescript-to-proptypes-ignore */\n .node.isRequired,\n\n /**\n * The component used for the transition.\n * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n */\n TransitionComponent: PropTypes.elementType,\n\n /**\n * Props applied to the [`Transition`](http://reactcommunity.org/react-transition-group/transition#Transition-props) element.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTooltip',\n flip: false\n})(Tooltip);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport { alpha } from '../styles/colorManipulator';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 12,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE 11.\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n backgroundColor: 'transparent',\n color: theme.palette.action.disabled\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -12,\n '$sizeSmall&': {\n marginLeft: -3\n }\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -12,\n '$sizeSmall&': {\n marginRight: -3\n }\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: 3,\n fontSize: theme.typography.pxToRem(18)\n },\n\n /* Styles applied to the children container element. */\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/components/icons/) section of the documentation\n * regarding the available icon options.\n */\n\nvar IconButton = /*#__PURE__*/React.forwardRef(function IconButton(props, ref) {\n var _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'default' : _props$color,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = _objectWithoutProperties(props, [\"edge\", \"children\", \"classes\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n className: clsx(classes.root, className, color !== 'default' && classes[\"color\".concat(capitalize(color))], disabled && classes.disabled, size === \"small\" && classes[\"size\".concat(capitalize(size))], {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge]),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other), /*#__PURE__*/React.createElement(\"span\", {\n className: classes.label\n }, children));\n});\nprocess.env.NODE_ENV !== \"production\" ? IconButton.propTypes = {\n /**\n * The icon element.\n */\n children: chainPropTypes(PropTypes.node, function (props) {\n var found = React.Children.toArray(props.children).some(function (child) {\n return /*#__PURE__*/React.isValidElement(child) && child.props.onClick;\n });\n\n if (found) {\n return new Error(['Material-UI: You are providing an onClick event listener ' + 'to a child of a button element.', 'Firefox will never trigger the event.', 'You should move the onClick listener to the parent button element.', 'https://github.com/mui-org/material-ui/issues/13957'].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: PropTypes.oneOf(['start', 'end', false]),\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: PropTypes.oneOf(['small', 'medium'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiIconButton'\n})(IconButton);","export default function formControlState(_ref) {\n var props = _ref.props,\n states = _ref.states,\n muiFormControl = _ref.muiFormControl;\n return states.reduce(function (acc, state) {\n acc[state] = props[state];\n\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n\n return acc;\n }, {});\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar FormControlContext = React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\n\nexport function useFormControl() {\n return React.useContext(FormControlContext);\n}\nexport default FormControlContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport useForkRef from '../utils/useForkRef';\nimport deprecatedPropType from '../utils/deprecatedPropType';\n\nfunction getStyleValue(computedStyle, property) {\n return parseInt(computedStyle[property], 10) || 0;\n}\n\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar styles = {\n /* Styles applied to the shadow textarea element. */\n shadow: {\n // Visibility needed to hide the extra text area on iPads\n visibility: 'hidden',\n // Remove from the content flow\n position: 'absolute',\n // Ignore the scrollbar width\n overflow: 'hidden',\n height: 0,\n top: 0,\n left: 0,\n // Create a new layer, increase the isolation of the computed values\n transform: 'translateZ(0)'\n }\n};\nvar TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize(props, ref) {\n var onChange = props.onChange,\n rows = props.rows,\n rowsMax = props.rowsMax,\n rowsMinProp = props.rowsMin,\n maxRowsProp = props.maxRows,\n _props$minRows = props.minRows,\n minRowsProp = _props$minRows === void 0 ? 1 : _props$minRows,\n style = props.style,\n value = props.value,\n other = _objectWithoutProperties(props, [\"onChange\", \"rows\", \"rowsMax\", \"rowsMin\", \"maxRows\", \"minRows\", \"style\", \"value\"]);\n\n var maxRows = maxRowsProp || rowsMax;\n var minRows = rows || rowsMinProp || minRowsProp;\n\n var _React$useRef = React.useRef(value != null),\n isControlled = _React$useRef.current;\n\n var inputRef = React.useRef(null);\n var handleRef = useForkRef(ref, inputRef);\n var shadowRef = React.useRef(null);\n var renders = React.useRef(0);\n\n var _React$useState = React.useState({}),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var syncHeight = React.useCallback(function () {\n var input = inputRef.current;\n var computedStyle = window.getComputedStyle(input);\n var inputShallow = shadowRef.current;\n inputShallow.style.width = computedStyle.width;\n inputShallow.value = input.value || props.placeholder || 'x';\n\n if (inputShallow.value.slice(-1) === '\\n') {\n // Certain fonts which overflow the line height will cause the textarea\n // to report a different scrollHeight depending on whether the last line\n // is empty. Make it non-empty to avoid this issue.\n inputShallow.value += ' ';\n }\n\n var boxSizing = computedStyle['box-sizing'];\n var padding = getStyleValue(computedStyle, 'padding-bottom') + getStyleValue(computedStyle, 'padding-top');\n var border = getStyleValue(computedStyle, 'border-bottom-width') + getStyleValue(computedStyle, 'border-top-width'); // The height of the inner content\n\n var innerHeight = inputShallow.scrollHeight - padding; // Measure height of a textarea with a single row\n\n inputShallow.value = 'x';\n var singleRowHeight = inputShallow.scrollHeight - padding; // The height of the outer content\n\n var outerHeight = innerHeight;\n\n if (minRows) {\n outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);\n }\n\n if (maxRows) {\n outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);\n }\n\n outerHeight = Math.max(outerHeight, singleRowHeight); // Take the box sizing into account for applying this value as a style.\n\n var outerHeightStyle = outerHeight + (boxSizing === 'border-box' ? padding + border : 0);\n var overflow = Math.abs(outerHeight - innerHeight) <= 1;\n setState(function (prevState) {\n // Need a large enough difference to update the height.\n // This prevents infinite rendering loop.\n if (renders.current < 20 && (outerHeightStyle > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle) > 1 || prevState.overflow !== overflow)) {\n renders.current += 1;\n return {\n overflow: overflow,\n outerHeightStyle: outerHeightStyle\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (renders.current === 20) {\n console.error(['Material-UI: Too many re-renders. The layout is unstable.', 'TextareaAutosize limits the number of renders to prevent an infinite loop.'].join('\\n'));\n }\n }\n\n return prevState;\n });\n }, [maxRows, minRows, props.placeholder]);\n React.useEffect(function () {\n var handleResize = debounce(function () {\n renders.current = 0;\n syncHeight();\n });\n window.addEventListener('resize', handleResize);\n return function () {\n handleResize.clear();\n window.removeEventListener('resize', handleResize);\n };\n }, [syncHeight]);\n useEnhancedEffect(function () {\n syncHeight();\n });\n React.useEffect(function () {\n renders.current = 0;\n }, [value]);\n\n var handleChange = function handleChange(event) {\n renders.current = 0;\n\n if (!isControlled) {\n syncHeight();\n }\n\n if (onChange) {\n onChange(event);\n }\n };\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"textarea\", _extends({\n value: value,\n onChange: handleChange,\n ref: handleRef // Apply the rows prop to get a \"correct\" first SSR paint\n ,\n rows: minRows,\n style: _extends({\n height: state.outerHeightStyle,\n // Need a large enough difference to allow scrolling.\n // This prevents infinite rendering loop.\n overflow: state.overflow ? 'hidden' : null\n }, style)\n }, other)), /*#__PURE__*/React.createElement(\"textarea\", {\n \"aria-hidden\": true,\n className: props.className,\n readOnly: true,\n ref: shadowRef,\n tabIndex: -1,\n style: _extends({}, styles.shadow, style)\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TextareaAutosize.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Maximum number of rows to display.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n placeholder: PropTypes.string,\n\n /**\n * Minimum number of rows to display.\n * @deprecated Use `minRows` instead.\n */\n rows: deprecatedPropType(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), 'Use `minRows` instead.'),\n\n /**\n * Maximum number of rows to display.\n * @deprecated Use `maxRows` instead.\n */\n rowsMax: deprecatedPropType(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), 'Use `maxRows` instead.'),\n\n /**\n * Minimum number of rows to display.\n * @deprecated Use `minRows` instead.\n */\n rowsMin: deprecatedPropType(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), 'Use `minRows` instead.'),\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\n /**\n * @ignore\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.number, PropTypes.string])\n} : void 0;\nexport default TextareaAutosize;","// Supports determination of isControlled().\n// Controlled input accepts its current value as a prop.\n//\n// @see https://facebook.github.io/react/docs/forms.html#controlled-components\n// @param value\n// @returns {boolean} true if string (including '') or number (including zero)\nexport function hasValue(value) {\n return value != null && !(Array.isArray(value) && value.length === 0);\n} // Determine if field is empty or filled.\n// Response determines if label is presented above field or as placeholder.\n//\n// @param obj\n// @param SSR\n// @returns {boolean} False when not present or empty string.\n// True when any number or string with length.\n\nexport function isFilled(obj) {\n var SSR = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');\n} // Determine if an Input is adorned on start.\n// It's corresponding to the left with LTR.\n//\n// @param obj\n// @returns {boolean} False when no adornments.\n// True when adorned at the start.\n\nexport function isAdornedStart(obj) {\n return obj.startAdornment;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n\n/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport formControlState from '../FormControl/formControlState';\nimport FormControlContext, { useFormControl } from '../FormControl/FormControlContext';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport TextareaAutosize from '../TextareaAutosize';\nimport { isFilled } from './utils';\nexport var styles = function styles(theme) {\n var light = theme.palette.type === 'light';\n var placeholder = {\n color: 'currentColor',\n opacity: light ? 0.42 : 0.5,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter\n })\n };\n var placeholderHidden = {\n opacity: '0 !important'\n };\n var placeholderVisible = {\n opacity: light ? 0.42 : 0.5\n };\n return {\n '@global': {\n '@keyframes mui-auto-fill': {},\n '@keyframes mui-auto-fill-cancel': {}\n },\n\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.body1, {\n color: theme.palette.text.primary,\n lineHeight: '1.1876em',\n // Reset (19px), match the native input line-height\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n position: 'relative',\n cursor: 'text',\n display: 'inline-flex',\n alignItems: 'center',\n '&$disabled': {\n color: theme.palette.text.disabled,\n cursor: 'default'\n }\n }),\n\n /* Styles applied to the root element if the component is a descendant of `FormControl`. */\n formControl: {},\n\n /* Styles applied to the root element if the component is focused. */\n focused: {},\n\n /* Styles applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `startAdornment` is provided. */\n adornedStart: {},\n\n /* Styles applied to the root element if `endAdornment` is provided. */\n adornedEnd: {},\n\n /* Pseudo-class applied to the root element if `error={true}`. */\n error: {},\n\n /* Styles applied to the `input` element if `margin=\"dense\"`. */\n marginDense: {},\n\n /* Styles applied to the root element if `multiline={true}`. */\n multiline: {\n padding: \"\".concat(8 - 2, \"px 0 \").concat(8 - 1, \"px\"),\n '&$marginDense': {\n paddingTop: 4 - 1\n }\n },\n\n /* Styles applied to the root element if the color is secondary. */\n colorSecondary: {},\n\n /* Styles applied to the root element if `fullWidth={true}`. */\n fullWidth: {\n width: '100%'\n },\n\n /* Styles applied to the `input` element. */\n input: {\n font: 'inherit',\n letterSpacing: 'inherit',\n color: 'currentColor',\n padding: \"\".concat(8 - 2, \"px 0 \").concat(8 - 1, \"px\"),\n border: 0,\n boxSizing: 'content-box',\n background: 'none',\n height: '1.1876em',\n // Reset (19px), match the native input line-height\n margin: 0,\n // Reset for Safari\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n // Make the flex item shrink with Firefox\n minWidth: 0,\n width: '100%',\n // Fix IE 11 width issue\n animationName: 'mui-auto-fill-cancel',\n animationDuration: '10ms',\n '&::-webkit-input-placeholder': placeholder,\n '&::-moz-placeholder': placeholder,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholder,\n // IE 11\n '&::-ms-input-placeholder': placeholder,\n // Edge\n '&:focus': {\n outline: 0\n },\n // Reset Firefox invalid required input style\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::-webkit-search-decoration': {\n // Remove the padding when type=search.\n '-webkit-appearance': 'none'\n },\n // Show and hide the placeholder logic\n 'label[data-shrink=false] + $formControl &': {\n '&::-webkit-input-placeholder': placeholderHidden,\n '&::-moz-placeholder': placeholderHidden,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholderHidden,\n // IE 11\n '&::-ms-input-placeholder': placeholderHidden,\n // Edge\n '&:focus::-webkit-input-placeholder': placeholderVisible,\n '&:focus::-moz-placeholder': placeholderVisible,\n // Firefox 19+\n '&:focus:-ms-input-placeholder': placeholderVisible,\n // IE 11\n '&:focus::-ms-input-placeholder': placeholderVisible // Edge\n\n },\n '&$disabled': {\n opacity: 1 // Reset iOS opacity\n\n },\n '&:-webkit-autofill': {\n animationDuration: '5000s',\n animationName: 'mui-auto-fill'\n }\n },\n\n /* Styles applied to the `input` element if `margin=\"dense\"`. */\n inputMarginDense: {\n paddingTop: 4 - 1\n },\n\n /* Styles applied to the `input` element if `multiline={true}`. */\n inputMultiline: {\n height: 'auto',\n resize: 'none',\n padding: 0\n },\n\n /* Styles applied to the `input` element if `type=\"search\"`. */\n inputTypeSearch: {\n // Improve type search style.\n '-moz-appearance': 'textfield',\n '-webkit-appearance': 'textfield'\n },\n\n /* Styles applied to the `input` element if `startAdornment` is provided. */\n inputAdornedStart: {},\n\n /* Styles applied to the `input` element if `endAdornment` is provided. */\n inputAdornedEnd: {},\n\n /* Styles applied to the `input` element if `hiddenLabel={true}`. */\n inputHiddenLabel: {}\n };\n};\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * `InputBase` contains as few styles as possible.\n * It aims to be a simple building block for creating an input.\n * It contains a load of style reset and some state logic.\n */\n\nvar InputBase = /*#__PURE__*/React.forwardRef(function InputBase(props, ref) {\n var ariaDescribedby = props['aria-describedby'],\n autoComplete = props.autoComplete,\n autoFocus = props.autoFocus,\n classes = props.classes,\n className = props.className,\n color = props.color,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n endAdornment = props.endAdornment,\n error = props.error,\n _props$fullWidth = props.fullWidth,\n fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,\n id = props.id,\n _props$inputComponent = props.inputComponent,\n inputComponent = _props$inputComponent === void 0 ? 'input' : _props$inputComponent,\n _props$inputProps = props.inputProps,\n inputPropsProp = _props$inputProps === void 0 ? {} : _props$inputProps,\n inputRefProp = props.inputRef,\n margin = props.margin,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n placeholder = props.placeholder,\n readOnly = props.readOnly,\n renderSuffix = props.renderSuffix,\n rows = props.rows,\n rowsMax = props.rowsMax,\n rowsMin = props.rowsMin,\n maxRows = props.maxRows,\n minRows = props.minRows,\n startAdornment = props.startAdornment,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n valueProp = props.value,\n other = _objectWithoutProperties(props, [\"aria-describedby\", \"autoComplete\", \"autoFocus\", \"classes\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"endAdornment\", \"error\", \"fullWidth\", \"id\", \"inputComponent\", \"inputProps\", \"inputRef\", \"margin\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onClick\", \"onFocus\", \"onKeyDown\", \"onKeyUp\", \"placeholder\", \"readOnly\", \"renderSuffix\", \"rows\", \"rowsMax\", \"rowsMin\", \"maxRows\", \"minRows\", \"startAdornment\", \"type\", \"value\"]);\n\n var value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;\n\n var _React$useRef = React.useRef(value != null),\n isControlled = _React$useRef.current;\n\n var inputRef = React.useRef();\n var handleInputRefWarning = React.useCallback(function (instance) {\n if (process.env.NODE_ENV !== 'production') {\n if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {\n console.error(['Material-UI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `inputRef` prop.', 'Make sure the `inputRef` prop is called with a HTMLInputElement.'].join('\\n'));\n }\n }\n }, []);\n var handleInputPropsRefProp = useForkRef(inputPropsProp.ref, handleInputRefWarning);\n var handleInputRefProp = useForkRef(inputRefProp, handleInputPropsRefProp);\n var handleInputRef = useForkRef(inputRef, handleInputRefProp);\n\n var _React$useState = React.useState(false),\n focused = _React$useState[0],\n setFocused = _React$useState[1];\n\n var muiFormControl = useFormControl();\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(function () {\n if (muiFormControl) {\n return muiFormControl.registerEffect();\n }\n\n return undefined;\n }, [muiFormControl]);\n }\n\n var fcs = formControlState({\n props: props,\n muiFormControl: muiFormControl,\n states: ['color', 'disabled', 'error', 'hiddenLabel', 'margin', 'required', 'filled']\n });\n fcs.focused = muiFormControl ? muiFormControl.focused : focused; // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n\n React.useEffect(function () {\n if (!muiFormControl && disabled && focused) {\n setFocused(false);\n\n if (onBlur) {\n onBlur();\n }\n }\n }, [muiFormControl, disabled, focused, onBlur]);\n var onFilled = muiFormControl && muiFormControl.onFilled;\n var onEmpty = muiFormControl && muiFormControl.onEmpty;\n var checkDirty = React.useCallback(function (obj) {\n if (isFilled(obj)) {\n if (onFilled) {\n onFilled();\n }\n } else if (onEmpty) {\n onEmpty();\n }\n }, [onFilled, onEmpty]);\n useEnhancedEffect(function () {\n if (isControlled) {\n checkDirty({\n value: value\n });\n }\n }, [value, checkDirty, isControlled]);\n\n var handleFocus = function handleFocus(event) {\n // Fix a bug with IE 11 where the focus/blur events are triggered\n // while the input is disabled.\n if (fcs.disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onFocus) {\n onFocus(event);\n }\n\n if (inputPropsProp.onFocus) {\n inputPropsProp.onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n } else {\n setFocused(true);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (inputPropsProp.onBlur) {\n inputPropsProp.onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n } else {\n setFocused(false);\n }\n };\n\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n var element = event.target || inputRef.current;\n\n if (element == null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Expected valid input target. Did you use a custom `inputComponent` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info.\" : _formatMuiErrorMessage(1));\n }\n\n checkDirty({\n value: element.value\n });\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (inputPropsProp.onChange) {\n inputPropsProp.onChange.apply(inputPropsProp, [event].concat(args));\n } // Perform in the willUpdate\n\n\n if (onChange) {\n onChange.apply(void 0, [event].concat(args));\n }\n }; // Check the input state on mount, in case it was filled by the user\n // or auto filled by the browser before the hydration (for SSR).\n\n\n React.useEffect(function () {\n checkDirty(inputRef.current);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n var handleClick = function handleClick(event) {\n if (inputRef.current && event.currentTarget === event.target) {\n inputRef.current.focus();\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var InputComponent = inputComponent;\n\n var inputProps = _extends({}, inputPropsProp, {\n ref: handleInputRef\n });\n\n if (typeof InputComponent !== 'string') {\n inputProps = _extends({\n // Rename ref to inputRef as we don't know the\n // provided `inputComponent` structure.\n inputRef: handleInputRef,\n type: type\n }, inputProps, {\n ref: null\n });\n } else if (multiline) {\n if (rows && !maxRows && !minRows && !rowsMax && !rowsMin) {\n InputComponent = 'textarea';\n } else {\n inputProps = _extends({\n minRows: rows || minRows,\n rowsMax: rowsMax,\n maxRows: maxRows\n }, inputProps);\n InputComponent = TextareaAutosize;\n }\n } else {\n inputProps = _extends({\n type: type\n }, inputProps);\n }\n\n var handleAutoFill = function handleAutoFill(event) {\n // Provide a fake value as Chrome might not let you access it for security reasons.\n checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : {\n value: 'x'\n });\n };\n\n React.useEffect(function () {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes[\"color\".concat(capitalize(fcs.color || 'primary'))], className, fcs.disabled && classes.disabled, fcs.error && classes.error, fullWidth && classes.fullWidth, fcs.focused && classes.focused, muiFormControl && classes.formControl, multiline && classes.multiline, startAdornment && classes.adornedStart, endAdornment && classes.adornedEnd, fcs.margin === 'dense' && classes.marginDense),\n onClick: handleClick,\n ref: ref\n }, other), startAdornment, /*#__PURE__*/React.createElement(FormControlContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(InputComponent, _extends({\n \"aria-invalid\": fcs.error,\n \"aria-describedby\": ariaDescribedby,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n disabled: fcs.disabled,\n id: id,\n onAnimationStart: handleAutoFill,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: fcs.required,\n rows: rows,\n value: value,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n }, inputProps, {\n className: clsx(classes.input, inputPropsProp.className, fcs.disabled && classes.disabled, multiline && classes.inputMultiline, fcs.hiddenLabel && classes.inputHiddenLabel, startAdornment && classes.inputAdornedStart, endAdornment && classes.inputAdornedEnd, type === 'search' && classes.inputTypeSearch, fcs.margin === 'dense' && classes.inputMarginDense),\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus\n }))), endAdornment, renderSuffix ? renderSuffix(_extends({}, fcs, {\n startAdornment: startAdornment\n })) : null);\n});\nprocess.env.NODE_ENV !== \"production\" ? InputBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['primary', 'secondary']),\n\n /**\n * The default `input` element value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n\n /**\n * If `true`, the `input` element will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n\n /**\n * If `true`, the input will indicate an error. This is normally obtained via context from\n * FormControl.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the input will take up the full width of its container.\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n */\n inputComponent: PropTypes.elementType,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * If `true`, a textarea element will be rendered.\n */\n multiline: PropTypes.bool,\n\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n\n /**\n * Callback fired when the input is blurred.\n *\n * Notice that the first argument (event) might be undefined.\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n\n /**\n * The short hint displayed in the input before the user enters a value.\n */\n placeholder: PropTypes.string,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * @ignore\n */\n renderSuffix: PropTypes.func,\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: PropTypes.bool,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Maximum number of rows to display.\n * @deprecated Use `maxRows` instead.\n */\n rowsMax: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display.\n * @deprecated Use `minRows` instead.\n */\n rowsMin: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes.string,\n\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiInputBase'\n})(InputBase);","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar ListContext = React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\n\nexport default ListContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nimport isMuiElement from '../utils/isMuiElement';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport * as ReactDOM from 'react-dom';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the (normally root) `component` element. May be wrapped by a `container`. */\n root: {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n width: '100%',\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n '&$focusVisible': {\n backgroundColor: theme.palette.action.selected\n },\n '&$selected, &$selected:hover': {\n backgroundColor: theme.palette.action.selected\n },\n '&$disabled': {\n opacity: 0.5\n }\n },\n\n /* Styles applied to the `container` element if `children` includes `ListItemSecondaryAction`. */\n container: {\n position: 'relative'\n },\n\n /* Pseudo-class applied to the `component`'s `focusVisibleClassName` prop if `button={true}`. */\n focusVisible: {},\n\n /* Styles applied to the `component` element if dense. */\n dense: {\n paddingTop: 4,\n paddingBottom: 4\n },\n\n /* Styles applied to the `component` element if `alignItems=\"flex-start\"`. */\n alignItemsFlexStart: {\n alignItems: 'flex-start'\n },\n\n /* Pseudo-class applied to the inner `component` element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the inner `component` element if `divider={true}`. */\n divider: {\n borderBottom: \"1px solid \".concat(theme.palette.divider),\n backgroundClip: 'padding-box'\n },\n\n /* Styles applied to the inner `component` element if `disableGutters={false}`. */\n gutters: {\n paddingLeft: 16,\n paddingRight: 16\n },\n\n /* Styles applied to the inner `component` element if `button={true}`. */\n button: {\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Styles applied to the `component` element if `children` includes `ListItemSecondaryAction`. */\n secondaryAction: {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n },\n\n /* Pseudo-class applied to the root element if `selected={true}`. */\n selected: {}\n };\n};\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */\n\nvar ListItem = /*#__PURE__*/React.forwardRef(function ListItem(props, ref) {\n var _props$alignItems = props.alignItems,\n alignItems = _props$alignItems === void 0 ? 'center' : _props$alignItems,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,\n _props$button = props.button,\n button = _props$button === void 0 ? false : _props$button,\n childrenProp = props.children,\n classes = props.classes,\n className = props.className,\n componentProp = props.component,\n _props$ContainerCompo = props.ContainerComponent,\n ContainerComponent = _props$ContainerCompo === void 0 ? 'li' : _props$ContainerCompo,\n _props$ContainerProps = props.ContainerProps;\n _props$ContainerProps = _props$ContainerProps === void 0 ? {} : _props$ContainerProps;\n\n var ContainerClassName = _props$ContainerProps.className,\n ContainerProps = _objectWithoutProperties(_props$ContainerProps, [\"className\"]),\n _props$dense = props.dense,\n dense = _props$dense === void 0 ? false : _props$dense,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableGutters = props.disableGutters,\n disableGutters = _props$disableGutters === void 0 ? false : _props$disableGutters,\n _props$divider = props.divider,\n divider = _props$divider === void 0 ? false : _props$divider,\n focusVisibleClassName = props.focusVisibleClassName,\n _props$selected = props.selected,\n selected = _props$selected === void 0 ? false : _props$selected,\n other = _objectWithoutProperties(props, [\"alignItems\", \"autoFocus\", \"button\", \"children\", \"classes\", \"className\", \"component\", \"ContainerComponent\", \"ContainerProps\", \"dense\", \"disabled\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\"]);\n\n var context = React.useContext(ListContext);\n var childContext = {\n dense: dense || context.dense || false,\n alignItems: alignItems\n };\n var listItemRef = React.useRef(null);\n useEnhancedEffect(function () {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Material-UI: Unable to set focus to a ListItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n var children = React.Children.toArray(childrenProp);\n var hasSecondaryAction = children.length && isMuiElement(children[children.length - 1], ['ListItemSecondaryAction']);\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n listItemRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n var handleRef = useForkRef(handleOwnRef, ref);\n\n var componentProps = _extends({\n className: clsx(classes.root, className, childContext.dense && classes.dense, !disableGutters && classes.gutters, divider && classes.divider, disabled && classes.disabled, button && classes.button, alignItems !== \"center\" && classes.alignItemsFlexStart, hasSecondaryAction && classes.secondaryAction, selected && classes.selected),\n disabled: disabled\n }, other);\n\n var Component = componentProp || 'li';\n\n if (button) {\n componentProps.component = componentProp || 'div';\n componentProps.focusVisibleClassName = clsx(classes.focusVisible, focusVisibleClassName);\n Component = ButtonBase;\n }\n\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? 'div' : Component; // Avoid nesting of li > li.\n\n if (ContainerComponent === 'li') {\n if (Component === 'li') {\n Component = 'div';\n } else if (componentProps.component === 'li') {\n componentProps.component = 'div';\n }\n }\n\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: childContext\n }, /*#__PURE__*/React.createElement(ContainerComponent, _extends({\n className: clsx(classes.container, ContainerClassName),\n ref: handleRef\n }, ContainerProps), /*#__PURE__*/React.createElement(Component, componentProps, children), children.pop()));\n }\n\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: childContext\n }, /*#__PURE__*/React.createElement(Component, _extends({\n ref: handleRef\n }, componentProps), children));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItem.propTypes = {\n /**\n * Defines the `align-items` style property.\n */\n alignItems: PropTypes.oneOf(['flex-start', 'center']),\n\n /**\n * If `true`, the list item will be focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the list item will be a button (using `ButtonBase`). Props intended\n * for `ButtonBase` can then be applied to `ListItem`.\n */\n button: PropTypes.bool,\n\n /**\n * The content of the component. If a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: chainPropTypes(PropTypes.node, function (props) {\n var children = React.Children.toArray(props.children); // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n\n var secondaryActionIndex = -1;\n\n for (var i = children.length - 1; i >= 0; i -= 1) {\n var child = children[i];\n\n if (isMuiElement(child, ['ListItemSecondaryAction'])) {\n secondaryActionIndex = i;\n break;\n }\n } // is ListItemSecondaryAction the last child of ListItem\n\n\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) {\n return new Error('Material-UI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.');\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * By default, it's a `li` when `button` is `false` and a `div` when `button` is `true`.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n */\n ContainerComponent: PropTypes.elementType,\n\n /**\n * Props applied to the container component if used.\n */\n ContainerProps: PropTypes.object,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used.\n */\n dense: PropTypes.bool,\n\n /**\n * If `true`, the list item will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n */\n divider: PropTypes.bool,\n\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * Use to apply selected styling.\n */\n selected: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiListItem'\n})(ListItem);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport ListItem from '../ListItem';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.body1, _defineProperty({\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n width: 'auto',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }, theme.breakpoints.up('sm'), {\n minHeight: 'auto'\n })),\n // TODO v5: remove\n\n /* Styles applied to the root element if `disableGutters={false}`. */\n gutters: {},\n\n /* Styles applied to the root element if `selected={true}`. */\n selected: {},\n\n /* Styles applied to the root element if dense. */\n dense: _extends({}, theme.typography.body2, {\n minHeight: 'auto'\n })\n };\n};\nvar MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n component = _props$component === void 0 ? 'li' : _props$component,\n _props$disableGutters = props.disableGutters,\n disableGutters = _props$disableGutters === void 0 ? false : _props$disableGutters,\n ListItemClasses = props.ListItemClasses,\n _props$role = props.role,\n role = _props$role === void 0 ? 'menuitem' : _props$role,\n selected = props.selected,\n tabIndexProp = props.tabIndex,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\", \"disableGutters\", \"ListItemClasses\", \"role\", \"selected\", \"tabIndex\"]);\n\n var tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/React.createElement(ListItem, _extends({\n button: true,\n role: role,\n tabIndex: tabIndex,\n component: component,\n selected: selected,\n disableGutters: disableGutters,\n classes: _extends({\n dense: classes.dense\n }, ListItemClasses),\n className: clsx(classes.root, className, selected && classes.selected, !disableGutters && classes.gutters),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes = {\n /**\n * Menu item contents.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used.\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n */\n disableGutters: PropTypes.bool,\n\n /**\n * `classes` prop applied to the [`ListItem`](/api/list-item/) element.\n */\n ListItemClasses: PropTypes.object,\n\n /**\n * @ignore\n */\n role: PropTypes.string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiMenuItem'\n})(MenuItem);","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/3ffe3a5d82f6f561b82ff78d82b32a7d14aed558/js/src/modal.js#L512-L519\nexport default function getScrollbarSize() {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.width = '99px';\n scrollDiv.style.height = '99px';\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarSize;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow'; // Is a vertical scrollbar displayed?\n\nfunction isOverflowing(container) {\n var doc = ownerDocument(container);\n\n if (doc.body === container) {\n return ownerWindow(doc).innerWidth > doc.documentElement.clientWidth;\n }\n\n return container.scrollHeight > container.clientHeight;\n}\n\nexport function ariaHidden(node, show) {\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction getPaddingRight(node) {\n return parseInt(window.getComputedStyle(node)['padding-right'], 10) || 0;\n}\n\nfunction ariaHiddenSiblings(container, mountNode, currentNode) {\n var nodesToExclude = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var show = arguments.length > 4 ? arguments[4] : undefined;\n var blacklist = [mountNode, currentNode].concat(_toConsumableArray(nodesToExclude));\n var blacklistTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE'];\n [].forEach.call(container.children, function (node) {\n if (node.nodeType === 1 && blacklist.indexOf(node) === -1 && blacklistTagNames.indexOf(node.tagName) === -1) {\n ariaHidden(node, show);\n }\n });\n}\n\nfunction findIndexOf(containerInfo, callback) {\n var idx = -1;\n containerInfo.some(function (item, index) {\n if (callback(item)) {\n idx = index;\n return true;\n }\n\n return false;\n });\n return idx;\n}\n\nfunction handleContainer(containerInfo, props) {\n var restoreStyle = [];\n var restorePaddings = [];\n var container = containerInfo.container;\n var fixedNodes;\n\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n var scrollbarSize = getScrollbarSize();\n restoreStyle.push({\n value: container.style.paddingRight,\n key: 'padding-right',\n el: container\n }); // Use computed style, here to get the real padding to add our scrollbar width.\n\n container.style['padding-right'] = \"\".concat(getPaddingRight(container) + scrollbarSize, \"px\"); // .mui-fixed is a global helper.\n\n fixedNodes = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedNodes, function (node) {\n restorePaddings.push(node.style.paddingRight);\n node.style.paddingRight = \"\".concat(getPaddingRight(node) + scrollbarSize, \"px\");\n });\n } // Improve Gatsby support\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n\n\n var parent = container.parentElement;\n var scrollContainer = parent.nodeName === 'HTML' && window.getComputedStyle(parent)['overflow-y'] === 'scroll' ? parent : container; // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n\n restoreStyle.push({\n value: scrollContainer.style.overflow,\n key: 'overflow',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n\n var restore = function restore() {\n if (fixedNodes) {\n [].forEach.call(fixedNodes, function (node, i) {\n if (restorePaddings[i]) {\n node.style.paddingRight = restorePaddings[i];\n } else {\n node.style.removeProperty('padding-right');\n }\n });\n }\n\n restoreStyle.forEach(function (_ref) {\n var value = _ref.value,\n el = _ref.el,\n key = _ref.key;\n\n if (value) {\n el.style.setProperty(key, value);\n } else {\n el.style.removeProperty(key);\n }\n });\n };\n\n return restore;\n}\n\nfunction getHiddenSiblings(container) {\n var hiddenSiblings = [];\n [].forEach.call(container.children, function (node) {\n if (node.getAttribute && node.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(node);\n }\n });\n return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\n\n\nvar ModalManager = /*#__PURE__*/function () {\n function ModalManager() {\n _classCallCheck(this, ModalManager);\n\n // this.modals[modalIndex] = modal\n this.modals = []; // this.containers[containerIndex] = {\n // modals: [],\n // container,\n // restore: null,\n // }\n\n this.containers = [];\n }\n\n _createClass(ModalManager, [{\n key: \"add\",\n value: function add(modal, container) {\n var modalIndex = this.modals.indexOf(modal);\n\n if (modalIndex !== -1) {\n return modalIndex;\n }\n\n modalIndex = this.modals.length;\n this.modals.push(modal); // If the modal we are adding is already in the DOM.\n\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\n\n var hiddenSiblingNodes = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mountNode, modal.modalRef, hiddenSiblingNodes, true);\n var containerIndex = findIndexOf(this.containers, function (item) {\n return item.container === container;\n });\n\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n\n this.containers.push({\n modals: [modal],\n container: container,\n restore: null,\n hiddenSiblingNodes: hiddenSiblingNodes\n });\n return modalIndex;\n }\n }, {\n key: \"mount\",\n value: function mount(modal, props) {\n var containerIndex = findIndexOf(this.containers, function (item) {\n return item.modals.indexOf(modal) !== -1;\n });\n var containerInfo = this.containers[containerIndex];\n\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n }, {\n key: \"remove\",\n value: function remove(modal) {\n var modalIndex = this.modals.indexOf(modal);\n\n if (modalIndex === -1) {\n return modalIndex;\n }\n\n var containerIndex = findIndexOf(this.containers, function (item) {\n return item.modals.indexOf(modal) !== -1;\n });\n var containerInfo = this.containers[containerIndex];\n containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n this.modals.splice(modalIndex, 1); // If that was the last modal in a container, clean up the container.\n\n if (containerInfo.modals.length === 0) {\n // The modal might be closed before it had the chance to be mounted in the DOM.\n if (containerInfo.restore) {\n containerInfo.restore();\n }\n\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, true);\n }\n\n ariaHiddenSiblings(containerInfo.container, modal.mountNode, modal.modalRef, containerInfo.hiddenSiblingNodes, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n var nextTop = containerInfo.modals[containerInfo.modals.length - 1]; // as soon as a modal is adding its modalRef is undefined. it can't set\n // aria-hidden because the dom element doesn't exist either\n // when modal was unmounted before modalRef gets null\n\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n\n return modalIndex;\n }\n }, {\n key: \"isTopModal\",\n value: function isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n }]);\n\n return ModalManager;\n}();\n\nexport { ModalManager as default };","/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex, camelcase */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport useForkRef from '../utils/useForkRef';\nimport { exactProp } from '@material-ui/utils';\n/**\n * Utility component that locks focus inside the component.\n */\n\nfunction Unstable_TrapFocus(props) {\n var children = props.children,\n _props$disableAutoFoc = props.disableAutoFocus,\n disableAutoFocus = _props$disableAutoFoc === void 0 ? false : _props$disableAutoFoc,\n _props$disableEnforce = props.disableEnforceFocus,\n disableEnforceFocus = _props$disableEnforce === void 0 ? false : _props$disableEnforce,\n _props$disableRestore = props.disableRestoreFocus,\n disableRestoreFocus = _props$disableRestore === void 0 ? false : _props$disableRestore,\n getDoc = props.getDoc,\n isEnabled = props.isEnabled,\n open = props.open;\n var ignoreNextEnforceFocus = React.useRef();\n var sentinelStart = React.useRef(null);\n var sentinelEnd = React.useRef(null);\n var nodeToRestore = React.useRef();\n var rootRef = React.useRef(null); // can be removed once we drop support for non ref forwarding class components\n\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n rootRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n var handleRef = useForkRef(children.ref, handleOwnRef);\n var prevOpenRef = React.useRef();\n React.useEffect(function () {\n prevOpenRef.current = open;\n }, [open]);\n\n if (!prevOpenRef.current && open && typeof window !== 'undefined') {\n // WARNING: Potentially unsafe in concurrent mode.\n // The way the read on `nodeToRestore` is setup could make this actually safe.\n // Say we render `open={false}` -> `open={true}` but never commit.\n // We have now written a state that wasn't committed. But no committed effect\n // will read this wrong value. We only read from `nodeToRestore` in effects\n // that were committed on `open={true}`\n // WARNING: Prevents the instance from being garbage collected. Should only\n // hold a weak ref.\n nodeToRestore.current = getDoc().activeElement;\n }\n\n React.useEffect(function () {\n if (!open) {\n return;\n }\n\n var doc = ownerDocument(rootRef.current); // We might render an empty child.\n\n if (!disableAutoFocus && rootRef.current && !rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['Material-UI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n'));\n }\n\n rootRef.current.setAttribute('tabIndex', -1);\n }\n\n rootRef.current.focus();\n }\n\n var contain = function contain() {\n var rootElement = rootRef.current; // Cleanup functions are executed lazily in React 17.\n // Contain can be called between the component being unmounted and its cleanup function being run.\n\n if (rootElement === null) {\n return;\n }\n\n if (!doc.hasFocus() || disableEnforceFocus || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n\n if (rootRef.current && !rootRef.current.contains(doc.activeElement)) {\n rootRef.current.focus();\n }\n };\n\n var loopFocus = function loopFocus(event) {\n // 9 = Tab\n if (disableEnforceFocus || !isEnabled() || event.keyCode !== 9) {\n return;\n } // Make sure the next tab starts from the right place.\n\n\n if (doc.activeElement === rootRef.current) {\n // We need to ignore the next contain as\n // it will try to move the focus back to the rootRef element.\n ignoreNextEnforceFocus.current = true;\n\n if (event.shiftKey) {\n sentinelEnd.current.focus();\n } else {\n sentinelStart.current.focus();\n }\n }\n };\n\n doc.addEventListener('focus', contain, true);\n doc.addEventListener('keydown', loopFocus, true); // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area\n // e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=559561.\n //\n // The whatwg spec defines how the browser should behave but does not explicitly mention any events:\n // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.\n\n var interval = setInterval(function () {\n contain();\n }, 50);\n return function () {\n clearInterval(interval);\n doc.removeEventListener('focus', contain, true);\n doc.removeEventListener('keydown', loopFocus, true); // restoreLastFocus()\n\n if (!disableRestoreFocus) {\n // In IE 11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE 11 have a focus method.\n // Once IE 11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n nodeToRestore.current.focus();\n }\n\n nodeToRestore.current = null;\n }\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStart,\n \"data-test\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef\n }), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEnd,\n \"data-test\": \"sentinelEnd\"\n }));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Unstable_TrapFocus.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A single child content element.\n */\n children: PropTypes.node,\n\n /**\n * If `true`, the trap focus will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any trap focus children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the trap focus less\n * accessible to assistive technologies, like screen readers.\n */\n disableAutoFocus: PropTypes.bool,\n\n /**\n * If `true`, the trap focus will not prevent focus from leaving the trap focus while open.\n *\n * Generally this should never be set to `true` as it makes the trap focus less\n * accessible to assistive technologies, like screen readers.\n */\n disableEnforceFocus: PropTypes.bool,\n\n /**\n * If `true`, the trap focus will not restore focus to previously focused element once\n * trap focus is hidden.\n */\n disableRestoreFocus: PropTypes.bool,\n\n /**\n * Return the document to consider.\n * We use it to implement the restore focus between different browser documents.\n */\n getDoc: PropTypes.func.isRequired,\n\n /**\n * Do we still want to enforce the focus?\n * This prop helps nesting TrapFocus elements.\n */\n isEnabled: PropTypes.func.isRequired,\n\n /**\n * If `true`, focus will be locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Unstable_TrapFocus['propTypes' + ''] = exactProp(Unstable_TrapFocus.propTypes);\n}\n\nexport default Unstable_TrapFocus;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n zIndex: -1,\n position: 'fixed',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n },\n\n /* Styles applied to the root element if `invisible={true}`. */\n invisible: {\n backgroundColor: 'transparent'\n }\n};\n/**\n * @ignore - internal component.\n */\n\nvar SimpleBackdrop = /*#__PURE__*/React.forwardRef(function SimpleBackdrop(props, ref) {\n var _props$invisible = props.invisible,\n invisible = _props$invisible === void 0 ? false : _props$invisible,\n open = props.open,\n other = _objectWithoutProperties(props, [\"invisible\", \"open\"]);\n\n return open ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-hidden\": true,\n ref: ref\n }, other, {\n style: _extends({}, styles.root, invisible ? styles.invisible : {}, other.style)\n })) : null;\n});\nprocess.env.NODE_ENV !== \"production\" ? SimpleBackdrop.propTypes = {\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n */\n invisible: PropTypes.bool,\n\n /**\n * If `true`, the backdrop is open.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nexport default SimpleBackdrop;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { getThemeProps, useTheme } from '@material-ui/styles';\nimport { elementAcceptingRef, HTMLElementType } from '@material-ui/utils';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport ownerDocument from '../utils/ownerDocument';\nimport Portal from '../Portal';\nimport createChainedFunction from '../utils/createChainedFunction';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport zIndex from '../styles/zIndex';\nimport ModalManager, { ariaHidden } from './ModalManager';\nimport TrapFocus from '../Unstable_TrapFocus';\nimport SimpleBackdrop from './SimpleBackdrop';\n\nfunction getContainer(container) {\n container = typeof container === 'function' ? container() : container;\n return ReactDOM.findDOMNode(container);\n}\n\nfunction getHasTransition(props) {\n return props.children ? props.children.props.hasOwnProperty('in') : false;\n} // A modal manager used to track and manage the state of open Modals.\n// Modals don't open on the server so this won't conflict with concurrent requests.\n\n\nvar defaultManager = new ModalManager();\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'fixed',\n zIndex: theme.zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n },\n\n /* Styles applied to the root element if the `Modal` has exited. */\n hidden: {\n visibility: 'hidden'\n }\n };\n};\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/api/dialog/)\n * - [Drawer](/api/drawer/)\n * - [Menu](/api/menu/)\n * - [Popover](/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n */\n\nvar Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var theme = useTheme();\n var props = getThemeProps({\n name: 'MuiModal',\n props: _extends({}, inProps),\n theme: theme\n });\n\n var _props$BackdropCompon = props.BackdropComponent,\n BackdropComponent = _props$BackdropCompon === void 0 ? SimpleBackdrop : _props$BackdropCompon,\n BackdropProps = props.BackdropProps,\n children = props.children,\n _props$closeAfterTran = props.closeAfterTransition,\n closeAfterTransition = _props$closeAfterTran === void 0 ? false : _props$closeAfterTran,\n container = props.container,\n _props$disableAutoFoc = props.disableAutoFocus,\n disableAutoFocus = _props$disableAutoFoc === void 0 ? false : _props$disableAutoFoc,\n _props$disableBackdro = props.disableBackdropClick,\n disableBackdropClick = _props$disableBackdro === void 0 ? false : _props$disableBackdro,\n _props$disableEnforce = props.disableEnforceFocus,\n disableEnforceFocus = _props$disableEnforce === void 0 ? false : _props$disableEnforce,\n _props$disableEscapeK = props.disableEscapeKeyDown,\n disableEscapeKeyDown = _props$disableEscapeK === void 0 ? false : _props$disableEscapeK,\n _props$disablePortal = props.disablePortal,\n disablePortal = _props$disablePortal === void 0 ? false : _props$disablePortal,\n _props$disableRestore = props.disableRestoreFocus,\n disableRestoreFocus = _props$disableRestore === void 0 ? false : _props$disableRestore,\n _props$disableScrollL = props.disableScrollLock,\n disableScrollLock = _props$disableScrollL === void 0 ? false : _props$disableScrollL,\n _props$hideBackdrop = props.hideBackdrop,\n hideBackdrop = _props$hideBackdrop === void 0 ? false : _props$hideBackdrop,\n _props$keepMounted = props.keepMounted,\n keepMounted = _props$keepMounted === void 0 ? false : _props$keepMounted,\n _props$manager = props.manager,\n manager = _props$manager === void 0 ? defaultManager : _props$manager,\n onBackdropClick = props.onBackdropClick,\n onClose = props.onClose,\n onEscapeKeyDown = props.onEscapeKeyDown,\n onRendered = props.onRendered,\n open = props.open,\n other = _objectWithoutProperties(props, [\"BackdropComponent\", \"BackdropProps\", \"children\", \"closeAfterTransition\", \"container\", \"disableAutoFocus\", \"disableBackdropClick\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"manager\", \"onBackdropClick\", \"onClose\", \"onEscapeKeyDown\", \"onRendered\", \"open\"]);\n\n var _React$useState = React.useState(true),\n exited = _React$useState[0],\n setExited = _React$useState[1];\n\n var modal = React.useRef({});\n var mountNodeRef = React.useRef(null);\n var modalRef = React.useRef(null);\n var handleRef = useForkRef(modalRef, ref);\n var hasTransition = getHasTransition(props);\n\n var getDoc = function getDoc() {\n return ownerDocument(mountNodeRef.current);\n };\n\n var getModal = function getModal() {\n modal.current.modalRef = modalRef.current;\n modal.current.mountNode = mountNodeRef.current;\n return modal.current;\n };\n\n var handleMounted = function handleMounted() {\n manager.mount(getModal(), {\n disableScrollLock: disableScrollLock\n }); // Fix a bug on Chrome where the scroll isn't initially 0.\n\n modalRef.current.scrollTop = 0;\n };\n\n var handleOpen = useEventCallback(function () {\n var resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer); // The element was already mounted.\n\n if (modalRef.current) {\n handleMounted();\n }\n });\n var isTopModal = React.useCallback(function () {\n return manager.isTopModal(getModal());\n }, [manager]);\n var handlePortalRef = useEventCallback(function (node) {\n mountNodeRef.current = node;\n\n if (!node) {\n return;\n }\n\n if (onRendered) {\n onRendered();\n }\n\n if (open && isTopModal()) {\n handleMounted();\n } else {\n ariaHidden(modalRef.current, true);\n }\n });\n var handleClose = React.useCallback(function () {\n manager.remove(getModal());\n }, [manager]);\n React.useEffect(function () {\n return function () {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(function () {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n\n var handleEnter = function handleEnter() {\n setExited(false);\n };\n\n var handleExited = function handleExited() {\n setExited(true);\n\n if (closeAfterTransition) {\n handleClose();\n }\n };\n\n var handleBackdropClick = function handleBackdropClick(event) {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n\n if (!disableBackdropClick && onClose) {\n onClose(event, 'backdropClick');\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviours like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n if (event.key !== 'Escape' || !isTopModal()) {\n return;\n }\n\n if (onEscapeKeyDown) {\n onEscapeKeyDown(event);\n }\n\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n\n var inlineStyle = styles(theme || {\n zIndex: zIndex\n });\n var childProps = {};\n\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = children.props.tabIndex || '-1';\n } // It's a Transition like component\n\n\n if (hasTransition) {\n childProps.onEnter = createChainedFunction(handleEnter, children.props.onEnter);\n childProps.onExited = createChainedFunction(handleExited, children.props.onExited);\n }\n\n return /*#__PURE__*/React.createElement(Portal, {\n ref: handlePortalRef,\n container: container,\n disablePortal: disablePortal\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: handleRef,\n onKeyDown: handleKeyDown,\n role: \"presentation\"\n }, other, {\n style: _extends({}, inlineStyle.root, !open && exited ? inlineStyle.hidden : {}, other.style)\n }), hideBackdrop ? null : /*#__PURE__*/React.createElement(BackdropComponent, _extends({\n open: open,\n onClick: handleBackdropClick\n }, BackdropProps)), /*#__PURE__*/React.createElement(TrapFocus, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n getDoc: getDoc,\n isEnabled: isTopModal,\n open: open\n }, /*#__PURE__*/React.cloneElement(children, childProps))));\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes = {\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n */\n BackdropComponent: PropTypes.elementType,\n\n /**\n * Props applied to the [`Backdrop`](/api/backdrop/) element.\n */\n BackdropProps: PropTypes.object,\n\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n */\n closeAfterTransition: PropTypes.bool,\n\n /**\n * A HTML element, component instance, or function that returns either.\n * The `container` will have the portal children appended to it.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.instanceOf(React.Component), PropTypes.func]),\n\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n */\n disableAutoFocus: PropTypes.bool,\n\n /**\n * If `true`, clicking the backdrop will not fire `onClose`.\n */\n disableBackdropClick: deprecatedPropType(PropTypes.bool, 'Use the onClose prop with the `reason` argument to filter the `backdropClick` events.'),\n\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n */\n disableEnforceFocus: PropTypes.bool,\n\n /**\n * If `true`, hitting escape will not fire `onClose`.\n */\n disableEscapeKeyDown: PropTypes.bool,\n\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden.\n */\n disableRestoreFocus: PropTypes.bool,\n\n /**\n * Disable the scroll lock behavior.\n */\n disableScrollLock: PropTypes.bool,\n\n /**\n * If `true`, the backdrop is not rendered.\n */\n hideBackdrop: PropTypes.bool,\n\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n */\n keepMounted: PropTypes.bool,\n\n /**\n * @ignore\n */\n manager: PropTypes.object,\n\n /**\n * Callback fired when the backdrop is clicked.\n */\n onBackdropClick: deprecatedPropType(PropTypes.func, 'Use the onClose prop with the `reason` argument to handle the `backdropClick` events.'),\n\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired when the escape key is pressed,\n * `disableEscapeKeyDown` is false and the modal is in focus.\n */\n onEscapeKeyDown: deprecatedPropType(PropTypes.func, 'Use the onClose prop with the `reason` argument to handle the `escapeKeyDown` events.'),\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n * It signals that the `open={true}` prop took effect.\n *\n * This prop will be removed in v5, the ref can be used instead.\n */\n onRendered: deprecatedPropType(PropTypes.func, 'Use the ref instead.'),\n\n /**\n * If `true`, the modal is open.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nexport default Modal;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nexport var styles = function styles(theme) {\n var elevations = {};\n theme.shadows.forEach(function (shadow, index) {\n elevations[\"elevation\".concat(index)] = {\n boxShadow: shadow\n };\n });\n return _extends({\n /* Styles applied to the root element. */\n root: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n },\n\n /* Styles applied to the root element if `square={false}`. */\n rounded: {\n borderRadius: theme.shape.borderRadius\n },\n\n /* Styles applied to the root element if `variant=\"outlined\"`. */\n outlined: {\n border: \"1px solid \".concat(theme.palette.divider)\n }\n }, elevations);\n};\nvar Paper = /*#__PURE__*/React.forwardRef(function Paper(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$square = props.square,\n square = _props$square === void 0 ? false : _props$square,\n _props$elevation = props.elevation,\n elevation = _props$elevation === void 0 ? 1 : _props$elevation,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'elevation' : _props$variant,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\", \"square\", \"elevation\", \"variant\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, variant === 'outlined' ? classes.outlined : classes[\"elevation\".concat(elevation)], !square && classes.rounded),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n */\n elevation: chainPropTypes(PropTypes.number, function (props) {\n var classes = props.classes,\n elevation = props.elevation; // in case `withStyles` fails to inject we don't need this warning\n\n if (classes === undefined) {\n return null;\n }\n\n if (elevation != null && classes[\"elevation\".concat(elevation)] === undefined) {\n return new Error(\"Material-UI: This elevation `\".concat(elevation, \"` is not implemented.\"));\n }\n\n return null;\n }),\n\n /**\n * If `true`, rounded corners are disabled.\n */\n square: PropTypes.bool,\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['elevation', 'outlined'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiPaper'\n})(Paper);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport { chainPropTypes, elementTypeAcceptingRef, refType, HTMLElementType } from '@material-ui/utils';\nimport debounce from '../utils/debounce';\nimport clsx from 'clsx';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport createChainedFunction from '../utils/createChainedFunction';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport withStyles from '../styles/withStyles';\nimport Modal from '../Modal';\nimport Grow from '../Grow';\nimport Paper from '../Paper';\nexport function getOffsetTop(rect, vertical) {\n var offset = 0;\n\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n var offset = 0;\n\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n\n return offset;\n}\n\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(function (n) {\n return typeof n === 'number' ? \"\".concat(n, \"px\") : n;\n }).join(' ');\n} // Sum the scrollTop between two elements.\n\n\nfunction getScrollParent(parent, child) {\n var element = child;\n var scrollTop = 0;\n\n while (element && element !== parent) {\n element = element.parentElement;\n scrollTop += element.scrollTop;\n }\n\n return scrollTop;\n}\n\nfunction getAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nexport var styles = {\n /* Styles applied to the root element. */\n root: {},\n\n /* Styles applied to the `Paper` component. */\n paper: {\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n }\n};\nvar Popover = /*#__PURE__*/React.forwardRef(function Popover(props, ref) {\n var action = props.action,\n anchorEl = props.anchorEl,\n _props$anchorOrigin = props.anchorOrigin,\n anchorOrigin = _props$anchorOrigin === void 0 ? {\n vertical: 'top',\n horizontal: 'left'\n } : _props$anchorOrigin,\n anchorPosition = props.anchorPosition,\n _props$anchorReferenc = props.anchorReference,\n anchorReference = _props$anchorReferenc === void 0 ? 'anchorEl' : _props$anchorReferenc,\n children = props.children,\n classes = props.classes,\n className = props.className,\n containerProp = props.container,\n _props$elevation = props.elevation,\n elevation = _props$elevation === void 0 ? 8 : _props$elevation,\n getContentAnchorEl = props.getContentAnchorEl,\n _props$marginThreshol = props.marginThreshold,\n marginThreshold = _props$marginThreshol === void 0 ? 16 : _props$marginThreshol,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n open = props.open,\n _props$PaperProps = props.PaperProps,\n PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,\n _props$transformOrigi = props.transformOrigin,\n transformOrigin = _props$transformOrigi === void 0 ? {\n vertical: 'top',\n horizontal: 'left'\n } : _props$transformOrigi,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Grow : _props$TransitionComp,\n _props$transitionDura = props.transitionDuration,\n transitionDurationProp = _props$transitionDura === void 0 ? 'auto' : _props$transitionDura,\n _props$TransitionProp = props.TransitionProps,\n TransitionProps = _props$TransitionProp === void 0 ? {} : _props$TransitionProp,\n other = _objectWithoutProperties(props, [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"classes\", \"className\", \"container\", \"elevation\", \"getContentAnchorEl\", \"marginThreshold\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"open\", \"PaperProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]);\n\n var paperRef = React.useRef(); // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n\n var getAnchorOffset = React.useCallback(function (contentAnchorOffset) {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('Material-UI: You need to provide a `anchorPosition` prop when using ' + '.');\n }\n }\n\n return anchorPosition;\n }\n\n var resolvedAnchorEl = getAnchorEl(anchorEl); // If an anchor element wasn't provided, just use the parent body element of this Popover\n\n var anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n var anchorRect = anchorElement.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'production') {\n var box = anchorElement.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['Material-UI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n\n var anchorVertical = contentAnchorOffset === 0 ? anchorOrigin.vertical : 'center';\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorVertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]); // Returns the vertical offset of inner content to anchor the transform on if provided\n\n var getContentAnchorOffset = React.useCallback(function (element) {\n var contentAnchorOffset = 0;\n\n if (getContentAnchorEl && anchorReference === 'anchorEl') {\n var contentAnchorEl = getContentAnchorEl(element);\n\n if (contentAnchorEl && element.contains(contentAnchorEl)) {\n var scrollTop = getScrollParent(element, contentAnchorEl);\n contentAnchorOffset = contentAnchorEl.offsetTop + contentAnchorEl.clientHeight / 2 - scrollTop || 0;\n } // != the default value\n\n\n if (process.env.NODE_ENV !== 'production') {\n if (anchorOrigin.vertical !== 'top') {\n console.error(['Material-UI: You can not change the default `anchorOrigin.vertical` value ', 'when also providing the `getContentAnchorEl` prop to the popover component.', 'Only use one of the two props.', 'Set `getContentAnchorEl` to `null | undefined`' + ' or leave `anchorOrigin.vertical` unchanged.'].join('\\n'));\n }\n }\n }\n\n return contentAnchorOffset;\n }, [anchorOrigin.vertical, anchorReference, getContentAnchorEl]); // Return the base transform origin using the element\n // and taking the content anchor offset into account if in use\n\n var getTransformOrigin = React.useCallback(function (elemRect) {\n var contentAnchorOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical) + contentAnchorOffset,\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n var getPositioningStyle = React.useCallback(function (element) {\n // Check if the parent has requested anchoring on an inner content node\n var contentAnchorOffset = getContentAnchorOffset(element);\n var elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n }; // Get the transform origin point on the element itself\n\n var elemTransformOrigin = getTransformOrigin(elemRect, contentAnchorOffset);\n\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n } // Get the offset of of the anchoring element\n\n\n var anchorOffset = getAnchorOffset(contentAnchorOffset); // Calculate element positioning\n\n var top = anchorOffset.top - elemTransformOrigin.vertical;\n var left = anchorOffset.left - elemTransformOrigin.horizontal;\n var bottom = top + elemRect.height;\n var right = left + elemRect.width; // Use the parent window of the anchorEl if provided\n\n var containerWindow = ownerWindow(getAnchorEl(anchorEl)); // Window thresholds taking required margin into account\n\n var heightThreshold = containerWindow.innerHeight - marginThreshold;\n var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting\n\n if (top < marginThreshold) {\n var diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n var _diff = bottom - heightThreshold;\n\n top -= _diff;\n elemTransformOrigin.vertical += _diff;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['Material-UI: The popover component is too tall.', \"Some part of it can not be seen on the screen (\".concat(elemRect.height - heightThreshold, \"px).\"), 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n } // Check if the horizontal axis needs shifting\n\n\n if (left < marginThreshold) {\n var _diff2 = left - marginThreshold;\n\n left -= _diff2;\n elemTransformOrigin.horizontal += _diff2;\n } else if (right > widthThreshold) {\n var _diff3 = right - widthThreshold;\n\n left -= _diff3;\n elemTransformOrigin.horizontal += _diff3;\n }\n\n return {\n top: \"\".concat(Math.round(top), \"px\"),\n left: \"\".concat(Math.round(left), \"px\"),\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getContentAnchorOffset, getTransformOrigin, marginThreshold]);\n var setPositioningStyles = React.useCallback(function () {\n var element = paperRef.current;\n\n if (!element) {\n return;\n }\n\n var positioning = getPositioningStyle(element);\n\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n\n element.style.transformOrigin = positioning.transformOrigin;\n }, [getPositioningStyle]);\n\n var handleEntering = function handleEntering(element, isAppearing) {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n\n setPositioningStyles();\n };\n\n var handlePaperRef = React.useCallback(function (instance) {\n // #StrictMode ready\n paperRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n React.useEffect(function () {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, function () {\n return open ? {\n updatePosition: function updatePosition() {\n setPositioningStyles();\n }\n } : null;\n }, [open, setPositioningStyles]);\n React.useEffect(function () {\n if (!open) {\n return undefined;\n }\n\n var handleResize = debounce(function () {\n setPositioningStyles();\n });\n window.addEventListener('resize', handleResize);\n return function () {\n handleResize.clear();\n window.removeEventListener('resize', handleResize);\n };\n }, [open, setPositioningStyles]);\n var transitionDuration = transitionDurationProp;\n\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n } // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n\n\n var container = containerProp || (anchorEl ? ownerDocument(getAnchorEl(anchorEl)).body : undefined);\n return /*#__PURE__*/React.createElement(Modal, _extends({\n container: container,\n open: open,\n ref: ref,\n BackdropProps: {\n invisible: true\n },\n className: clsx(classes.root, className)\n }, other), /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEnter: onEnter,\n onEntered: onEntered,\n onExit: onExit,\n onExited: onExited,\n onExiting: onExiting,\n timeout: transitionDuration\n }, TransitionProps, {\n onEntering: createChainedFunction(handleEntering, TransitionProps.onEntering)\n }), /*#__PURE__*/React.createElement(Paper, _extends({\n elevation: elevation,\n ref: handlePaperRef\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className)\n }), children)));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n\n /**\n * A HTML element, or a function that returns it.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), function (props) {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n var resolvedAnchorEl = getAnchorEl(props.anchorEl);\n\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n var box = resolvedAnchorEl.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['Material-UI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['Material-UI: The `anchorEl` prop provided to the component is invalid.', \"It should be an Element instance but it's `\".concat(resolvedAnchorEl, \"` instead.\")].join('\\n'));\n }\n }\n\n return null;\n }),\n\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n\n /**\n * This is the position that may be used\n * to set the position of the popover.\n * The coordinates are relative to\n * the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n\n /**\n * This determines which anchor prop to refer to to set\n * the position of the popover.\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * A HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.instanceOf(React.Component), PropTypes.func]),\n\n /**\n * The elevation of the popover.\n */\n elevation: PropTypes.number,\n\n /**\n * This function is called in order to retrieve the content anchor element.\n * It's the opposite of the `anchorEl` prop.\n * The content anchor element should be an element inside the popover.\n * It's used to correctly scroll and set the position of the popover.\n * The positioning strategy tries to make the content anchor element just above the\n * anchor element.\n */\n getContentAnchorEl: PropTypes.func,\n\n /**\n * Specifies how close to the edge of the window the popover can appear.\n */\n marginThreshold: PropTypes.number,\n\n /**\n * Callback fired when the component requests to be closed.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired before the component is entering.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEnter: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the component has entered.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEntered: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the component is entering.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEntering: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired before the component is exiting.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExit: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the component has exited.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExited: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the component is exiting.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExiting: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * If `true`, the popover is visible.\n */\n open: PropTypes.bool.isRequired,\n\n /**\n * Props applied to the [`Paper`](/api/paper/) element.\n */\n PaperProps: PropTypes\n /* @typescript-to-proptypes-ignore */\n .shape({\n component: elementTypeAcceptingRef\n }),\n\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n\n /**\n * The component used for the transition.\n * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n */\n TransitionComponent: PropTypes.elementType,\n\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * Props applied to the [`Transition`](http://reactcommunity.org/react-transition-group/transition#Transition-props) element.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiPopover'\n})(Popover);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport ListContext from './ListContext';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n },\n\n /* Styles applied to the root element if `disablePadding={false}`. */\n padding: {\n paddingTop: 8,\n paddingBottom: 8\n },\n\n /* Styles applied to the root element if dense. */\n dense: {},\n\n /* Styles applied to the root element if a `subheader` is provided. */\n subheader: {\n paddingTop: 0\n }\n};\nvar List = /*#__PURE__*/React.forwardRef(function List(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'ul' : _props$component,\n _props$dense = props.dense,\n dense = _props$dense === void 0 ? false : _props$dense,\n _props$disablePadding = props.disablePadding,\n disablePadding = _props$disablePadding === void 0 ? false : _props$disablePadding,\n subheader = props.subheader,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"]);\n\n var context = React.useMemo(function () {\n return {\n dense: dense\n };\n }, [dense]);\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, dense && classes.dense, !disablePadding && classes.padding, subheader && classes.subheader),\n ref: ref\n }, other), subheader, children));\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n */\n dense: PropTypes.bool,\n\n /**\n * If `true`, vertical padding will be removed from the list.\n */\n disablePadding: PropTypes.bool,\n\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiList'\n})(List);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\n\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n\n return disableListWrap ? null : list.firstChild;\n}\n\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n\n return disableListWrap ? null : list.lastChild;\n}\n\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n\n var text = nextFocus.innerText;\n\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n\n text = text.trim().toLowerCase();\n\n if (text.length === 0) {\n return false;\n }\n\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\n\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n var wrappedOnce = false;\n var nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n\n wrappedOnce = true;\n } // Same logic as useAutocomplete.js\n\n\n var nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return;\n }\n }\n}\n\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * A permanently displayed menu following https://www.w3.org/TR/wai-aria-practices/#menubutton.\n * It's exposed to help customization of the [`Menu`](/api/menu/) component. If you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\n\nvar MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n var actions = props.actions,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,\n _props$autoFocusItem = props.autoFocusItem,\n autoFocusItem = _props$autoFocusItem === void 0 ? false : _props$autoFocusItem,\n children = props.children,\n className = props.className,\n _props$disabledItemsF = props.disabledItemsFocusable,\n disabledItemsFocusable = _props$disabledItemsF === void 0 ? false : _props$disabledItemsF,\n _props$disableListWra = props.disableListWrap,\n disableListWrap = _props$disableListWra === void 0 ? false : _props$disableListWra,\n onKeyDown = props.onKeyDown,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'selectedMenu' : _props$variant,\n other = _objectWithoutProperties(props, [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"]);\n\n var listRef = React.useRef(null);\n var textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(function () {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, function () {\n return {\n adjustStyleForScrollbar: function adjustStyleForScrollbar(containerElement, theme) {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n var noExplicitWidth = !listRef.current.style.width;\n\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n var scrollbarSize = \"\".concat(getScrollbarSize(true), \"px\");\n listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = \"calc(100% + \".concat(scrollbarSize, \")\");\n }\n\n return listRef.current;\n }\n };\n }, []);\n\n var handleKeyDown = function handleKeyDown(event) {\n var list = listRef.current;\n var key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n\n var currentFocus = ownerDocument(list).activeElement;\n\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n var criteria = textCriteriaRef.current;\n var lowerKey = key.toLowerCase();\n var currTime = performance.now();\n\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n var keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n listRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n var handleRef = useForkRef(handleOwnRef, ref);\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n\n var activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n\n React.Children.forEach(children, function (child, index) {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"Material-UI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n var items = React.Children.map(children, function (child, index) {\n if (index === activeItemIndex) {\n var newChildProps = {};\n\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n\n return child;\n });\n return /*#__PURE__*/React.createElement(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other), items);\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n */\n autoFocusItem: PropTypes.bool,\n\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, will allow focus on disabled items.\n */\n disabledItemsFocusable: PropTypes.bool,\n\n /**\n * If `true`, the menu items will not wrap focus.\n */\n disableListWrap: PropTypes.bool,\n\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { HTMLElementType } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport Popover from '../Popover';\nimport MenuList from '../MenuList';\nimport * as ReactDOM from 'react-dom';\nimport setRef from '../utils/setRef';\nimport useTheme from '../styles/useTheme';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nvar RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nvar LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nexport var styles = {\n /* Styles applied to the `Paper` component. */\n paper: {\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tapable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling.\n WebkitOverflowScrolling: 'touch'\n },\n\n /* Styles applied to the `List` component via `MenuList`. */\n list: {\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n }\n};\nvar Menu = /*#__PURE__*/React.forwardRef(function Menu(props, ref) {\n var _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n children = props.children,\n classes = props.classes,\n _props$disableAutoFoc = props.disableAutoFocusItem,\n disableAutoFocusItem = _props$disableAutoFoc === void 0 ? false : _props$disableAutoFoc,\n _props$MenuListProps = props.MenuListProps,\n MenuListProps = _props$MenuListProps === void 0 ? {} : _props$MenuListProps,\n onClose = props.onClose,\n onEnteringProp = props.onEntering,\n open = props.open,\n _props$PaperProps = props.PaperProps,\n PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,\n PopoverClasses = props.PopoverClasses,\n _props$transitionDura = props.transitionDuration,\n transitionDuration = _props$transitionDura === void 0 ? 'auto' : _props$transitionDura,\n _props$TransitionProp = props.TransitionProps;\n _props$TransitionProp = _props$TransitionProp === void 0 ? {} : _props$TransitionProp;\n\n var onEntering = _props$TransitionProp.onEntering,\n TransitionProps = _objectWithoutProperties(_props$TransitionProp, [\"onEntering\"]),\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'selectedMenu' : _props$variant,\n other = _objectWithoutProperties(props, [\"autoFocus\", \"children\", \"classes\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"onEntering\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\"]);\n\n var theme = useTheme();\n var autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n var menuListActionsRef = React.useRef(null);\n var contentAnchorRef = React.useRef(null);\n\n var getContentAnchorEl = function getContentAnchorEl() {\n return contentAnchorRef.current;\n };\n\n var handleEntering = function handleEntering(element, isAppearing) {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, theme);\n }\n\n if (onEnteringProp) {\n onEnteringProp(element, isAppearing);\n }\n\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n\n var handleListKeyDown = function handleListKeyDown(event) {\n if (event.key === 'Tab') {\n event.preventDefault();\n\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n\n\n var activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n\n React.Children.map(children, function (child, index) {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"Material-UI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n\n if (!child.props.disabled) {\n if (variant !== \"menu\" && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n var items = React.Children.map(children, function (child, index) {\n if (index === activeItemIndex) {\n return /*#__PURE__*/React.cloneElement(child, {\n ref: function ref(instance) {\n // #StrictMode ready\n contentAnchorRef.current = ReactDOM.findDOMNode(instance);\n setRef(child.ref, instance);\n }\n });\n }\n\n return child;\n });\n return /*#__PURE__*/React.createElement(Popover, _extends({\n getContentAnchorEl: getContentAnchorEl,\n classes: PopoverClasses,\n onClose: onClose,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n anchorOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN,\n transformOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN,\n PaperProps: _extends({}, PaperProps, {\n classes: _extends({}, PaperProps.classes, {\n root: classes.paper\n })\n }),\n open: open,\n ref: ref,\n transitionDuration: transitionDuration\n }, other), /*#__PURE__*/React.createElement(MenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className)\n }), items));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A HTML element, or a function that returns it.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.func]),\n\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n */\n disableAutoFocusItem: PropTypes.bool,\n\n /**\n * Props applied to the [`MenuList`](/api/menu-list/) element.\n */\n MenuListProps: PropTypes.object,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired before the Menu enters.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEnter: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu has entered.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEntered: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu is entering.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEntering: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired before the Menu exits.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExit: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu has exited.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExited: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu is exiting.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExiting: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * If `true`, the menu is visible.\n */\n open: PropTypes.bool.isRequired,\n\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n\n /**\n * `classes` prop applied to the [`Popover`](/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\n\n /**\n * The length of the transition in `ms`, or 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition) component.\n */\n TransitionProps: PropTypes.object,\n\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiMenu'\n})(Menu);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport ownerDocument from '../utils/ownerDocument';\nimport capitalize from '../utils/capitalize';\nimport { refType } from '@material-ui/utils';\nimport Menu from '../Menu/Menu';\nimport { isFilled } from '../InputBase/utils';\nimport useForkRef from '../utils/useForkRef';\nimport useControlled from '../utils/useControlled';\n\nfunction areEqualValues(a, b) {\n if (_typeof(b) === 'object' && b !== null) {\n return a === b;\n }\n\n return String(a) === String(b);\n}\n\nfunction isEmpty(display) {\n return display == null || typeof display === 'string' && !display.trim();\n}\n/**\n * @ignore - internal component.\n */\n\n\nvar SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref) {\n var ariaLabel = props['aria-label'],\n autoFocus = props.autoFocus,\n autoWidth = props.autoWidth,\n children = props.children,\n classes = props.classes,\n className = props.className,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n displayEmpty = props.displayEmpty,\n IconComponent = props.IconComponent,\n inputRefProp = props.inputRef,\n labelId = props.labelId,\n _props$MenuProps = props.MenuProps,\n MenuProps = _props$MenuProps === void 0 ? {} : _props$MenuProps,\n multiple = props.multiple,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onClose = props.onClose,\n onFocus = props.onFocus,\n onOpen = props.onOpen,\n openProp = props.open,\n readOnly = props.readOnly,\n renderValue = props.renderValue,\n _props$SelectDisplayP = props.SelectDisplayProps,\n SelectDisplayProps = _props$SelectDisplayP === void 0 ? {} : _props$SelectDisplayP,\n tabIndexProp = props.tabIndex,\n type = props.type,\n valueProp = props.value,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'standard' : _props$variant,\n other = _objectWithoutProperties(props, [\"aria-label\", \"autoFocus\", \"autoWidth\", \"children\", \"classes\", \"className\", \"defaultValue\", \"disabled\", \"displayEmpty\", \"IconComponent\", \"inputRef\", \"labelId\", \"MenuProps\", \"multiple\", \"name\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\", \"variant\"]);\n\n var _useControlled = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'Select'\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n value = _useControlled2[0],\n setValue = _useControlled2[1];\n\n var inputRef = React.useRef(null);\n\n var _React$useState = React.useState(null),\n displayNode = _React$useState[0],\n setDisplayNode = _React$useState[1];\n\n var _React$useRef = React.useRef(openProp != null),\n isOpenControlled = _React$useRef.current;\n\n var _React$useState2 = React.useState(),\n menuMinWidthState = _React$useState2[0],\n setMenuMinWidthState = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n openState = _React$useState3[0],\n setOpenState = _React$useState3[1];\n\n var handleRef = useForkRef(ref, inputRefProp);\n React.useImperativeHandle(handleRef, function () {\n return {\n focus: function focus() {\n displayNode.focus();\n },\n node: inputRef.current,\n value: value\n };\n }, [displayNode, value]);\n React.useEffect(function () {\n if (autoFocus && displayNode) {\n displayNode.focus();\n }\n }, [autoFocus, displayNode]);\n React.useEffect(function () {\n if (displayNode) {\n var label = ownerDocument(displayNode).getElementById(labelId);\n\n if (label) {\n var handler = function handler() {\n if (getSelection().isCollapsed) {\n displayNode.focus();\n }\n };\n\n label.addEventListener('click', handler);\n return function () {\n label.removeEventListener('click', handler);\n };\n }\n }\n\n return undefined;\n }, [labelId, displayNode]);\n\n var update = function update(open, event) {\n if (open) {\n if (onOpen) {\n onOpen(event);\n }\n } else if (onClose) {\n onClose(event);\n }\n\n if (!isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : displayNode.clientWidth);\n setOpenState(open);\n }\n };\n\n var handleMouseDown = function handleMouseDown(event) {\n // Ignore everything but left-click\n if (event.button !== 0) {\n return;\n } // Hijack the default focus behavior.\n\n\n event.preventDefault();\n displayNode.focus();\n update(true, event);\n };\n\n var handleClose = function handleClose(event) {\n update(false, event);\n };\n\n var childrenArray = React.Children.toArray(children); // Support autofill.\n\n var handleChange = function handleChange(event) {\n var index = childrenArray.map(function (child) {\n return child.props.value;\n }).indexOf(event.target.value);\n\n if (index === -1) {\n return;\n }\n\n var child = childrenArray[index];\n setValue(child.props.value);\n\n if (onChange) {\n onChange(event, child);\n }\n };\n\n var handleItemClick = function handleItemClick(child) {\n return function (event) {\n if (!multiple) {\n update(false, event);\n }\n\n var newValue;\n\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n var itemIndex = value.indexOf(child.props.value);\n\n if (itemIndex === -1) {\n newValue.push(child.props.value);\n } else {\n newValue.splice(itemIndex, 1);\n }\n } else {\n newValue = child.props.value;\n }\n\n if (child.props.onClick) {\n child.props.onClick(event);\n }\n\n if (value === newValue) {\n return;\n }\n\n setValue(newValue);\n\n if (onChange) {\n event.persist(); // Preact support, target is read only property on a native event.\n\n Object.defineProperty(event, 'target', {\n writable: true,\n value: {\n value: newValue,\n name: name\n }\n });\n onChange(event, child);\n }\n };\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n if (!readOnly) {\n var validKeys = [' ', 'ArrowUp', 'ArrowDown', // The native select doesn't respond to enter on MacOS, but it's recommended by\n // https://www.w3.org/TR/wai-aria-practices/examples/listbox/listbox-collapsible.html\n 'Enter'];\n\n if (validKeys.indexOf(event.key) !== -1) {\n event.preventDefault();\n update(true, event);\n }\n }\n };\n\n var open = displayNode !== null && (isOpenControlled ? openProp : openState);\n\n var handleBlur = function handleBlur(event) {\n // if open event.stopImmediatePropagation\n if (!open && onBlur) {\n event.persist(); // Preact support, target is read only property on a native event.\n\n Object.defineProperty(event, 'target', {\n writable: true,\n value: {\n value: value,\n name: name\n }\n });\n onBlur(event);\n }\n };\n\n delete other['aria-invalid'];\n var display;\n var displaySingle;\n var displayMultiple = [];\n var computeDisplay = false;\n var foundMatch = false; // No need to display any value if the field is empty.\n\n if (isFilled({\n value: value\n }) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n\n var items = childrenArray.map(function (child) {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"Material-UI: The Select component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n\n var selected;\n\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: The `value` prop must be an array when using the `Select` component with `multiple`.\" : _formatMuiErrorMessage(2));\n }\n\n selected = value.some(function (v) {\n return areEqualValues(v, child.props.value);\n });\n\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = areEqualValues(value, child.props.value);\n\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n\n if (selected) {\n foundMatch = true;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n 'aria-selected': selected ? 'true' : undefined,\n onClick: handleItemClick(child),\n onKeyUp: function onKeyUp(event) {\n if (event.key === ' ') {\n // otherwise our MenuItems dispatches a click event\n // it's not behavior of the native
\n }\n buttons={[\n {\n type: 'accept',\n caption: cxt.t('Accept'),\n onClick: () => onAccept(mode),\n disabled: mode === null,\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n\n/*\n associatedPayments.doNothing \tDejarlos como están \tLeave them as they are \tactivar \t\tactivar\n6679 \tassociatedPayments.refundToPurse \tDevolverlos al monedero \tRefund into purse \tactivar \t\tactivar\n6680 \tassociatedPayments.refundInCash \tDevolverlos todos al contado \tRefund them in cash \tactivar \t\tactivar\n6681 \tassociatedPayments.delete\n*/\n","/**\n * Sporttia palette\n *\n * To see palette: https://www.sporttia.com/images/palette.png\n */\nexport default {\n // Corporates\n A1: '#FBFF37',\n A2: '#F6FDC3',\n A3: '#EFF9B4',\n A4: '#E8F497',\n A5: '#DBEA7B',\n A6: '#CDDD62',\n A7: '#BACD44',\n A8: '#9EB319',\n A9: '#869816',\n B1: '#FEEFFF',\n B2: '#F6D4F9',\n B3: '#EDB6F2',\n B4: '#E599EC',\n B5: '#DF7FE8',\n B6: '#D563DF',\n B7: '#CD4CD9',\n B8: '#AC21B9',\n\n // Modules: Booking, Events, Activities, Games\n MB1: '#FFF4F4',\n MB2: '#FDD7D7',\n MB3: '#FBB0B0',\n MB4: '#FB8181',\n MB5: '#FF5353',\n MB6: '#DD2929',\n ME1: '#E9FFED',\n ME2: '#AEF9BC',\n ME3: '#73E888',\n ME4: '#46DF62',\n ME5: '#19CC3A',\n ME6: '#06A423',\n MA1: '#FFEEF7',\n MA2: '#FFD5ED',\n MA3: '#FFADDC',\n MA4: '#FB8ACA',\n MA5: '#FD66BC',\n MA6: '#D92B8E',\n MG1: '#EFF2FF',\n MG2: '#C1CCFF',\n MG3: '#9BADFB',\n MG4: '#728CFF',\n MG5: '#4768FD',\n MG6: '#2749E1',\n\n // Users\n MU1: '#FFF0D8',\n MU2: '#FBDFB2',\n MU3: '#FBD18E',\n MU4: '#728CFF',\n MU5: '#EEB04B',\n MU6: '#E69B22',\n\n // Grays\n G1: '#F5F5F5',\n G2: '#DDD',\n G3: '#999',\n G4: '#666',\n G5: '#333',\n\n green: '#19971a',\n red: '#df3525',\n};\n","import React, { useEffect, useState } from 'react';\nimport { Box, CircularProgress, Typography } from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport { SttDialog } from '../../sporttia/all';\nimport { latinize, requestAdHoc } from '../../lib/utils';\nimport { usePOSConfig, useTranslations } from '../../lib/hooks';\nimport Colors from '../../styles/Colors';\n\nconst PosStatuses = {\n ok: 'OK',\n error: 'ERROR',\n conn_error: 'CONN_ERROR',\n};\n\n/**\n * Diálogo para realizar el pago con datáfono.\n * @param paymentData parámetros para el pago en la forma {amount, concept, idTpv, returnParams, sc}\n * @param open modal abierto\n * @param onClose evento de cierre\n * @param onSuccess evento de pago exitoso\n * @returns {JSX.Element}\n */\nexport default function POSPaymentDialog({\n paymentData,\n open,\n onClose,\n onSuccess,\n}) {\n const SELF_CLOSING_SECONDS = 30;\n\n // hooks\n const { translate } = useTranslations();\n const [status, setStatus] = useState(null);\n const [errorMessage, setErrorMessage] = useState('');\n\n // timer se usa para la cuenta atrás de \"esta ventana se cerrará en X segundos\"\n const [timer, setTimer] = useState(-1);\n\n // ip del dispositivo guardada en localStorage (ver /pages/sc/configuration/ConfigurationPOS.js)\n const ip = localStorage.getItem('CM5DeviceAddress');\n const setupPOSConfig = usePOSConfig('PAYCOMET');\n\n const POSConfig = setupPOSConfig(ip);\n\n // Actualizar valores al recibir un nuevo 'paymentData' y lanzar el pago\n useEffect(() => {\n if (paymentData) {\n setStatus(null);\n setErrorMessage('');\n setTimer(-1);\n\n // Handshake, y si ha ido bien, entonces pago.\n // eslint-disable-next-line no-use-before-define\n handShake()\n .then(() => {\n // eslint-disable-next-line no-use-before-define\n setStatus(null);\n // eslint-disable-next-line no-use-before-define\n requestPosPayment();\n })\n .catch((err) => {\n setStatus(PosStatuses.conn_error);\n setErrorMessage(err);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [paymentData]);\n\n // Actualizar la cuenta atrás. Devuelve un callback que se llamará al desmontar el componente.\n useEffect(() => {\n let timeout;\n if (timer > 0) {\n timeout = setTimeout(() => {\n setTimer(timer - 1);\n }, 1000);\n } else if (timer === 0) {\n onClose();\n } else if (timer === -1) {\n clearTimeout(timeout);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [timer]);\n\n // El handshake establece comunicación con el datáfono\n function handShake() {\n return new Promise((resolve, reject) => {\n // Si no está establecida la IP del datáfono no hay nada que rascar.\n if (!ip) {\n reject(translate('config.pos.deviceIpNotSet'));\n } else {\n // Lanzar la petición de handshake\n requestAdHoc(\n POSConfig.init.method,\n POSConfig.init.uri,\n POSConfig.init.params(),\n )\n .then((r) => {\n const reponse = POSConfig.init.response(r);\n if (reponse.status !== 'OK') {\n // el handshake crujió\n reject(translate('config.pos.deviceTestError'));\n } else {\n resolve();\n }\n })\n .catch((err) => {\n reject(\n err?.error?.msg ||\n translate('config.pos.unknownError'),\n );\n });\n }\n });\n }\n\n // Hacer una petición al datáfono\n function requestPosPayment() {\n const params = {\n amount: paymentData.amount,\n concept: latinize(paymentData.concept),\n idTpv: paymentData.idTpv,\n };\n\n // Lanzar la petición de pago\n requestAdHoc(\n POSConfig.transaction.method,\n POSConfig.transaction.uri,\n POSConfig.transaction.params(params),\n )\n .then((r) => {\n const response = POSConfig.transaction.response(r);\n\n if (response?.status === 'OK') {\n // Callback: llamar pasando los parámetros dados por returnParams (se usan fuera para hacer cosas)\n setStatus(PosStatuses.ok);\n setErrorMessage(null);\n onSuccess?.(response.ticket, paymentData?.returnParams);\n } else {\n setStatus(PosStatuses.error);\n setErrorMessage(response.message);\n }\n setTimer(SELF_CLOSING_SECONDS);\n })\n .catch((err) => {\n // eslint-disable-next-line no-console\n console.log(err);\n });\n }\n\n function requestPrintCopy() {\n // Lanzar la petición de imprimir copia\n requestAdHoc(\n POSConfig.printLastTransaction.method,\n POSConfig.printLastTransaction.uri,\n null,\n )\n .then((response) => {\n if (response.resultCode) {\n if (parseInt(response.resultCode) !== 0) {\n setErrorMessage(response.resultMessage);\n }\n }\n })\n .catch((err) => {\n // eslint-disable-next-line no-console\n console.log(err);\n });\n\n setTimer(-1);\n }\n\n return (\n \n {!status ? (\n \n \n {translate('posPaymentDialog.waitingForPos')}...\n \n \n \n \n \n ) : (\n \n {status === PosStatuses.ok && (\n <>\n \n {translate(\n 'posPaymentDialog.operationComplete',\n )}\n \n \n \n {translate('Result')}:{' '}\n \n {status}\n \n \n \n \n \n {translate('pos.printCopy')}\n \n \n {errorMessage !== '' && (\n \n \n {errorMessage}\n \n \n )}\n {timer > 0 && (\n \n \n {translate(\n 'posPaymentDialog.selfClosingIn',\n )}{' '}\n {timer}\n \n \n )}\n \n )}\n {status === PosStatuses.error && (\n <>\n \n {translate(\n 'posPaymentDialog.operationComplete',\n )}\n \n \n \n {translate('Result')}:{' '}\n \n {status}\n \n \n {errorMessage !== '' && (\n \n \n {errorMessage}\n \n \n )}\n \n {timer > 0 && (\n \n \n {translate(\n 'posPaymentDialog.selfClosingIn',\n )}{' '}\n {timer}\n \n \n )}\n \n )}\n {status === PosStatuses.conn_error && (\n <>\n \n {errorMessage}\n \n \n {\n handShake()\n .then(() => {\n setStatus(null);\n requestPosPayment();\n })\n // eslint-disable-next-line no-console\n .catch((err) => {\n setStatus(\n PosStatuses.conn_error,\n );\n setErrorMessage(err);\n });\n }}\n color=\"primary\"\n >\n {translate('pos.retry')}\n \n \n \n )}\n \n )}\n \n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","// `\"0.11.1\"` will be rewritten by `@rollup/plugin-replace` as a string literal\n// containing the package.json version\n// declare const \"0.11.1\": string;\nvar V1_URL = 'https://js.stripe.com/terminal/v1';\n\nvar injectScript = function injectScript() {\n var script = document.createElement('script');\n script.src = V1_URL;\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Terminal requires a element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n}; // TODO(jdivock): re-enable when we have a proper mechanism to track metrics\n// const registerWrapper = (stripe: any): void => {\n// if (!stripe || !stripe._registerWrapper) {\n// return;\n// }\n//\n// stripe._registerWrapper({name: 'terminal-js', version: \"0.11.1\"});\n// };\n\n\nvar stripePromise = null;\nvar loadScript = function loadScript() {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.StripeTerminal) {\n resolve(window.StripeTerminal);\n return;\n }\n\n var script = document.querySelector(\"script[src=\\\"\".concat(V1_URL, \"\\\"], script[src=\\\"\").concat(V1_URL, \"/\\\"]\")) || injectScript();\n script.addEventListener('load', function () {\n if (window.StripeTerminal) {\n resolve(window.StripeTerminal);\n } else {\n reject(new Error('StripeTerminal not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load StripeTerminal'));\n });\n });\n return stripePromise;\n};\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(loadScript);\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripeTerminal = function loadStripeTerminal() {\n loadCalled = true;\n return stripePromise$1;\n};\n\nexport { loadStripeTerminal };\n","import {\n DiscoverResult,\n Terminal,\n loadStripeTerminal,\n} from '@stripe/terminal-js';\nimport { useEffect, useRef, useState } from 'react';\nimport useTpvsService from '../../services/TpvsService';\nimport generalConfig from '../../config/general';\n\ntype Status = 'success' | 'loading' | 'error' | 'idle';\n\ntype UseStripeTerminalOptions = {\n onConnection?: () => void;\n onError?: (error?: unknown) => void;\n onDisconnect?: () => void;\n};\n\n/*\n * Hook that initializes the Stripe Terminal for a specific location.\n */\nexport const useGetStripeTerminal = (\n scId: number | undefined,\n options: UseStripeTerminalOptions = {},\n) => {\n const [terminal, setTerminal] = useState();\n const [status, setStatus] = useState(\n 'idle',\n );\n const optionsRef = useRef(options);\n optionsRef.current = options;\n\n const tpvService = useTpvsService();\n\n const { mutateAsync: createTpvReaderConnectionMutateAsync } =\n tpvService.useCreateTpvReaderConnection({\n onError: (error) => {\n setStatus('error');\n optionsRef.current.onError?.(error);\n },\n });\n\n useEffect(() => {\n const loadTerminal = async () => {\n if (!scId) {\n return;\n }\n\n setStatus('loading');\n\n const stripeTerminal = await loadStripeTerminal();\n\n if (!stripeTerminal) {\n optionsRef.current.onError?.();\n setStatus('error');\n return;\n }\n\n // Esta callback no se ejecutará ahora sino cuando se utilize la terminal de Stripe\n const useConnectionToken = async () => {\n setStatus('loading');\n\n const response = await createTpvReaderConnectionMutateAsync({\n scId,\n });\n\n setStatus('connected');\n optionsRef.current.onConnection?.();\n\n return response.connectionToken;\n };\n\n const useUnexpectedReaderDisconnect = () => {\n setStatus('disconnected');\n optionsRef.current.onDisconnect?.();\n };\n\n const terminalResult = stripeTerminal.create({\n onFetchConnectionToken: useConnectionToken,\n onUnexpectedReaderDisconnect: useUnexpectedReaderDisconnect,\n });\n\n setStatus('success');\n return terminalResult;\n };\n\n loadTerminal().then((terminalResult) => setTerminal(terminalResult));\n }, [createTpvReaderConnectionMutateAsync, scId]);\n\n return { terminal, status };\n};\n\ntype UseGetStripeReadersOptions = {\n onSuccess?: (\n readers: DiscoverResult['discoveredReaders'],\n ) => void | Promise;\n onError?: (error: unknown) => void;\n};\n\n/*\n * Hook that retrieves available Stripe card readers for a specific location.\n */\nexport const useGetStripeReaders = (\n terminal: Terminal | undefined,\n locationId: string | undefined,\n options: UseGetStripeReadersOptions = {},\n) => {\n const [status, setStatus] = useState('idle');\n const optionsRef = useRef(options);\n optionsRef.current = options;\n\n useEffect(() => {\n const loadReaders = async () => {\n if (!terminal || !locationId) {\n return;\n }\n\n setStatus('loading');\n\n const discoveredReadersResult = await terminal.discoverReaders({\n simulated: generalConfig.testStripeTerminal.isEnabled,\n location: locationId,\n });\n\n if ('error' in discoveredReadersResult) {\n optionsRef.current.onError?.(discoveredReadersResult.error);\n setStatus('error');\n } else {\n const { discoveredReaders } = discoveredReadersResult;\n optionsRef.current.onSuccess?.(discoveredReaders);\n setStatus('success');\n }\n };\n\n loadReaders();\n }, [locationId, terminal]);\n\n return { status };\n};\n\ntype UseCollectStripePaymentOptions = {\n onSuccess?: () => void;\n onCancel?: () => void;\n onError?: (error: unknown) => void;\n enabled?: boolean;\n};\n\ntype UseCollectStripePaymentProps = {\n terminal: Terminal | undefined;\n tpvId: number;\n options?: UseCollectStripePaymentOptions;\n};\n\n/**\n * Custom React hook for collecting Stripe payments using the Stripe Terminal SDK.\n */\nexport const useCollectStripePayment = ({\n terminal,\n tpvId,\n options = { enabled: true },\n}: UseCollectStripePaymentProps) => {\n const [paymentStatus, setPaymentStatus] = useState<\n Status | 'waiting' | 'canceled'\n >('idle');\n const optionsRef = useRef(options);\n optionsRef.current = options;\n const tpvsService = useTpvsService();\n\n // Usamos la mutación en lugar del query\n const {\n mutateAsync: createPhysicalTpvPurchaseMutationAsync,\n isSuccess: createPhysicalTpvPurchaseSuccess,\n status: createPhysicalTpvPurchaseStatus,\n } = tpvsService.useCreatePhysicalTpvPurchase({\n onError: options.onError,\n useErrorBoundary: false,\n });\n\n const handleCollectPaymentError = (message: string, error: unknown) => {\n // eslint-disable-next-line no-console\n console.error(message, error);\n setPaymentStatus('error');\n optionsRef.current.onError?.(error);\n };\n\n // Mientras la mutación no sea exitosa, mostramos su estado;\n // una vez obtenida la data, usamos el estado interno del cobro.\n const status = !createPhysicalTpvPurchaseSuccess\n ? createPhysicalTpvPurchaseStatus\n : paymentStatus;\n\n useEffect(() => {\n const collectPayment = async () => {\n if (!options.enabled || !terminal) {\n return;\n }\n\n // Llamamos a la mutación para crear la compra física\n const purchaseData = await createPhysicalTpvPurchaseMutationAsync({\n id: tpvId,\n });\n\n if (generalConfig.testStripeTerminal.isEnabled) {\n terminal.setSimulatorConfiguration({\n testCardNumber: generalConfig.testStripeTerminal.testCard,\n });\n }\n\n setPaymentStatus('waiting');\n\n // Se asume que purchaseData incluye el stripeClientSecret\n const collectedMethod = await terminal.collectPaymentMethod(\n purchaseData.stripeClientSecret!,\n );\n\n if ('error' in collectedMethod) {\n if (collectedMethod.error.code === 'canceled') {\n setPaymentStatus('canceled');\n optionsRef.current.onCancel?.();\n return;\n }\n\n handleCollectPaymentError(\n 'Error al recoger el método de pago',\n collectedMethod.error,\n );\n return;\n }\n\n setPaymentStatus('loading');\n\n const paymentResult = await terminal.processPayment(\n collectedMethod.paymentIntent,\n );\n\n if ('error' in paymentResult) {\n handleCollectPaymentError(\n 'Error en el procesamiento del pago. Revisa: https://stripe.com/docs/terminal/payments/collect-payment?terminal-sdk-platform=js#handling-processing-failures',\n paymentResult.error,\n );\n return;\n }\n\n setPaymentStatus('success');\n optionsRef.current.onSuccess?.();\n };\n\n collectPayment();\n\n return () => {\n // Si el terminal está esperando input, cancelamos la recogida.\n if (terminal?.getPaymentStatus() === 'waiting_for_input') {\n terminal.cancelCollectPaymentMethod();\n }\n };\n }, [\n terminal,\n tpvId,\n options.enabled,\n createPhysicalTpvPurchaseMutationAsync,\n ]);\n\n return { status };\n};\n\n/*\n * Hook that retrieves available Stripe card readers for a specific location.\n */\nexport const useSimulateReaderPayment = () => {\n const tpvsService = useTpvsService();\n\n const { mutateAsync: simulateTpvReaderPaymentAsync } =\n tpvsService.useSimulateTpvReaderPayment();\n\n return { simulateTpvReaderPaymentAsync };\n};\n","import React, { useContext, useState } from 'react';\nimport { Box, CircularProgress, Typography } from '@material-ui/core';\nimport PaymentIcon from '@material-ui/icons/Payment';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport { AppContext, SttDialog } from '../../sporttia/all';\nimport { useLoader, useTranslations } from '../../lib/hooks';\nimport {\n useCollectStripePayment,\n useGetStripeReaders,\n useGetStripeTerminal,\n useSimulateReaderPayment,\n} from './hooks';\nimport { getErrorMessage } from '../../lib/utils';\nimport generalConfig from '../../config/general';\n\ntype Status = 'success' | 'loading' | 'error' | 'idle';\n\ntype PaymentData = {\n amount: number;\n concept: string;\n idTpv: number;\n};\n\ntype POSStripePaymentDialogProps = {\n paymentData: PaymentData;\n onClose?: () => void;\n onSuccess?: () => void;\n};\n\n/**\n * Component for collecting Stripe payments using the Stripe Terminal SDK.\n */\nexport default function POSStripePaymentDialog({\n paymentData,\n onClose,\n onSuccess,\n}: POSStripePaymentDialogProps) {\n const cxt = useContext(AppContext)!;\n const { translate } = useTranslations();\n const [connectStripeReaderStatus, setConnectStripeReaderStatus] =\n useState('idle');\n const { simulateTpvReaderPaymentAsync } = useSimulateReaderPayment();\n\n const getStripeTerminal = useGetStripeTerminal(cxt.sc?.id, {\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n onClose?.();\n },\n onDisconnect: () => {\n cxt.showMessage(\n 'W',\n translate('stripe.terminal.terminalDisconnect'),\n );\n onClose?.();\n },\n });\n\n const getStripeReaders = useGetStripeReaders(\n getStripeTerminal.terminal,\n cxt.sc?.sporttiaStripeLocationId,\n {\n onSuccess: async (readers) => {\n if (!getStripeTerminal.terminal) {\n return;\n }\n\n const readerToConnect = readers[0];\n\n if (!readerToConnect) {\n cxt.showMessage(\n 'W',\n translate('stripe.terminal.noStripeReaders'),\n );\n\n onClose?.();\n return;\n }\n\n setConnectStripeReaderStatus('loading');\n\n const connectResult =\n await getStripeTerminal.terminal.connectReader(\n readerToConnect,\n );\n\n if ('error' in connectResult) {\n setConnectStripeReaderStatus('error');\n cxt.showMessage('E', getErrorMessage(connectResult.error));\n onClose?.();\n } else {\n setConnectStripeReaderStatus('success');\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n onClose?.();\n },\n },\n );\n\n const collectStripePayment = useCollectStripePayment({\n terminal: getStripeTerminal.terminal,\n tpvId: paymentData.idTpv,\n options: {\n enabled: connectStripeReaderStatus === 'success',\n onSuccess,\n onCancel: () => {\n cxt.showMessage(\n 'W',\n translate('stripe.terminal.paymentCancelled'),\n );\n onClose?.();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n onClose?.();\n },\n },\n });\n\n const simulatePayment = async () => {\n const { terminal } = getStripeTerminal;\n\n if (!terminal || !cxt.sc) return;\n\n await simulateTpvReaderPaymentAsync(\n {\n params: {\n readerId: terminal.getConnectedReader()?.id,\n scId: cxt.sc.id,\n },\n },\n {\n onSuccess,\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n onClose?.();\n },\n },\n );\n };\n\n const [loading] = useLoader([\n getStripeTerminal.status,\n getStripeReaders.status,\n collectStripePayment.status,\n connectStripeReaderStatus,\n ]);\n\n return (\n \n {loading && (\n <>\n {translate('loading')}\n \n \n \n \n )}\n\n {collectStripePayment.status === 'waiting' && (\n <>\n \n {translate('stripe.terminal.waitingForPayment')}\n \n \n \n \n \n )}\n\n {collectStripePayment.status === 'success' && (\n <>\n \n {translate('stripe.terminal.paymentCompleted')}\n \n \n \n \n \n )}\n \n }\n buttons={[\n {\n type:\n collectStripePayment.status === 'waiting'\n ? 'cancel'\n : 'close',\n onClick: onClose,\n },\n collectStripePayment.status === 'waiting' &&\n generalConfig.environment === 'PRE' && {\n type: 'accept',\n caption: 'Simulación de pago',\n onClick: simulatePayment,\n },\n ]}\n />\n );\n}\n","import {\n MutationFunction,\n useMutation,\n UseMutationOptions,\n useQuery,\n UseQueryOptions,\n} from 'react-query';\nimport { useContext } from 'react';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n CreateBonoUser200,\n CreateBonoUserBody,\n GetBono200,\n GetBonoBoletoMovsParams,\n GetBonoDevicesAuths200,\n GetBonoDevicesAuthsParams,\n GetBonoParams,\n UpdateBonoBoletos200,\n} from '../types/api/paths/Bono';\n\nconst resource = '/bonos';\n\nexport const getGetBonoQueryKey = (id: number, params?: GetBonoParams) => [\n `${resource}/${id}`,\n ...(params ? [params] : []),\n];\n\nexport const getGetBonoDevicesAuthsQueryKey = (\n id: number,\n params?: GetBonoDevicesAuthsParams,\n) => [`${resource}/${id}/devices/auths`, ...(params ? [params] : [])];\n\n/**\n * Hook to access 'bonos' resources.\n */\nexport default function useBonosService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n /**\n * GET /bonos/:id request.\n */\n function useGetBono(\n id: number,\n params?: GetBonoParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey =\n queryOptions?.queryKey ?? getGetBonoQueryKey(id, params);\n\n const queryFn = () =>\n request('GET', `${resource}/${id}`, params);\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * GET /bonos/:id/devices/auths request.\n */\n function useGetBonoDevicesAuths(\n id: number,\n params?: GetBonoDevicesAuthsParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey =\n queryOptions?.queryKey ??\n getGetBonoDevicesAuthsQueryKey(id, params);\n\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/${id}/devices/auths`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * PUT /bonos/boletos/:id request.\n */\n function useUpdateBonoBoleto(\n mutationOptions?: UseMutationOptions<\n UpdateBonoBoletos200,\n unknown,\n { id: number; params: UpdateBonoBoletos200 }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdateBonoBoletos200,\n { id: number; params: UpdateBonoBoletos200 }\n > = ({ id, params }) =>\n request('PUT', `${resource}/boletos/${id}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * POST /bonos/:bonoId/users/:userId request.\n */\n function useCreateBonoUser(\n mutationOptions?: UseMutationOptions<\n CreateBonoUser200,\n unknown,\n { bonoId: number; userId: number; params: CreateBonoUserBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n CreateBonoUser200,\n { bonoId: number; userId: number; params: CreateBonoUserBody }\n > = ({ bonoId, userId, params }) =>\n request('POST', `${resource}/${bonoId}/users/${userId}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * GET /bonos/:id request.\n */\n function useGetBonoBoletosMovs(\n id: number,\n params?: GetBonoBoletoMovsParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey = queryOptions?.queryKey ?? [\n `${resource}/boletos/${id}/movs`,\n ...(params ? [params] : []),\n ];\n\n const queryFn = () =>\n request('GET', `${resource}/boletos/${id}/movs`, params);\n\n const query = useQuery(queryKey, queryFn, {\n ...queryOptions,\n keepPreviousData: true,\n });\n\n return {\n ...query,\n queryKey,\n };\n }\n return {\n useGetBono,\n useGetBonoDevicesAuths,\n useUpdateBonoBoleto,\n useCreateBonoUser,\n useGetBonoBoletosMovs,\n };\n}\n","import { requestAdHoc } from './utils';\nimport constants from '../config/constants';\n\nconst localMessagingServiceUrl = `https://agent.sporttia.com:9001`;\n\nexport const OP_ERROR = {\n UNKNOWN: 0,\n UNAVAILABLE: 'Estado de la operación no disponible.',\n NO_CHANGE: 'Se ha producido un error: el dispositivo no dispone de cambio.',\n CANCELLED: 'Se ha cancelado la operación.',\n HARDWARE:\n 'Error en el dispositivo; verifique si hay billetes o monedas atascados.',\n};\n\nconst defaultQueryTimer = 3000;\n\nexport default class Cashdro {\n constructor(ip = '', user = '', pass = '') {\n this.deviceIp = ip || localStorage.getItem('CashdroIp');\n this.user = user || localStorage.getItem('CashdroUser');\n this.pass = pass || localStorage.getItem('CashdroPass');\n\n if (!this.deviceIp || !this.user || !this.pass) {\n throw new Error(\n 'Error de configuración: consulte la sección \"Configuración\", perstaña \"Cashdro\".',\n );\n }\n\n this.deviceUrl = `https://${this.deviceIp}/Cashdro3WS/index.php`;\n\n this.availablePieces = {\n monedas: [],\n billetes: [],\n };\n\n this.noRepeatkillSwitch = false;\n }\n\n async startOperation(type, params) {\n const result = await requestAdHoc('POST', localMessagingServiceUrl, {\n method: 'GET',\n url: this.deviceUrl,\n params: {\n operation: 'startOperation',\n type,\n name: this.user,\n password: this.pass,\n parameters: params ? JSON.stringify(params) : '',\n },\n });\n\n /*\n {\n \"code\": , si su valor es 1, no se ha producido error, en caso contrario se indica el código del error (valor negativo).\n -1 Usuario/password incorrectos.\n -2 CashDro ocupado con otra transacción.\n -3 Importe de la transacción incorrecto.\n -4 El usuario no tiene permiso para realizar la transacción.\n -99 Parámetros incorrectos.\n -1900 CashDro está cargando o actualizando.\n -998 CashDro está fuera de servicio. Revisar estado en la pantalla de diagnostico.\n -999 El servicio de CashDro está parado.\n \"response\": {\n \"errorMessage\": \"none\",\n \"operation\": {\n \"operationId\": \"\"\n }\n }\n }\n\n LO DE ARRIBA ES MENTIRA LOL\n\n La respuesta real es tipo:\n {\n \"code\": 1,\n \"data: \"35\" <- el operationId de verdad\n }\n\n PARECE QUE TODAS LAS RESPUESTAS DE LA DOC SON MENTIRA. SIEMPRE ES \"data\"\n\n */\n\n return result;\n }\n\n async confirmOperation(operationId) {\n const result = await requestAdHoc('POST', localMessagingServiceUrl, {\n method: 'GET',\n url: this.deviceUrl,\n params: {\n operation: 'acknowledgeOperationId',\n operationId,\n name: this.user,\n password: this.pass,\n },\n });\n\n /*\n {\n \"code\": ,\n 1 ok\n -1 Usuario/password incorrectos\n -2 Identificador de la transacción incorrecto\n -3 Parámetros incorrectos, transacción no iniciada.\n \"response\": {\n \"errorMessage\": \"none\"\n }\n }\n */\n\n return result;\n }\n\n async whileQueryingOperation(params, onFinished, onError, onUpdate) {\n const { operationId, queryTimer, updateOnlyOnce } = params;\n\n this.noRepeatkillSwitch = false;\n\n if (!operationId) {\n console.log('Se requiere operationId');\n }\n\n const interval = setInterval(async () => {\n const result = await this.queryOperation(operationId).catch(\n (err) => {\n onError(err?.error?.msg || err);\n },\n );\n\n const { code } = result;\n\n // result.data viene como un string que representa un json\n const data = JSON.parse(result.data);\n\n // operation son los datos de la operación\n // devices es el estado de los mecanismos internos (qué monedas tienen etc)\n const { operation, devices } = data;\n\n if (code === 1) {\n switch (operation?.state) {\n case 'F': // fin, pagado\n clearInterval(interval);\n if (onFinished) {\n onFinished({ operation, devices });\n }\n break;\n // hay que esperar\n case 'Q':\n break;\n case 'E':\n if (onUpdate) {\n if (\n !updateOnlyOnce ||\n (updateOnlyOnce && !this.noRepeatkillSwitch)\n ) {\n onUpdate();\n this.noRepeatkillSwitch = true;\n }\n }\n break;\n case 'I': // Operación no confirmada con acknowledgeOperation\n default: // no puede pasar en teoría\n clearInterval(interval);\n if (onError) {\n onError(\n 'Operación no confirmada / error desconocido',\n );\n }\n break;\n }\n }\n }, queryTimer || defaultQueryTimer);\n }\n\n async queryOperation(operationId) {\n const result = await requestAdHoc('POST', localMessagingServiceUrl, {\n method: 'GET',\n url: this.deviceUrl,\n params: {\n operation: 'askOperation',\n operationId,\n name: this.user,\n password: this.pass,\n },\n });\n\n return result;\n\n /*\n {\n \"code\": ,\n \"response\": {\n \"errorMessage\": \"none\",\n \"operation\": {\n \"operation\": {\n \"operationid\": \"\",\n \"state\": \"\",\n I = operación pendiente de ejecutar (acknowledge).\n Q = la operación está en cola.\n E = la operación está en ejecución.\n F = la operación está finalizada.\n \"payInProgress\": \"\",\n \"payOutProgress\": \"\",\n \"total\": \"\",\n \"totalin\": \"\",\n Importe total introducido en CashDro. Siempre se indica multiplicado por 100. Por ejemplo, para un importe de 1,05 se indica 105.\n \"totalout\": \"<-totalout>\",\n Importe total dispensado por CashDro. Siempre se indica multiplicado por 100 y en negativo.\n \"amountchangenotavailable\": \"\"\n Importe no devuelto al generarse un cambio no disponible.\n …\n },\n \"devices\": [\n ...\n {\n \"type\": \"\",\n ...\n \"pieces\": [\n {\n ...\n \"value\": \"\",\n ...\n \"finishlevelrecycler\": ,\n \"finishlevelcassette\": ,\n ...\n },\n ...\n ]\n },\n ...\n ],\n \"messages\": [],\n ...\n \"withError\": \"\",\n True/false. Indica si CashDro está operativo o en estado de error (ej . billete atascado,..).\n ...\n }\n }\n }\n */\n }\n\n async cancelOperation(operationId) {\n const result = await requestAdHoc('POST', localMessagingServiceUrl, {\n method: 'GET',\n url: this.deviceUrl,\n params: {\n operation: 'finishOperation',\n operationId,\n type: 2,\n name: this.user,\n password: this.pass,\n },\n });\n\n /*\n {\n \"code\":,\n \"response\":{\n \"errorMessage\":\"none\"\n }\n }\n */\n\n return result;\n }\n\n async finishOperation(operationId, params = null, type = 1) {\n const result = await requestAdHoc('POST', localMessagingServiceUrl, {\n method: 'GET',\n url: this.deviceUrl,\n params: {\n operation: 'finishOperation',\n operationId,\n name: this.user,\n password: this.pass,\n type,\n params: params ? JSON.stringify(params) : '',\n },\n });\n\n /*\n {\n \"code\":,\n \"response\":{\n \"errorMessage\":\"none\"\n }\n }\n */\n\n return result;\n }\n\n async importOperation(operationId) {\n const result = await requestAdHoc('POST', localMessagingServiceUrl, {\n method: 'GET',\n url: this.deviceUrl,\n params: {\n operation: 'setOperationImported',\n operationId,\n name: this.user,\n password: this.pass,\n },\n });\n\n /*\n {\n \"code\":,\n \"response\":{\n \"errorMessage\":\"none\"\n }\n }\n */\n\n return result;\n }\n\n async checkCurrencyLevels() {\n const result = await requestAdHoc('POST', localMessagingServiceUrl, {\n method: 'GET',\n url: this.deviceUrl,\n params: {\n operation: 'getPiecesCurrency',\n currencyId: 'EUR',\n includeImages: 0,\n levels: 1,\n name: this.user,\n password: this.pass,\n },\n });\n\n /*\n {\n \"code\": 1,\n \"response\": {\n \"errorMessage\": \"none\",\n \"operation\": {\n \"pieces\": [\n {\n \"CurrencyId\": \"EUR\",\n \"Value\": \"1\",\n \"Type\": \"1\",\n \"Destination\": \"1\",\n \"MinLevel\": \"1\",\n \"MaxLevel\": \"0\",\n \"DepositLevel\": \"27\",\n \"MaxPiecesExchange\": \"0\",\n \"State\": \"-1\",\n \"Image\": \"\",\n \"LevelRecycler\": \"28\",\n \"LevelCasete\": \"0\",...\n },...\n ]\n }\n }\n }\n */\n\n return result;\n }\n\n /**\n * Guardar las piezas (monedas y billetes) actualmente disponibles en los recicladores (los dispositivos que pueden escupir dinero).\n * @returns void\n */\n setAvailablePieces({ monedas = [], billetes = [] }) {\n if (monedas.length > 0) {\n this.availablePieces.monedas = monedas.map((pieza) => {\n const startLevel = parseInt(pieza.startlevelrecycler);\n const finishLevel = parseInt(pieza.finishlevelrecycler);\n\n let level = finishLevel;\n\n if (finishLevel > startLevel) {\n level = finishLevel - startLevel;\n }\n\n return {\n level,\n value: pieza.value,\n };\n });\n }\n\n if (billetes.length > 0) {\n this.availablePieces.billetes = billetes.map((pieza) => ({\n level: pieza.finishlevelrecycler,\n value: pieza.value,\n }));\n }\n\n console.log('piezas disponibles:');\n console.log(this.availablePieces);\n }\n\n /**\n * Devuelve una lista de las monedas/billetes necesarias para emitir un reintegro (sí, hay que especificar).\n * Se devuelven de entre las disponibles, de mayor a menor denominación.\n * @param amount\n * @returns {{monedas: *[], billetes: *[]}}\n */\n calculateNecessaryPieces(amount) {\n const available = {\n monedas: this.availablePieces.monedas.sort(\n (a, b) => parseInt(b.value) - parseInt(a.value),\n ),\n billetes: this.availablePieces.billetes.sort(\n (a, b) => parseInt(b.value) - parseInt(a.value),\n ),\n };\n\n const result = {\n monedas: [],\n billetes: [],\n };\n\n let amtRemaining = parseInt(amount);\n let done = false;\n const safety = 100;\n let tries = 0;\n while (amtRemaining > 0 && !done) {\n if (tries >= safety) {\n break;\n }\n\n // eslint-disable-next-line no-loop-func\n available.billetes.forEach((billete) => {\n if (done) {\n return;\n }\n\n const { multiplier, value, remaining } =\n Cashdro.checkPiecesToSubstract(billete, amtRemaining);\n\n if (multiplier > 0) {\n result.billetes.push({\n level: multiplier,\n value,\n });\n }\n\n amtRemaining = remaining;\n\n if (amtRemaining === 0) {\n done = true;\n }\n });\n\n if (done) {\n break;\n }\n\n // eslint-disable-next-line no-loop-func\n available.monedas.forEach((moneda) => {\n if (done) {\n return;\n }\n\n const { multiplier, value, remaining } =\n Cashdro.checkPiecesToSubstract(moneda, amtRemaining);\n\n if (multiplier > 0) {\n result.monedas.push({\n level: multiplier,\n value,\n });\n }\n\n amtRemaining = remaining;\n\n if (remaining === 0) {\n done = true;\n }\n });\n tries++;\n }\n\n return result;\n }\n\n static checkPiecesToSubstract(piece, remainingAmt) {\n // let remaining = remainingAmt;\n\n let multiplier = 0;\n let value = 0;\n let remaining = parseInt(remainingAmt);\n\n const pieceValue = parseInt(piece.value);\n\n if (remaining % pieceValue === 0) {\n // si es múltiplo exacto\n multiplier = remaining / pieceValue;\n remaining -= pieceValue * multiplier;\n value = pieceValue;\n } else if (pieceValue < remaining) {\n // si solo es mayor, pues la restamos y palante\n remaining -= pieceValue;\n multiplier = 1;\n value = pieceValue;\n }\n\n return { multiplier, value, remaining };\n }\n\n static validRefundPieces(pieces, amtToCheck) {\n let amount = parseInt(amtToCheck);\n\n pieces.billetes.forEach((piece) => {\n amount -= piece.value * piece.level;\n });\n\n pieces.monedas.forEach((piece) => {\n amount -= piece.value * piece.level;\n });\n\n if (amount === 0) {\n console.log('refund pieces ok');\n }\n\n return amount === 0;\n }\n\n static saleOperationSuccessful(operation) {\n let success = false;\n let error = null;\n\n if (!operation || operation.state !== 'F') {\n return { success, error: OP_ERROR.UNAVAILABLE };\n }\n\n const total = parseInt(operation.total);\n const totalin = parseInt(operation.totalin);\n const totalout = parseInt(operation.totalout);\n const amountchangenotavailable = parseInt(\n operation.amountchangenotavailable,\n );\n\n if (\n operation.withError === 'true' ||\n (operation.withError && operation.withError !== 'false')\n ) {\n // error de la maquinaria interna\n error = OP_ERROR.HARDWARE;\n } else if (amountchangenotavailable) {\n // no había cambio\n error = OP_ERROR.NO_CHANGE;\n } else if (totalin === 0 && totalout === 0) {\n // operación cancelada / finalizada a manisqui\n error = OP_ERROR.CANCELLED;\n } else if (total === totalin + totalout) {\n // operación normal con devolución de cambio correcta\n success = true;\n }\n\n return { success, error };\n }\n\n async confirmRefund(opId, { monedas = [], billetes = [] }) {\n return this.finishOperation(\n opId,\n {\n /* La estructura de este parámetro de verdad tiene que ser así de cutre */\n Piezas: {\n pieza: monedas\n .map((piece) => ({\n valor: piece.value.toString(),\n nivel: piece.level.toString(),\n isBillete: 'false',\n }))\n .concat(\n billetes.map((piece) => ({\n valor: piece.value.toString(),\n nivel: piece.level.toString(),\n isBillete: 'true',\n })),\n ),\n },\n },\n constants.cashdro.op.EXCUTE_WITHDRAWAL,\n );\n }\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport {\n Box,\n Button,\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from '@material-ui/core';\nimport { AppContext } from '../../sporttia/AppContext';\nimport { formatPrice } from '../../lib/utils';\nimport Cashdro, { OP_ERROR } from '../../lib/Cashdro';\nimport constants from '../../config/constants';\n\nexport default function CashdroControlDialog({\n open,\n amount,\n onClose,\n onSuccess,\n}) {\n const cxt = useContext(AppContext);\n\n const [operationId, setOperationId] = useState(null);\n const [operationOngoing, setOperationOngoing] = useState(false);\n const [noChange, setnoChange] = useState(false);\n const [error, setError] = useState('');\n const [disabled, setDisabled] = useState(false);\n const [cashdroService, setCashdroService] = useState(null);\n\n useEffect(() => {\n if (open) {\n try {\n const service = new Cashdro();\n setCashdroService(service);\n } catch (err) {\n setError(err?.message || err);\n setDisabled(true);\n }\n }\n // cleanup\n return () => {\n setCashdroService(null);\n };\n }, [open]);\n\n const onCancel = async () => {\n if (cashdroService) {\n const result = await cashdroService\n .cancelOperation(operationId)\n .catch((err) => {\n cxt.showMessage('E', err?.error?.msg || err);\n });\n\n if (result && result.code === 1) {\n cxt.showMessage('E', 'Cancelado!');\n }\n }\n onClose();\n };\n\n const onAccept = async () => {\n setOperationOngoing(true);\n\n let result = await cashdroService\n .startOperation(\n constants.cashdro.op.SALE,\n {\n amount: amount * 100,\n } /* El cashdro representa las perras en plan 550 = 5,50 € */,\n )\n .catch((err) => {\n setOperationOngoing(false);\n setError(err?.error?.msg || err);\n });\n\n if (result && result.code === 1) {\n const opId = result.data;\n\n if (opId) {\n setOperationId(opId);\n\n result = await cashdroService\n .confirmOperation(opId)\n .catch((err) => {\n setError(err?.error?.msg || err);\n setOperationOngoing(false);\n });\n\n if (result && result.code === 1) {\n /* trozo cortado */\n\n await cashdroService.whileQueryingOperation(\n {\n operationId: opId,\n },\n async ({ operation, devices }) => {\n console.log(`Operación ${opId} finalizada`);\n\n console.log(operation);\n\n // Evaluamos si se introdujo el dinero y cuadra el dinero introducido + el devuelto\n // eslint-disable-next-line no-shadow\n const { success, error } =\n Cashdro.saleOperationSuccessful(operation);\n\n // Ocurrió algún error conocido\n if (!success) {\n switch (error) {\n case OP_ERROR.CANCELLED:\n console.log('OP_ERROR.CANCELLED');\n await onCancel();\n break;\n case OP_ERROR.HARDWARE:\n console.log('OP_ERROR.HARDWARE');\n setOperationOngoing(false);\n break;\n case OP_ERROR.NO_CHANGE:\n console.log('OP_ERROR.NO_CHANGE');\n setnoChange(true);\n\n result = await cashdroService\n .startOperation(\n constants.cashdro.op.REFUND,\n )\n .catch((err) => {\n setError(\n err?.error?.msg || err,\n );\n setOperationOngoing(false);\n console.log(\n 'Error al iniciar op de reembolso',\n );\n });\n\n if (result && result.code === 1) {\n const refundOpId = result.data;\n result = await cashdroService\n .confirmOperation(refundOpId)\n .catch((err) => {\n setError(\n err?.error?.msg || err,\n );\n setOperationOngoing(false);\n console.log(\n 'Error al confirmar op. de reembolso',\n );\n });\n\n if (result && result.code === 1) {\n await cashdroService.whileQueryingOperation(\n {\n operationId: refundOpId,\n updateOnlyOnce: true,\n },\n async () => {\n console.log(\n 'Op de reembolso \"completada\"',\n );\n\n await cashdroService\n .importOperation(\n refundOpId,\n )\n .catch((err) => {\n cxt.showMessage(\n 'E',\n err?.error\n ?.msg ||\n err,\n );\n });\n\n setnoChange(false);\n\n // Cancelamos la op. inicial\n await onCancel();\n },\n (err) => {\n console.log(\n 'Err al consultar reembolso: ',\n err,\n );\n },\n async () => {\n const availablePieces =\n {\n monedas:\n devices?.find(\n (\n device,\n ) =>\n device.type ===\n '2',\n )?.pieces ||\n [],\n billetes:\n devices?.find(\n (\n device,\n ) =>\n device.type ===\n '3',\n )?.pieces ||\n [],\n };\n\n // Cargamos la disponibilidad de piezas (monedas y billetes) devuelta por la operación de pago\n cashdroService.setAvailablePieces(\n availablePieces,\n );\n\n // Calculamos las piezas necesarias para efectuar la devolución\n const refundPieces =\n cashdroService.calculateNecessaryPieces(\n operation.totalin,\n );\n\n // Comprobamos si las piezas generadas son válidas (por si acaso).\n if (\n Cashdro.validRefundPieces(\n refundPieces,\n operation.totalin,\n )\n ) {\n // Finalizar operación de devolución\n await cashdroService\n .confirmRefund(\n refundOpId,\n refundPieces,\n )\n .catch(\n (err) => {\n console.log(\n err,\n );\n cxt.showMessage(\n 'E',\n err\n ?.error\n ?.msg ||\n err,\n );\n },\n );\n } else {\n // Finalizar op. pero con cancelación\n await cashdroService.finishOperation(\n refundOpId,\n {},\n constants\n .cashdro.op\n .CANCEL_WITHDRAWAL,\n );\n\n setError(\n 'Ocurrió un error con la devolución. Verifique el dispositivo CashDro',\n );\n setnoChange(false);\n await onCancel();\n }\n },\n );\n }\n }\n break;\n case OP_ERROR.UNAVAILABLE:\n default:\n console.log('OP_ERROR.UNAVAILABLE');\n setError(OP_ERROR.UNAVAILABLE);\n setOperationOngoing(false);\n break;\n }\n\n // op iniciada\n\n // op confirmada\n } else {\n await cashdroService\n .importOperation(opId)\n .catch((err) => {\n cxt.showMessage(\n 'E',\n err?.error?.msg || err,\n );\n });\n\n // Éxito en la op. de venta\n onSuccess();\n }\n\n setOperationOngoing(false);\n },\n (err) => {\n console.log(err);\n setError(err);\n },\n );\n } else {\n cxt.showMessage('E', `Error: ${result.data}`);\n }\n } else {\n cxt.showMessage(\n 'E',\n 'Error: no se pudo recuperar \"operationID\"',\n );\n }\n }\n };\n\n /**\n * Decidir qué mensaje pintamos en el diálogo\n * @returns {JSX.Element}\n */\n const renderMessage = () => {\n let result = null;\n if (noChange) {\n result = (\n \n El dispositivo no tiene cambio; reembolsando...\n \n );\n } else if (operationOngoing) {\n result = Esperando al dispositivo...;\n } else if (error) {\n result = {error};\n } else {\n result = (\n \n {`Va a enviar al dispositivo una orden de cobro por valor de ${formatPrice(\n amount,\n '€',\n )}`}\n \n );\n }\n\n return result;\n };\n\n /**\n * Decidir qué botones pintamos en el diálogo\n * @returns {*[]}\n */\n const renderActions = () => {\n const actions = [];\n\n if (!disabled) {\n if (operationOngoing || error) {\n actions.push(\n \n Abortar operación\n ,\n );\n } else if (!noChange) {\n actions.push(\n \n {cxt.t('Accept')}\n ,\n );\n }\n }\n\n actions.push(\n \n {cxt.t('Cancel')}\n ,\n );\n\n return actions;\n };\n\n const title = 'Pago mediante CashDro';\n\n return (\n \n {title && {title}}\n \n {renderMessage()}\n {(operationOngoing || noChange) && (\n \n \n \n )}\n \n {renderActions()}\n \n );\n}\n","// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nexport class InvalidDateTimeError extends LuxonError {\n constructor(reason) {\n super(`Invalid DateTime: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidIntervalError extends LuxonError {\n constructor(reason) {\n super(`Invalid Interval: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidDurationError extends LuxonError {\n constructor(reason) {\n super(`Invalid Duration: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nexport class InvalidUnitError extends LuxonError {\n constructor(unit) {\n super(`Invalid unit ${unit}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nexport class ZoneIsAbstractError extends LuxonError {\n constructor() {\n super(\"Zone is an abstract class\");\n }\n}\n","/**\n * @private\n */\n\nconst n = \"numeric\",\n s = \"short\",\n l = \"long\";\n\nexport const DATE_SHORT = {\n year: n,\n month: n,\n day: n,\n};\n\nexport const DATE_MED = {\n year: n,\n month: s,\n day: n,\n};\n\nexport const DATE_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n};\n\nexport const DATE_FULL = {\n year: n,\n month: l,\n day: n,\n};\n\nexport const DATE_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n};\n\nexport const TIME_SIMPLE = {\n hour: n,\n minute: n,\n};\n\nexport const TIME_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const TIME_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s,\n};\n\nexport const TIME_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l,\n};\n\nexport const TIME_24_SIMPLE = {\n hour: n,\n minute: n,\n hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: s,\n};\n\nexport const TIME_24_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: l,\n};\n\nexport const DATETIME_SHORT = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_SHORT_WITH_SECONDS = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const DATETIME_MED = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_MED_WITH_SECONDS = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const DATETIME_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_FULL = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n timeZoneName: s,\n};\n\nexport const DATETIME_FULL_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s,\n};\n\nexport const DATETIME_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n timeZoneName: l,\n};\n\nexport const DATETIME_HUGE_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l,\n};\n","import { ZoneIsAbstractError } from \"./errors.js\";\n\n/**\n * @interface\n */\nexport default class Zone {\n /**\n * The type of zone\n * @abstract\n * @type {string}\n */\n get type() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * The name of this zone.\n * @abstract\n * @type {string}\n */\n get name() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * The IANA name of this zone.\n * Defaults to `name` if not overwritten by a subclass.\n * @abstract\n * @type {string}\n */\n get ianaName() {\n return this.name;\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year.\n * @abstract\n * @type {boolean}\n */\n get isUniversal() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n offsetName(ts, opts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's value as a string\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n offset(ts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is equal to another zone\n * @abstract\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is valid.\n * @abstract\n * @type {boolean}\n */\n get isValid() {\n throw new ZoneIsAbstractError();\n }\n}\n","import { formatOffset, parseZoneInfo } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nexport default class SystemZone extends Zone {\n /**\n * Get a singleton instance of the local zone\n * @return {SystemZone}\n */\n static get instance() {\n if (singleton === null) {\n singleton = new SystemZone();\n }\n return singleton;\n }\n\n /** @override **/\n get type() {\n return \"system\";\n }\n\n /** @override **/\n get name() {\n return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n /** @override **/\n get isUniversal() {\n return false;\n }\n\n /** @override **/\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale);\n }\n\n /** @override **/\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /** @override **/\n offset(ts) {\n return -new Date(ts).getTimezoneOffset();\n }\n\n /** @override **/\n equals(otherZone) {\n return otherZone.type === \"system\";\n }\n\n /** @override **/\n get isValid() {\n return true;\n }\n}\n","import { formatOffset, parseZoneInfo, isUndefined, objToLocalTS } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n if (!dtfCache[zone]) {\n dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n hour12: false,\n timeZone: zone,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n era: \"short\",\n });\n }\n return dtfCache[zone];\n}\n\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n era: 3,\n hour: 4,\n minute: 5,\n second: 6,\n};\n\nfunction hackyOffset(dtf, date) {\n const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n const formatted = dtf.formatToParts(date);\n const filled = [];\n for (let i = 0; i < formatted.length; i++) {\n const { type, value } = formatted[i];\n const pos = typeToPos[type];\n\n if (type === \"era\") {\n filled[pos] = value;\n } else if (!isUndefined(pos)) {\n filled[pos] = parseInt(value, 10);\n }\n }\n return filled;\n}\n\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nexport default class IANAZone extends Zone {\n /**\n * @param {string} name - Zone name\n * @return {IANAZone}\n */\n static create(name) {\n if (!ianaZoneCache[name]) {\n ianaZoneCache[name] = new IANAZone(name);\n }\n return ianaZoneCache[name];\n }\n\n /**\n * Reset local caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCache() {\n ianaZoneCache = {};\n dtfCache = {};\n }\n\n /**\n * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n * @param {string} s - The string to check validity on\n * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n * @deprecated For backward compatibility, this forwards to isValidZone, better use `isValidZone()` directly instead.\n * @return {boolean}\n */\n static isValidSpecifier(s) {\n return this.isValidZone(s);\n }\n\n /**\n * Returns whether the provided string identifies a real zone\n * @param {string} zone - The string to check\n * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n * @return {boolean}\n */\n static isValidZone(zone) {\n if (!zone) {\n return false;\n }\n try {\n new Intl.DateTimeFormat(\"en-US\", { timeZone: zone }).format();\n return true;\n } catch (e) {\n return false;\n }\n }\n\n constructor(name) {\n super();\n /** @private **/\n this.zoneName = name;\n /** @private **/\n this.valid = IANAZone.isValidZone(name);\n }\n\n /**\n * The type of zone. `iana` for all instances of `IANAZone`.\n * @override\n * @type {string}\n */\n get type() {\n return \"iana\";\n }\n\n /**\n * The name of this zone (i.e. the IANA zone name).\n * @override\n * @type {string}\n */\n get name() {\n return this.zoneName;\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year:\n * Always returns false for all IANA zones.\n * @override\n * @type {boolean}\n */\n get isUniversal() {\n return false;\n }\n\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale, this.name);\n }\n\n /**\n * Returns the offset's value as a string\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @override\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n offset(ts) {\n const date = new Date(ts);\n\n if (isNaN(date)) return NaN;\n\n const dtf = makeDTF(this.name);\n let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts\n ? partsOffset(dtf, date)\n : hackyOffset(dtf, date);\n\n if (adOrBc === \"BC\") {\n year = -Math.abs(year) + 1;\n }\n\n // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n const adjustedHour = hour === 24 ? 0 : hour;\n\n const asUTC = objToLocalTS({\n year,\n month,\n day,\n hour: adjustedHour,\n minute,\n second,\n millisecond: 0,\n });\n\n let asTS = +date;\n const over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return (asUTC - asTS) / (60 * 1000);\n }\n\n /**\n * Return whether this Zone is equal to another zone\n * @override\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n return otherZone.type === \"iana\" && otherZone.name === this.name;\n }\n\n /**\n * Return whether this Zone is valid.\n * @override\n * @type {boolean}\n */\n get isValid() {\n return this.valid;\n }\n}\n","import { hasLocaleWeekInfo, hasRelative, padStart, roundTo, validateWeekSettings } from \"./util.js\";\nimport * as English from \"./english.js\";\nimport Settings from \"../settings.js\";\nimport DateTime from \"../datetime.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let dtf = intlLFCache[key];\n if (!dtf) {\n dtf = new Intl.ListFormat(locString, opts);\n intlLFCache[key] = dtf;\n }\n return dtf;\n}\n\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let dtf = intlDTCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(locString, opts);\n intlDTCache[key] = dtf;\n }\n return dtf;\n}\n\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let inf = intlNumCache[key];\n if (!inf) {\n inf = new Intl.NumberFormat(locString, opts);\n intlNumCache[key] = inf;\n }\n return inf;\n}\n\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options\n const key = JSON.stringify([locString, cacheKeyOpts]);\n let inf = intlRelCache[key];\n if (!inf) {\n inf = new Intl.RelativeTimeFormat(locString, opts);\n intlRelCache[key] = inf;\n }\n return inf;\n}\n\nlet sysLocaleCache = null;\nfunction systemLocale() {\n if (sysLocaleCache) {\n return sysLocaleCache;\n } else {\n sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n return sysLocaleCache;\n }\n}\n\nlet weekInfoCache = {};\nfunction getCachedWeekInfo(locString) {\n let data = weekInfoCache[locString];\n if (!data) {\n const locale = new Intl.Locale(locString);\n // browsers currently implement this as a property, but spec says it should be a getter function\n data = \"getWeekInfo\" in locale ? locale.getWeekInfo() : locale.weekInfo;\n weekInfoCache[locString] = data;\n }\n return data;\n}\n\nfunction parseLocaleString(localeStr) {\n // I really want to avoid writing a BCP 47 parser\n // see, e.g. https://github.com/wooorm/bcp-47\n // Instead, we'll do this:\n\n // a) if the string has no -u extensions, just leave it alone\n // b) if it does, use Intl to resolve everything\n // c) if Intl fails, try again without the -u\n\n // private subtags and unicode subtags have ordering requirements,\n // and we're not properly parsing this, so just strip out the\n // private ones if they exist.\n const xIndex = localeStr.indexOf(\"-x-\");\n if (xIndex !== -1) {\n localeStr = localeStr.substring(0, xIndex);\n }\n\n const uIndex = localeStr.indexOf(\"-u-\");\n if (uIndex === -1) {\n return [localeStr];\n } else {\n let options;\n let selectedStr;\n try {\n options = getCachedDTF(localeStr).resolvedOptions();\n selectedStr = localeStr;\n } catch (e) {\n const smaller = localeStr.substring(0, uIndex);\n options = getCachedDTF(smaller).resolvedOptions();\n selectedStr = smaller;\n }\n\n const { numberingSystem, calendar } = options;\n return [selectedStr, numberingSystem, calendar];\n }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n if (outputCalendar || numberingSystem) {\n if (!localeStr.includes(\"-u-\")) {\n localeStr += \"-u\";\n }\n\n if (outputCalendar) {\n localeStr += `-ca-${outputCalendar}`;\n }\n\n if (numberingSystem) {\n localeStr += `-nu-${numberingSystem}`;\n }\n return localeStr;\n } else {\n return localeStr;\n }\n}\n\nfunction mapMonths(f) {\n const ms = [];\n for (let i = 1; i <= 12; i++) {\n const dt = DateTime.utc(2009, i, 1);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction mapWeekdays(f) {\n const ms = [];\n for (let i = 1; i <= 7; i++) {\n const dt = DateTime.utc(2016, 11, 13 + i);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction listStuff(loc, length, englishFn, intlFn) {\n const mode = loc.listingMode();\n\n if (mode === \"error\") {\n return null;\n } else if (mode === \"en\") {\n return englishFn(length);\n } else {\n return intlFn(length);\n }\n}\n\nfunction supportsFastNumbers(loc) {\n if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n return false;\n } else {\n return (\n loc.numberingSystem === \"latn\" ||\n !loc.locale ||\n loc.locale.startsWith(\"en\") ||\n new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\"\n );\n }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n constructor(intl, forceSimple, opts) {\n this.padTo = opts.padTo || 0;\n this.floor = opts.floor || false;\n\n const { padTo, floor, ...otherOpts } = opts;\n\n if (!forceSimple || Object.keys(otherOpts).length > 0) {\n const intlOpts = { useGrouping: false, ...opts };\n if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n this.inf = getCachedINF(intl, intlOpts);\n }\n }\n\n format(i) {\n if (this.inf) {\n const fixed = this.floor ? Math.floor(i) : i;\n return this.inf.format(fixed);\n } else {\n // to match the browser's numberformatter defaults\n const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n return padStart(fixed, this.padTo);\n }\n }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n constructor(dt, intl, opts) {\n this.opts = opts;\n this.originalZone = undefined;\n\n let z = undefined;\n if (this.opts.timeZone) {\n // Don't apply any workarounds if a timeZone is explicitly provided in opts\n this.dt = dt;\n } else if (dt.zone.type === \"fixed\") {\n // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n // That is why fixed-offset TZ is set to that unless it is:\n // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n // 2. Unsupported by the browser:\n // - some do not support Etc/\n // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n const gmtOffset = -1 * (dt.offset / 60);\n const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n z = offsetZ;\n this.dt = dt;\n } else {\n // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n // we manually apply the offset and substitute the zone as needed.\n z = \"UTC\";\n this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n this.originalZone = dt.zone;\n }\n } else if (dt.zone.type === \"system\") {\n this.dt = dt;\n } else if (dt.zone.type === \"iana\") {\n this.dt = dt;\n z = dt.zone.name;\n } else {\n // Custom zones can have any offset / offsetName so we just manually\n // apply the offset and substitute the zone as needed.\n z = \"UTC\";\n this.dt = dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n this.originalZone = dt.zone;\n }\n\n const intlOpts = { ...this.opts };\n intlOpts.timeZone = intlOpts.timeZone || z;\n this.dtf = getCachedDTF(intl, intlOpts);\n }\n\n format() {\n if (this.originalZone) {\n // If we have to substitute in the actual zone name, we have to use\n // formatToParts so that the timezone can be replaced.\n return this.formatToParts()\n .map(({ value }) => value)\n .join(\"\");\n }\n return this.dtf.format(this.dt.toJSDate());\n }\n\n formatToParts() {\n const parts = this.dtf.formatToParts(this.dt.toJSDate());\n if (this.originalZone) {\n return parts.map((part) => {\n if (part.type === \"timeZoneName\") {\n const offsetName = this.originalZone.offsetName(this.dt.ts, {\n locale: this.dt.locale,\n format: this.opts.timeZoneName,\n });\n return {\n ...part,\n value: offsetName,\n };\n } else {\n return part;\n }\n });\n }\n return parts;\n }\n\n resolvedOptions() {\n return this.dtf.resolvedOptions();\n }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n constructor(intl, isEnglish, opts) {\n this.opts = { style: \"long\", ...opts };\n if (!isEnglish && hasRelative()) {\n this.rtf = getCachedRTF(intl, opts);\n }\n }\n\n format(count, unit) {\n if (this.rtf) {\n return this.rtf.format(count, unit);\n } else {\n return English.formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n }\n }\n\n formatToParts(count, unit) {\n if (this.rtf) {\n return this.rtf.formatToParts(count, unit);\n } else {\n return [];\n }\n }\n}\n\nconst fallbackWeekSettings = {\n firstDay: 1,\n minimalDays: 4,\n weekend: [6, 7],\n};\n\n/**\n * @private\n */\n\nexport default class Locale {\n static fromOpts(opts) {\n return Locale.create(\n opts.locale,\n opts.numberingSystem,\n opts.outputCalendar,\n opts.weekSettings,\n opts.defaultToEN\n );\n }\n\n static create(locale, numberingSystem, outputCalendar, weekSettings, defaultToEN = false) {\n const specifiedLocale = locale || Settings.defaultLocale;\n // the system locale is useful for human-readable strings but annoying for parsing/formatting known formats\n const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n const weekSettingsR = validateWeekSettings(weekSettings) || Settings.defaultWeekSettings;\n return new Locale(localeR, numberingSystemR, outputCalendarR, weekSettingsR, specifiedLocale);\n }\n\n static resetCache() {\n sysLocaleCache = null;\n intlDTCache = {};\n intlNumCache = {};\n intlRelCache = {};\n }\n\n static fromObject({ locale, numberingSystem, outputCalendar, weekSettings } = {}) {\n return Locale.create(locale, numberingSystem, outputCalendar, weekSettings);\n }\n\n constructor(locale, numbering, outputCalendar, weekSettings, specifiedLocale) {\n const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n\n this.locale = parsedLocale;\n this.numberingSystem = numbering || parsedNumberingSystem || null;\n this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n this.weekSettings = weekSettings;\n this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n\n this.weekdaysCache = { format: {}, standalone: {} };\n this.monthsCache = { format: {}, standalone: {} };\n this.meridiemCache = null;\n this.eraCache = {};\n\n this.specifiedLocale = specifiedLocale;\n this.fastNumbersCached = null;\n }\n\n get fastNumbers() {\n if (this.fastNumbersCached == null) {\n this.fastNumbersCached = supportsFastNumbers(this);\n }\n\n return this.fastNumbersCached;\n }\n\n listingMode() {\n const isActuallyEn = this.isEnglish();\n const hasNoWeirdness =\n (this.numberingSystem === null || this.numberingSystem === \"latn\") &&\n (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n }\n\n clone(alts) {\n if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n return this;\n } else {\n return Locale.create(\n alts.locale || this.specifiedLocale,\n alts.numberingSystem || this.numberingSystem,\n alts.outputCalendar || this.outputCalendar,\n validateWeekSettings(alts.weekSettings) || this.weekSettings,\n alts.defaultToEN || false\n );\n }\n }\n\n redefaultToEN(alts = {}) {\n return this.clone({ ...alts, defaultToEN: true });\n }\n\n redefaultToSystem(alts = {}) {\n return this.clone({ ...alts, defaultToEN: false });\n }\n\n months(length, format = false) {\n return listStuff(this, length, English.months, () => {\n const intl = format ? { month: length, day: \"numeric\" } : { month: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.monthsCache[formatStr][length]) {\n this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, \"month\"));\n }\n return this.monthsCache[formatStr][length];\n });\n }\n\n weekdays(length, format = false) {\n return listStuff(this, length, English.weekdays, () => {\n const intl = format\n ? { weekday: length, year: \"numeric\", month: \"long\", day: \"numeric\" }\n : { weekday: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.weekdaysCache[formatStr][length]) {\n this.weekdaysCache[formatStr][length] = mapWeekdays((dt) =>\n this.extract(dt, intl, \"weekday\")\n );\n }\n return this.weekdaysCache[formatStr][length];\n });\n }\n\n meridiems() {\n return listStuff(\n this,\n undefined,\n () => English.meridiems,\n () => {\n // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n if (!this.meridiemCache) {\n const intl = { hour: \"numeric\", hourCycle: \"h12\" };\n this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(\n (dt) => this.extract(dt, intl, \"dayperiod\")\n );\n }\n\n return this.meridiemCache;\n }\n );\n }\n\n eras(length) {\n return listStuff(this, length, English.eras, () => {\n const intl = { era: length };\n\n // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n // to definitely enumerate them.\n if (!this.eraCache[length]) {\n this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) =>\n this.extract(dt, intl, \"era\")\n );\n }\n\n return this.eraCache[length];\n });\n }\n\n extract(dt, intlOpts, field) {\n const df = this.dtFormatter(dt, intlOpts),\n results = df.formatToParts(),\n matching = results.find((m) => m.type.toLowerCase() === field);\n return matching ? matching.value : null;\n }\n\n numberFormatter(opts = {}) {\n // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n // (in contrast, the rest of the condition is used heavily)\n return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n }\n\n dtFormatter(dt, intlOpts = {}) {\n return new PolyDateFormatter(dt, this.intl, intlOpts);\n }\n\n relFormatter(opts = {}) {\n return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n }\n\n listFormatter(opts = {}) {\n return getCachedLF(this.intl, opts);\n }\n\n isEnglish() {\n return (\n this.locale === \"en\" ||\n this.locale.toLowerCase() === \"en-us\" ||\n new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\")\n );\n }\n\n getWeekSettings() {\n if (this.weekSettings) {\n return this.weekSettings;\n } else if (!hasLocaleWeekInfo()) {\n return fallbackWeekSettings;\n } else {\n return getCachedWeekInfo(this.locale);\n }\n }\n\n getStartOfWeek() {\n return this.getWeekSettings().firstDay;\n }\n\n getMinDaysInFirstWeek() {\n return this.getWeekSettings().minimalDays;\n }\n\n getWeekendDays() {\n return this.getWeekSettings().weekend;\n }\n\n equals(other) {\n return (\n this.locale === other.locale &&\n this.numberingSystem === other.numberingSystem &&\n this.outputCalendar === other.outputCalendar\n );\n }\n\n toString() {\n return `Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`;\n }\n}\n","import * as Formats from \"./formats.js\";\nimport { pick } from \"./util.js\";\n\nfunction stringify(obj) {\n return JSON.stringify(obj, Object.keys(obj).sort());\n}\n\n/**\n * @private\n */\n\nexport const monthsLong = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nexport const monthsShort = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nexport const monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nexport function months(length) {\n switch (length) {\n case \"narrow\":\n return [...monthsNarrow];\n case \"short\":\n return [...monthsShort];\n case \"long\":\n return [...monthsLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n case \"2-digit\":\n return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n default:\n return null;\n }\n}\n\nexport const weekdaysLong = [\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n \"Sunday\",\n];\n\nexport const weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nexport const weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nexport function weekdays(length) {\n switch (length) {\n case \"narrow\":\n return [...weekdaysNarrow];\n case \"short\":\n return [...weekdaysShort];\n case \"long\":\n return [...weekdaysLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n default:\n return null;\n }\n}\n\nexport const meridiems = [\"AM\", \"PM\"];\n\nexport const erasLong = [\"Before Christ\", \"Anno Domini\"];\n\nexport const erasShort = [\"BC\", \"AD\"];\n\nexport const erasNarrow = [\"B\", \"A\"];\n\nexport function eras(length) {\n switch (length) {\n case \"narrow\":\n return [...erasNarrow];\n case \"short\":\n return [...erasShort];\n case \"long\":\n return [...erasLong];\n default:\n return null;\n }\n}\n\nexport function meridiemForDateTime(dt) {\n return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nexport function weekdayForDateTime(dt, length) {\n return weekdays(length)[dt.weekday - 1];\n}\n\nexport function monthForDateTime(dt, length) {\n return months(length)[dt.month - 1];\n}\n\nexport function eraForDateTime(dt, length) {\n return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nexport function formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n const units = {\n years: [\"year\", \"yr.\"],\n quarters: [\"quarter\", \"qtr.\"],\n months: [\"month\", \"mo.\"],\n weeks: [\"week\", \"wk.\"],\n days: [\"day\", \"day\", \"days\"],\n hours: [\"hour\", \"hr.\"],\n minutes: [\"minute\", \"min.\"],\n seconds: [\"second\", \"sec.\"],\n };\n\n const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n if (numeric === \"auto\" && lastable) {\n const isDay = unit === \"days\";\n switch (count) {\n case 1:\n return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n case -1:\n return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n case 0:\n return isDay ? \"today\" : `this ${units[unit][0]}`;\n default: // fall through\n }\n }\n\n const isInPast = Object.is(count, -0) || count < 0,\n fmtValue = Math.abs(count),\n singular = fmtValue === 1,\n lilUnits = units[unit],\n fmtUnit = narrow\n ? singular\n ? lilUnits[1]\n : lilUnits[2] || lilUnits[1]\n : singular\n ? units[unit][0]\n : unit;\n return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nexport function formatString(knownFormat) {\n // these all have the offsets removed because we don't have access to them\n // without all the intl stuff this is backfilling\n const filtered = pick(knownFormat, [\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n \"hourCycle\",\n ]),\n key = stringify(filtered),\n dateTimeHuge = \"EEEE, LLLL d, yyyy, h:mm a\";\n switch (key) {\n case stringify(Formats.DATE_SHORT):\n return \"M/d/yyyy\";\n case stringify(Formats.DATE_MED):\n return \"LLL d, yyyy\";\n case stringify(Formats.DATE_MED_WITH_WEEKDAY):\n return \"EEE, LLL d, yyyy\";\n case stringify(Formats.DATE_FULL):\n return \"LLLL d, yyyy\";\n case stringify(Formats.DATE_HUGE):\n return \"EEEE, LLLL d, yyyy\";\n case stringify(Formats.TIME_SIMPLE):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_SECONDS):\n return \"h:mm:ss a\";\n case stringify(Formats.TIME_WITH_SHORT_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_LONG_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_24_SIMPLE):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_SECONDS):\n return \"HH:mm:ss\";\n case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_LONG_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.DATETIME_SHORT):\n return \"M/d/yyyy, h:mm a\";\n case stringify(Formats.DATETIME_MED):\n return \"LLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL):\n return \"LLLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_HUGE):\n return dateTimeHuge;\n case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):\n return \"M/d/yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_SECONDS):\n return \"LLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):\n return \"EEE, d LLL yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL_WITH_SECONDS):\n return \"LLLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):\n return \"EEEE, LLLL d, yyyy, h:mm:ss a\";\n default:\n return dateTimeHuge;\n }\n}\n","import { formatOffset, signedOffset } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nexport default class FixedOffsetZone extends Zone {\n /**\n * Get a singleton instance of UTC\n * @return {FixedOffsetZone}\n */\n static get utcInstance() {\n if (singleton === null) {\n singleton = new FixedOffsetZone(0);\n }\n return singleton;\n }\n\n /**\n * Get an instance with a specified offset\n * @param {number} offset - The offset in minutes\n * @return {FixedOffsetZone}\n */\n static instance(offset) {\n return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n }\n\n /**\n * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n * @param {string} s - The offset string to parse\n * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n * @return {FixedOffsetZone}\n */\n static parseSpecifier(s) {\n if (s) {\n const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n if (r) {\n return new FixedOffsetZone(signedOffset(r[1], r[2]));\n }\n }\n return null;\n }\n\n constructor(offset) {\n super();\n /** @private **/\n this.fixed = offset;\n }\n\n /**\n * The type of zone. `fixed` for all instances of `FixedOffsetZone`.\n * @override\n * @type {string}\n */\n get type() {\n return \"fixed\";\n }\n\n /**\n * The name of this zone.\n * All fixed zones' names always start with \"UTC\" (plus optional offset)\n * @override\n * @type {string}\n */\n get name() {\n return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n }\n\n /**\n * The IANA name of this zone, i.e. `Etc/UTC` or `Etc/GMT+/-nn`\n *\n * @override\n * @type {string}\n */\n get ianaName() {\n if (this.fixed === 0) {\n return \"Etc/UTC\";\n } else {\n return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n }\n }\n\n /**\n * Returns the offset's common name at the specified timestamp.\n *\n * For fixed offset zones this equals to the zone name.\n * @override\n */\n offsetName() {\n return this.name;\n }\n\n /**\n * Returns the offset's value as a string\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n return formatOffset(this.fixed, format);\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year:\n * Always returns true for all fixed offset zones.\n * @override\n * @type {boolean}\n */\n get isUniversal() {\n return true;\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n *\n * For fixed offset zones, this is constant and does not depend on a timestamp.\n * @override\n * @return {number}\n */\n offset() {\n return this.fixed;\n }\n\n /**\n * Return whether this Zone is equal to another zone (i.e. also fixed and same offset)\n * @override\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n }\n\n /**\n * Return whether this Zone is valid:\n * All fixed offset zones are valid.\n * @override\n * @type {boolean}\n */\n get isValid() {\n return true;\n }\n}\n","import Zone from \"../zone.js\";\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nexport default class InvalidZone extends Zone {\n constructor(zoneName) {\n super();\n /** @private */\n this.zoneName = zoneName;\n }\n\n /** @override **/\n get type() {\n return \"invalid\";\n }\n\n /** @override **/\n get name() {\n return this.zoneName;\n }\n\n /** @override **/\n get isUniversal() {\n return false;\n }\n\n /** @override **/\n offsetName() {\n return null;\n }\n\n /** @override **/\n formatOffset() {\n return \"\";\n }\n\n /** @override **/\n offset() {\n return NaN;\n }\n\n /** @override **/\n equals() {\n return false;\n }\n\n /** @override **/\n get isValid() {\n return false;\n }\n}\n","/**\n * @private\n */\n\nimport Zone from \"../zone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport InvalidZone from \"../zones/invalidZone.js\";\n\nimport { isUndefined, isString, isNumber } from \"./util.js\";\nimport SystemZone from \"../zones/systemZone.js\";\n\nexport function normalizeZone(input, defaultZone) {\n let offset;\n if (isUndefined(input) || input === null) {\n return defaultZone;\n } else if (input instanceof Zone) {\n return input;\n } else if (isString(input)) {\n const lowered = input.toLowerCase();\n if (lowered === \"default\") return defaultZone;\n else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;\n else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;\n else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n } else if (isNumber(input)) {\n return FixedOffsetZone.instance(input);\n } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n // This is dumb, but the instanceof check above doesn't seem to really work\n // so we're duck checking it\n return input;\n } else {\n return new InvalidZone(input);\n }\n}\n","/*\n This is just a junk drawer, containing anything used across multiple classes.\n Because Luxon is small(ish), this should stay small and we won't worry about splitting\n it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\nimport { InvalidArgumentError } from \"../errors.js\";\nimport Settings from \"../settings.js\";\nimport { dayOfWeek, isoWeekdayToLocal } from \"./conversions.js\";\n\n/**\n * @private\n */\n\n// TYPES\n\nexport function isUndefined(o) {\n return typeof o === \"undefined\";\n}\n\nexport function isNumber(o) {\n return typeof o === \"number\";\n}\n\nexport function isInteger(o) {\n return typeof o === \"number\" && o % 1 === 0;\n}\n\nexport function isString(o) {\n return typeof o === \"string\";\n}\n\nexport function isDate(o) {\n return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nexport function hasRelative() {\n try {\n return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n } catch (e) {\n return false;\n }\n}\n\nexport function hasLocaleWeekInfo() {\n try {\n return (\n typeof Intl !== \"undefined\" &&\n !!Intl.Locale &&\n (\"weekInfo\" in Intl.Locale.prototype || \"getWeekInfo\" in Intl.Locale.prototype)\n );\n } catch (e) {\n return false;\n }\n}\n\n// OBJECTS AND ARRAYS\n\nexport function maybeArray(thing) {\n return Array.isArray(thing) ? thing : [thing];\n}\n\nexport function bestBy(arr, by, compare) {\n if (arr.length === 0) {\n return undefined;\n }\n return arr.reduce((best, next) => {\n const pair = [by(next), next];\n if (!best) {\n return pair;\n } else if (compare(best[0], pair[0]) === best[0]) {\n return best;\n } else {\n return pair;\n }\n }, null)[1];\n}\n\nexport function pick(obj, keys) {\n return keys.reduce((a, k) => {\n a[k] = obj[k];\n return a;\n }, {});\n}\n\nexport function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function validateWeekSettings(settings) {\n if (settings == null) {\n return null;\n } else if (typeof settings !== \"object\") {\n throw new InvalidArgumentError(\"Week settings must be an object\");\n } else {\n if (\n !integerBetween(settings.firstDay, 1, 7) ||\n !integerBetween(settings.minimalDays, 1, 7) ||\n !Array.isArray(settings.weekend) ||\n settings.weekend.some((v) => !integerBetween(v, 1, 7))\n ) {\n throw new InvalidArgumentError(\"Invalid week settings\");\n }\n return {\n firstDay: settings.firstDay,\n minimalDays: settings.minimalDays,\n weekend: Array.from(settings.weekend),\n };\n }\n}\n\n// NUMBERS AND STRINGS\n\nexport function integerBetween(thing, bottom, top) {\n return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nexport function floorMod(x, n) {\n return x - n * Math.floor(x / n);\n}\n\nexport function padStart(input, n = 2) {\n const isNeg = input < 0;\n let padded;\n if (isNeg) {\n padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n } else {\n padded = (\"\" + input).padStart(n, \"0\");\n }\n return padded;\n}\n\nexport function parseInteger(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseInt(string, 10);\n }\n}\n\nexport function parseFloating(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseFloat(string);\n }\n}\n\nexport function parseMillis(fraction) {\n // Return undefined (instead of 0) in these cases, where fraction is not set\n if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n return undefined;\n } else {\n const f = parseFloat(\"0.\" + fraction) * 1000;\n return Math.floor(f);\n }\n}\n\nexport function roundTo(number, digits, towardZero = false) {\n const factor = 10 ** digits,\n rounder = towardZero ? Math.trunc : Math.round;\n return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nexport function isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nexport function daysInMonth(year, month) {\n const modMonth = floorMod(month - 1, 12) + 1,\n modYear = year + (month - modMonth) / 12;\n\n if (modMonth === 2) {\n return isLeapYear(modYear) ? 29 : 28;\n } else {\n return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nexport function objToLocalTS(obj) {\n let d = Date.UTC(\n obj.year,\n obj.month - 1,\n obj.day,\n obj.hour,\n obj.minute,\n obj.second,\n obj.millisecond\n );\n\n // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n if (obj.year < 100 && obj.year >= 0) {\n d = new Date(d);\n // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n // the calculations done by Date.UTC are using year 2000 - which is incorrect\n d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n }\n return +d;\n}\n\n// adapted from moment.js: https://github.com/moment/moment/blob/000ac1800e620f770f4eb31b5ae908f6167b0ab2/src/lib/units/week-calendar-utils.js\nfunction firstWeekOffset(year, minDaysInFirstWeek, startOfWeek) {\n const fwdlw = isoWeekdayToLocal(dayOfWeek(year, 1, minDaysInFirstWeek), startOfWeek);\n return -fwdlw + minDaysInFirstWeek - 1;\n}\n\nexport function weeksInWeekYear(weekYear, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const weekOffset = firstWeekOffset(weekYear, minDaysInFirstWeek, startOfWeek);\n const weekOffsetNext = firstWeekOffset(weekYear + 1, minDaysInFirstWeek, startOfWeek);\n return (daysInYear(weekYear) - weekOffset + weekOffsetNext) / 7;\n}\n\nexport function untruncateYear(year) {\n if (year > 99) {\n return year;\n } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nexport function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n const date = new Date(ts),\n intlOpts = {\n hourCycle: \"h23\",\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n };\n\n if (timeZone) {\n intlOpts.timeZone = timeZone;\n }\n\n const modified = { timeZoneName: offsetFormat, ...intlOpts };\n\n const parsed = new Intl.DateTimeFormat(locale, modified)\n .formatToParts(date)\n .find((m) => m.type.toLowerCase() === \"timezonename\");\n return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nexport function signedOffset(offHourStr, offMinuteStr) {\n let offHour = parseInt(offHourStr, 10);\n\n // don't || this because we want to preserve -0\n if (Number.isNaN(offHour)) {\n offHour = 0;\n }\n\n const offMin = parseInt(offMinuteStr, 10) || 0,\n offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nexport function asNumber(value) {\n const numericValue = Number(value);\n if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue))\n throw new InvalidArgumentError(`Invalid unit value ${value}`);\n return numericValue;\n}\n\nexport function normalizeObject(obj, normalizer) {\n const normalized = {};\n for (const u in obj) {\n if (hasOwnProperty(obj, u)) {\n const v = obj[u];\n if (v === undefined || v === null) continue;\n normalized[normalizer(u)] = asNumber(v);\n }\n }\n return normalized;\n}\n\n/**\n * Returns the offset's value as a string\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\nexport function formatOffset(offset, format) {\n const hours = Math.trunc(Math.abs(offset / 60)),\n minutes = Math.trunc(Math.abs(offset % 60)),\n sign = offset >= 0 ? \"+\" : \"-\";\n\n switch (format) {\n case \"short\":\n return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n case \"narrow\":\n return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n case \"techie\":\n return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n default:\n throw new RangeError(`Value format ${format} is out of range for property format`);\n }\n}\n\nexport function timeObject(obj) {\n return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n","const numberingSystems = {\n arab: \"[\\u0660-\\u0669]\",\n arabext: \"[\\u06F0-\\u06F9]\",\n bali: \"[\\u1B50-\\u1B59]\",\n beng: \"[\\u09E6-\\u09EF]\",\n deva: \"[\\u0966-\\u096F]\",\n fullwide: \"[\\uFF10-\\uFF19]\",\n gujr: \"[\\u0AE6-\\u0AEF]\",\n hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n khmr: \"[\\u17E0-\\u17E9]\",\n knda: \"[\\u0CE6-\\u0CEF]\",\n laoo: \"[\\u0ED0-\\u0ED9]\",\n limb: \"[\\u1946-\\u194F]\",\n mlym: \"[\\u0D66-\\u0D6F]\",\n mong: \"[\\u1810-\\u1819]\",\n mymr: \"[\\u1040-\\u1049]\",\n orya: \"[\\u0B66-\\u0B6F]\",\n tamldec: \"[\\u0BE6-\\u0BEF]\",\n telu: \"[\\u0C66-\\u0C6F]\",\n thai: \"[\\u0E50-\\u0E59]\",\n tibt: \"[\\u0F20-\\u0F29]\",\n latn: \"\\\\d\",\n};\n\nconst numberingSystemsUTF16 = {\n arab: [1632, 1641],\n arabext: [1776, 1785],\n bali: [6992, 7001],\n beng: [2534, 2543],\n deva: [2406, 2415],\n fullwide: [65296, 65303],\n gujr: [2790, 2799],\n khmr: [6112, 6121],\n knda: [3302, 3311],\n laoo: [3792, 3801],\n limb: [6470, 6479],\n mlym: [3430, 3439],\n mong: [6160, 6169],\n mymr: [4160, 4169],\n orya: [2918, 2927],\n tamldec: [3046, 3055],\n telu: [3174, 3183],\n thai: [3664, 3673],\n tibt: [3872, 3881],\n};\n\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nexport function parseDigits(str) {\n let value = parseInt(str, 10);\n if (isNaN(value)) {\n value = \"\";\n for (let i = 0; i < str.length; i++) {\n const code = str.charCodeAt(i);\n\n if (str[i].search(numberingSystems.hanidec) !== -1) {\n value += hanidecChars.indexOf(str[i]);\n } else {\n for (const key in numberingSystemsUTF16) {\n const [min, max] = numberingSystemsUTF16[key];\n if (code >= min && code <= max) {\n value += code - min;\n }\n }\n }\n }\n return parseInt(value, 10);\n } else {\n return value;\n }\n}\n\n// cache of {numberingSystem: {append: regex}}\nlet digitRegexCache = {};\nexport function resetDigitRegexCache() {\n digitRegexCache = {};\n}\n\nexport function digitRegex({ numberingSystem }, append = \"\") {\n const ns = numberingSystem || \"latn\";\n\n if (!digitRegexCache[ns]) {\n digitRegexCache[ns] = {};\n }\n if (!digitRegexCache[ns][append]) {\n digitRegexCache[ns][append] = new RegExp(`${numberingSystems[ns]}${append}`);\n }\n\n return digitRegexCache[ns][append];\n}\n","import SystemZone from \"./zones/systemZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport DateTime from \"./datetime.js\";\n\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport { validateWeekSettings } from \"./impl/util.js\";\nimport { resetDigitRegexCache } from \"./impl/digits.js\";\n\nlet now = () => Date.now(),\n defaultZone = \"system\",\n defaultLocale = null,\n defaultNumberingSystem = null,\n defaultOutputCalendar = null,\n twoDigitCutoffYear = 60,\n throwOnInvalid,\n defaultWeekSettings = null;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nexport default class Settings {\n /**\n * Get the callback for returning the current timestamp.\n * @type {function}\n */\n static get now() {\n return now;\n }\n\n /**\n * Set the callback for returning the current timestamp.\n * The function should return a number, which will be interpreted as an Epoch millisecond count\n * @type {function}\n * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n */\n static set now(n) {\n now = n;\n }\n\n /**\n * Set the default time zone to create DateTimes in. Does not affect existing instances.\n * Use the value \"system\" to reset this value to the system's time zone.\n * @type {string}\n */\n static set defaultZone(zone) {\n defaultZone = zone;\n }\n\n /**\n * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n * The default value is the system's time zone (the one set on the machine that runs this code).\n * @type {Zone}\n */\n static get defaultZone() {\n return normalizeZone(defaultZone, SystemZone.instance);\n }\n\n /**\n * Get the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultLocale() {\n return defaultLocale;\n }\n\n /**\n * Set the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultLocale(locale) {\n defaultLocale = locale;\n }\n\n /**\n * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultNumberingSystem() {\n return defaultNumberingSystem;\n }\n\n /**\n * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultNumberingSystem(numberingSystem) {\n defaultNumberingSystem = numberingSystem;\n }\n\n /**\n * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultOutputCalendar() {\n return defaultOutputCalendar;\n }\n\n /**\n * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultOutputCalendar(outputCalendar) {\n defaultOutputCalendar = outputCalendar;\n }\n\n /**\n * @typedef {Object} WeekSettings\n * @property {number} firstDay\n * @property {number} minimalDays\n * @property {number[]} weekend\n */\n\n /**\n * @return {WeekSettings|null}\n */\n static get defaultWeekSettings() {\n return defaultWeekSettings;\n }\n\n /**\n * Allows overriding the default locale week settings, i.e. the start of the week, the weekend and\n * how many days are required in the first week of a year.\n * Does not affect existing instances.\n *\n * @param {WeekSettings|null} weekSettings\n */\n static set defaultWeekSettings(weekSettings) {\n defaultWeekSettings = validateWeekSettings(weekSettings);\n }\n\n /**\n * Get the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n * @type {number}\n */\n static get twoDigitCutoffYear() {\n return twoDigitCutoffYear;\n }\n\n /**\n * Set the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n * @type {number}\n * @example Settings.twoDigitCutoffYear = 0 // all 'yy' are interpreted as 20th century\n * @example Settings.twoDigitCutoffYear = 99 // all 'yy' are interpreted as 21st century\n * @example Settings.twoDigitCutoffYear = 50 // '49' -> 2049; '50' -> 1950\n * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n */\n static set twoDigitCutoffYear(cutoffYear) {\n twoDigitCutoffYear = cutoffYear % 100;\n }\n\n /**\n * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static get throwOnInvalid() {\n return throwOnInvalid;\n }\n\n /**\n * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static set throwOnInvalid(t) {\n throwOnInvalid = t;\n }\n\n /**\n * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCaches() {\n Locale.resetCache();\n IANAZone.resetCache();\n DateTime.resetCache();\n resetDigitRegexCache();\n }\n}\n","export default class Invalid {\n constructor(reason, explanation) {\n this.reason = reason;\n this.explanation = explanation;\n }\n\n toMessage() {\n if (this.explanation) {\n return `${this.reason}: ${this.explanation}`;\n } else {\n return this.reason;\n }\n }\n}\n","import {\n integerBetween,\n isLeapYear,\n timeObject,\n daysInYear,\n daysInMonth,\n weeksInWeekYear,\n isInteger,\n isUndefined,\n} from \"./util.js\";\nimport Invalid from \"./invalid.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n return new Invalid(\n \"unit out of range\",\n `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`\n );\n}\n\nexport function dayOfWeek(year, month, day) {\n const d = new Date(Date.UTC(year, month - 1, day));\n\n if (year < 100 && year >= 0) {\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n }\n\n const js = d.getUTCDay();\n\n return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n month0 = table.findIndex((i) => i < ordinal),\n day = ordinal - table[month0];\n return { month: month0 + 1, day };\n}\n\nexport function isoWeekdayToLocal(isoWeekday, startOfWeek) {\n return ((isoWeekday - startOfWeek + 7) % 7) + 1;\n}\n\n/**\n * @private\n */\n\nexport function gregorianToWeek(gregObj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const { year, month, day } = gregObj,\n ordinal = computeOrdinal(year, month, day),\n weekday = isoWeekdayToLocal(dayOfWeek(year, month, day), startOfWeek);\n\n let weekNumber = Math.floor((ordinal - weekday + 14 - minDaysInFirstWeek) / 7),\n weekYear;\n\n if (weekNumber < 1) {\n weekYear = year - 1;\n weekNumber = weeksInWeekYear(weekYear, minDaysInFirstWeek, startOfWeek);\n } else if (weekNumber > weeksInWeekYear(year, minDaysInFirstWeek, startOfWeek)) {\n weekYear = year + 1;\n weekNumber = 1;\n } else {\n weekYear = year;\n }\n\n return { weekYear, weekNumber, weekday, ...timeObject(gregObj) };\n}\n\nexport function weekToGregorian(weekData, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const { weekYear, weekNumber, weekday } = weekData,\n weekdayOfJan4 = isoWeekdayToLocal(dayOfWeek(weekYear, 1, minDaysInFirstWeek), startOfWeek),\n yearInDays = daysInYear(weekYear);\n\n let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 7 + minDaysInFirstWeek,\n year;\n\n if (ordinal < 1) {\n year = weekYear - 1;\n ordinal += daysInYear(year);\n } else if (ordinal > yearInDays) {\n year = weekYear + 1;\n ordinal -= daysInYear(weekYear);\n } else {\n year = weekYear;\n }\n\n const { month, day } = uncomputeOrdinal(year, ordinal);\n return { year, month, day, ...timeObject(weekData) };\n}\n\nexport function gregorianToOrdinal(gregData) {\n const { year, month, day } = gregData;\n const ordinal = computeOrdinal(year, month, day);\n return { year, ordinal, ...timeObject(gregData) };\n}\n\nexport function ordinalToGregorian(ordinalData) {\n const { year, ordinal } = ordinalData;\n const { month, day } = uncomputeOrdinal(year, ordinal);\n return { year, month, day, ...timeObject(ordinalData) };\n}\n\n/**\n * Check if local week units like localWeekday are used in obj.\n * If so, validates that they are not mixed with ISO week units and then copies them to the normal week unit properties.\n * Modifies obj in-place!\n * @param obj the object values\n */\nexport function usesLocalWeekValues(obj, loc) {\n const hasLocaleWeekData =\n !isUndefined(obj.localWeekday) ||\n !isUndefined(obj.localWeekNumber) ||\n !isUndefined(obj.localWeekYear);\n if (hasLocaleWeekData) {\n const hasIsoWeekData =\n !isUndefined(obj.weekday) || !isUndefined(obj.weekNumber) || !isUndefined(obj.weekYear);\n\n if (hasIsoWeekData) {\n throw new ConflictingSpecificationError(\n \"Cannot mix locale-based week fields with ISO-based week fields\"\n );\n }\n if (!isUndefined(obj.localWeekday)) obj.weekday = obj.localWeekday;\n if (!isUndefined(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;\n if (!isUndefined(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;\n delete obj.localWeekday;\n delete obj.localWeekNumber;\n delete obj.localWeekYear;\n return {\n minDaysInFirstWeek: loc.getMinDaysInFirstWeek(),\n startOfWeek: loc.getStartOfWeek(),\n };\n } else {\n return { minDaysInFirstWeek: 4, startOfWeek: 1 };\n }\n}\n\nexport function hasInvalidWeekData(obj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const validYear = isInteger(obj.weekYear),\n validWeek = integerBetween(\n obj.weekNumber,\n 1,\n weeksInWeekYear(obj.weekYear, minDaysInFirstWeek, startOfWeek)\n ),\n validWeekday = integerBetween(obj.weekday, 1, 7);\n\n if (!validYear) {\n return unitOutOfRange(\"weekYear\", obj.weekYear);\n } else if (!validWeek) {\n return unitOutOfRange(\"week\", obj.weekNumber);\n } else if (!validWeekday) {\n return unitOutOfRange(\"weekday\", obj.weekday);\n } else return false;\n}\n\nexport function hasInvalidOrdinalData(obj) {\n const validYear = isInteger(obj.year),\n validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validOrdinal) {\n return unitOutOfRange(\"ordinal\", obj.ordinal);\n } else return false;\n}\n\nexport function hasInvalidGregorianData(obj) {\n const validYear = isInteger(obj.year),\n validMonth = integerBetween(obj.month, 1, 12),\n validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validMonth) {\n return unitOutOfRange(\"month\", obj.month);\n } else if (!validDay) {\n return unitOutOfRange(\"day\", obj.day);\n } else return false;\n}\n\nexport function hasInvalidTimeData(obj) {\n const { hour, minute, second, millisecond } = obj;\n const validHour =\n integerBetween(hour, 0, 23) ||\n (hour === 24 && minute === 0 && second === 0 && millisecond === 0),\n validMinute = integerBetween(minute, 0, 59),\n validSecond = integerBetween(second, 0, 59),\n validMillisecond = integerBetween(millisecond, 0, 999);\n\n if (!validHour) {\n return unitOutOfRange(\"hour\", hour);\n } else if (!validMinute) {\n return unitOutOfRange(\"minute\", minute);\n } else if (!validSecond) {\n return unitOutOfRange(\"second\", second);\n } else if (!validMillisecond) {\n return unitOutOfRange(\"millisecond\", millisecond);\n } else return false;\n}\n","import * as English from \"./english.js\";\nimport * as Formats from \"./formats.js\";\nimport { padStart } from \"./util.js\";\n\nfunction stringifyTokens(splits, tokenToString) {\n let s = \"\";\n for (const token of splits) {\n if (token.literal) {\n s += token.val;\n } else {\n s += tokenToString(token.val);\n }\n }\n return s;\n}\n\nconst macroTokenToFormatOpts = {\n D: Formats.DATE_SHORT,\n DD: Formats.DATE_MED,\n DDD: Formats.DATE_FULL,\n DDDD: Formats.DATE_HUGE,\n t: Formats.TIME_SIMPLE,\n tt: Formats.TIME_WITH_SECONDS,\n ttt: Formats.TIME_WITH_SHORT_OFFSET,\n tttt: Formats.TIME_WITH_LONG_OFFSET,\n T: Formats.TIME_24_SIMPLE,\n TT: Formats.TIME_24_WITH_SECONDS,\n TTT: Formats.TIME_24_WITH_SHORT_OFFSET,\n TTTT: Formats.TIME_24_WITH_LONG_OFFSET,\n f: Formats.DATETIME_SHORT,\n ff: Formats.DATETIME_MED,\n fff: Formats.DATETIME_FULL,\n ffff: Formats.DATETIME_HUGE,\n F: Formats.DATETIME_SHORT_WITH_SECONDS,\n FF: Formats.DATETIME_MED_WITH_SECONDS,\n FFF: Formats.DATETIME_FULL_WITH_SECONDS,\n FFFF: Formats.DATETIME_HUGE_WITH_SECONDS,\n};\n\n/**\n * @private\n */\n\nexport default class Formatter {\n static create(locale, opts = {}) {\n return new Formatter(locale, opts);\n }\n\n static parseFormat(fmt) {\n // white-space is always considered a literal in user-provided formats\n // the \" \" token has a special meaning (see unitForToken)\n\n let current = null,\n currentFull = \"\",\n bracketed = false;\n const splits = [];\n for (let i = 0; i < fmt.length; i++) {\n const c = fmt.charAt(i);\n if (c === \"'\") {\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n }\n current = null;\n currentFull = \"\";\n bracketed = !bracketed;\n } else if (bracketed) {\n currentFull += c;\n } else if (c === current) {\n currentFull += c;\n } else {\n if (currentFull.length > 0) {\n splits.push({ literal: /^\\s+$/.test(currentFull), val: currentFull });\n }\n currentFull = c;\n current = c;\n }\n }\n\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n }\n\n return splits;\n }\n\n static macroTokenToFormatOpts(token) {\n return macroTokenToFormatOpts[token];\n }\n\n constructor(locale, formatOpts) {\n this.opts = formatOpts;\n this.loc = locale;\n this.systemLoc = null;\n }\n\n formatWithSystemDefault(dt, opts) {\n if (this.systemLoc === null) {\n this.systemLoc = this.loc.redefaultToSystem();\n }\n const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts });\n return df.format();\n }\n\n dtFormatter(dt, opts = {}) {\n return this.loc.dtFormatter(dt, { ...this.opts, ...opts });\n }\n\n formatDateTime(dt, opts) {\n return this.dtFormatter(dt, opts).format();\n }\n\n formatDateTimeParts(dt, opts) {\n return this.dtFormatter(dt, opts).formatToParts();\n }\n\n formatInterval(interval, opts) {\n const df = this.dtFormatter(interval.start, opts);\n return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n }\n\n resolvedOptions(dt, opts) {\n return this.dtFormatter(dt, opts).resolvedOptions();\n }\n\n num(n, p = 0) {\n // we get some perf out of doing this here, annoyingly\n if (this.opts.forceSimple) {\n return padStart(n, p);\n }\n\n const opts = { ...this.opts };\n\n if (p > 0) {\n opts.padTo = p;\n }\n\n return this.loc.numberFormatter(opts).format(n);\n }\n\n formatDateTimeFromString(dt, fmt) {\n const knownEnglish = this.loc.listingMode() === \"en\",\n useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n string = (opts, extract) => this.loc.extract(dt, opts, extract),\n formatOffset = (opts) => {\n if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n return \"Z\";\n }\n\n return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n },\n meridiem = () =>\n knownEnglish\n ? English.meridiemForDateTime(dt)\n : string({ hour: \"numeric\", hourCycle: \"h12\" }, \"dayperiod\"),\n month = (length, standalone) =>\n knownEnglish\n ? English.monthForDateTime(dt, length)\n : string(standalone ? { month: length } : { month: length, day: \"numeric\" }, \"month\"),\n weekday = (length, standalone) =>\n knownEnglish\n ? English.weekdayForDateTime(dt, length)\n : string(\n standalone ? { weekday: length } : { weekday: length, month: \"long\", day: \"numeric\" },\n \"weekday\"\n ),\n maybeMacro = (token) => {\n const formatOpts = Formatter.macroTokenToFormatOpts(token);\n if (formatOpts) {\n return this.formatWithSystemDefault(dt, formatOpts);\n } else {\n return token;\n }\n },\n era = (length) =>\n knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, \"era\"),\n tokenToString = (token) => {\n // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n switch (token) {\n // ms\n case \"S\":\n return this.num(dt.millisecond);\n case \"u\":\n // falls through\n case \"SSS\":\n return this.num(dt.millisecond, 3);\n // seconds\n case \"s\":\n return this.num(dt.second);\n case \"ss\":\n return this.num(dt.second, 2);\n // fractional seconds\n case \"uu\":\n return this.num(Math.floor(dt.millisecond / 10), 2);\n case \"uuu\":\n return this.num(Math.floor(dt.millisecond / 100));\n // minutes\n case \"m\":\n return this.num(dt.minute);\n case \"mm\":\n return this.num(dt.minute, 2);\n // hours\n case \"h\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n case \"hh\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n case \"H\":\n return this.num(dt.hour);\n case \"HH\":\n return this.num(dt.hour, 2);\n // offset\n case \"Z\":\n // like +6\n return formatOffset({ format: \"narrow\", allowZ: this.opts.allowZ });\n case \"ZZ\":\n // like +06:00\n return formatOffset({ format: \"short\", allowZ: this.opts.allowZ });\n case \"ZZZ\":\n // like +0600\n return formatOffset({ format: \"techie\", allowZ: this.opts.allowZ });\n case \"ZZZZ\":\n // like EST\n return dt.zone.offsetName(dt.ts, { format: \"short\", locale: this.loc.locale });\n case \"ZZZZZ\":\n // like Eastern Standard Time\n return dt.zone.offsetName(dt.ts, { format: \"long\", locale: this.loc.locale });\n // zone\n case \"z\":\n // like America/New_York\n return dt.zoneName;\n // meridiems\n case \"a\":\n return meridiem();\n // dates\n case \"d\":\n return useDateTimeFormatter ? string({ day: \"numeric\" }, \"day\") : this.num(dt.day);\n case \"dd\":\n return useDateTimeFormatter ? string({ day: \"2-digit\" }, \"day\") : this.num(dt.day, 2);\n // weekdays - standalone\n case \"c\":\n // like 1\n return this.num(dt.weekday);\n case \"ccc\":\n // like 'Tues'\n return weekday(\"short\", true);\n case \"cccc\":\n // like 'Tuesday'\n return weekday(\"long\", true);\n case \"ccccc\":\n // like 'T'\n return weekday(\"narrow\", true);\n // weekdays - format\n case \"E\":\n // like 1\n return this.num(dt.weekday);\n case \"EEE\":\n // like 'Tues'\n return weekday(\"short\", false);\n case \"EEEE\":\n // like 'Tuesday'\n return weekday(\"long\", false);\n case \"EEEEE\":\n // like 'T'\n return weekday(\"narrow\", false);\n // months - standalone\n case \"L\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\", day: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"LL\":\n // like 01, doesn't seem to work\n return useDateTimeFormatter\n ? string({ month: \"2-digit\", day: \"numeric\" }, \"month\")\n : this.num(dt.month, 2);\n case \"LLL\":\n // like Jan\n return month(\"short\", true);\n case \"LLLL\":\n // like January\n return month(\"long\", true);\n case \"LLLLL\":\n // like J\n return month(\"narrow\", true);\n // months - format\n case \"M\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"MM\":\n // like 01\n return useDateTimeFormatter\n ? string({ month: \"2-digit\" }, \"month\")\n : this.num(dt.month, 2);\n case \"MMM\":\n // like Jan\n return month(\"short\", false);\n case \"MMMM\":\n // like January\n return month(\"long\", false);\n case \"MMMMM\":\n // like J\n return month(\"narrow\", false);\n // years\n case \"y\":\n // like 2014\n return useDateTimeFormatter ? string({ year: \"numeric\" }, \"year\") : this.num(dt.year);\n case \"yy\":\n // like 14\n return useDateTimeFormatter\n ? string({ year: \"2-digit\" }, \"year\")\n : this.num(dt.year.toString().slice(-2), 2);\n case \"yyyy\":\n // like 0012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 4);\n case \"yyyyyy\":\n // like 000012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 6);\n // eras\n case \"G\":\n // like AD\n return era(\"short\");\n case \"GG\":\n // like Anno Domini\n return era(\"long\");\n case \"GGGGG\":\n return era(\"narrow\");\n case \"kk\":\n return this.num(dt.weekYear.toString().slice(-2), 2);\n case \"kkkk\":\n return this.num(dt.weekYear, 4);\n case \"W\":\n return this.num(dt.weekNumber);\n case \"WW\":\n return this.num(dt.weekNumber, 2);\n case \"n\":\n return this.num(dt.localWeekNumber);\n case \"nn\":\n return this.num(dt.localWeekNumber, 2);\n case \"ii\":\n return this.num(dt.localWeekYear.toString().slice(-2), 2);\n case \"iiii\":\n return this.num(dt.localWeekYear, 4);\n case \"o\":\n return this.num(dt.ordinal);\n case \"ooo\":\n return this.num(dt.ordinal, 3);\n case \"q\":\n // like 1\n return this.num(dt.quarter);\n case \"qq\":\n // like 01\n return this.num(dt.quarter, 2);\n case \"X\":\n return this.num(Math.floor(dt.ts / 1000));\n case \"x\":\n return this.num(dt.ts);\n default:\n return maybeMacro(token);\n }\n };\n\n return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n }\n\n formatDurationFromString(dur, fmt) {\n const tokenToField = (token) => {\n switch (token[0]) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"w\":\n return \"week\";\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n default:\n return null;\n }\n },\n tokenToString = (lildur) => (token) => {\n const mapped = tokenToField(token);\n if (mapped) {\n return this.num(lildur.get(mapped), token.length);\n } else {\n return token;\n }\n },\n tokens = Formatter.parseFormat(fmt),\n realTokens = tokens.reduce(\n (found, { literal, val }) => (literal ? found : found.concat(val)),\n []\n ),\n collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t));\n return stringifyTokens(tokens, tokenToString(collapsed));\n }\n}\n","import {\n untruncateYear,\n signedOffset,\n parseInteger,\n parseMillis,\n isUndefined,\n parseFloating,\n} from \"./util.js\";\nimport * as English from \"./english.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\n\nfunction combineRegexes(...regexes) {\n const full = regexes.reduce((f, r) => f + r.source, \"\");\n return RegExp(`^${full}$`);\n}\n\nfunction combineExtractors(...extractors) {\n return (m) =>\n extractors\n .reduce(\n ([mergedVals, mergedZone, cursor], ex) => {\n const [val, zone, next] = ex(m, cursor);\n return [{ ...mergedVals, ...val }, zone || mergedZone, next];\n },\n [{}, null, 1]\n )\n .slice(0, 2);\n}\n\nfunction parse(s, ...patterns) {\n if (s == null) {\n return [null, null];\n }\n\n for (const [regex, extractor] of patterns) {\n const m = regex.exec(s);\n if (m) {\n return extractor(m);\n }\n }\n return [null, null];\n}\n\nfunction simpleParse(...keys) {\n return (match, cursor) => {\n const ret = {};\n let i;\n\n for (i = 0; i < keys.length; i++) {\n ret[keys[i]] = parseInteger(match[cursor + i]);\n }\n return [ret, null, cursor + i];\n };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(\n `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`\n);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\n\nfunction int(match, pos, fallback) {\n const m = match[pos];\n return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n const item = {\n year: int(match, cursor),\n month: int(match, cursor + 1, 1),\n day: int(match, cursor + 2, 1),\n };\n\n return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n const item = {\n hours: int(match, cursor, 0),\n minutes: int(match, cursor + 1, 0),\n seconds: int(match, cursor + 2, 0),\n milliseconds: parseMillis(match[cursor + 3]),\n };\n\n return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n const local = !match[cursor] && !match[cursor + 1],\n fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n zone = local ? null : FixedOffsetZone.instance(fullOffset);\n return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration =\n /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =\n match;\n\n const hasNegativePrefix = s[0] === \"-\";\n const negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n const maybeNegate = (num, force = false) =>\n num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;\n\n return [\n {\n years: maybeNegate(parseFloating(yearStr)),\n months: maybeNegate(parseFloating(monthStr)),\n weeks: maybeNegate(parseFloating(weekStr)),\n days: maybeNegate(parseFloating(dayStr)),\n hours: maybeNegate(parseFloating(hourStr)),\n minutes: maybeNegate(parseFloating(minuteStr)),\n seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds),\n },\n ];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n};\n\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n const result = {\n year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n month: English.monthsShort.indexOf(monthStr) + 1,\n day: parseInteger(dayStr),\n hour: parseInteger(hourStr),\n minute: parseInteger(minuteStr),\n };\n\n if (secondStr) result.second = parseInteger(secondStr);\n if (weekdayStr) {\n result.weekday =\n weekdayStr.length > 3\n ? English.weekdaysLong.indexOf(weekdayStr) + 1\n : English.weekdaysShort.indexOf(weekdayStr) + 1;\n }\n\n return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n const [\n ,\n weekdayStr,\n dayStr,\n monthStr,\n yearStr,\n hourStr,\n minuteStr,\n secondStr,\n obsOffset,\n milOffset,\n offHourStr,\n offMinuteStr,\n ] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n\n let offset;\n if (obsOffset) {\n offset = obsOffsets[obsOffset];\n } else if (milOffset) {\n offset = 0;\n } else {\n offset = signedOffset(offHourStr, offMinuteStr);\n }\n\n return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, \" \")\n .replace(/(\\s\\s+)/g, \" \")\n .trim();\n}\n\n// http date\n\nconst rfc1123 =\n /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n rfc850 =\n /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n ascii =\n /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\n\nconst extractISOYmdTimeAndOffset = combineExtractors(\n extractISOYmd,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOWeekTimeAndOffset = combineExtractors(\n extractISOWeekData,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOOrdinalDateAndTime = combineExtractors(\n extractISOOrdinalData,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOTimeAndOffset = combineExtractors(\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\n\n/*\n * @private\n */\n\nexport function parseISODate(s) {\n return parse(\n s,\n [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],\n [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],\n [isoTimeCombinedRegex, extractISOTimeAndOffset]\n );\n}\n\nexport function parseRFC2822Date(s) {\n return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nexport function parseHTTPDate(s) {\n return parse(\n s,\n [rfc1123, extractRFC1123Or850],\n [rfc850, extractRFC1123Or850],\n [ascii, extractASCII]\n );\n}\n\nexport function parseISODuration(s) {\n return parse(s, [isoDuration, extractISODuration]);\n}\n\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\n\nexport function parseISOTimeOnly(s) {\n return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\n\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\n\nexport function parseSQL(s) {\n return parse(\n s,\n [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]\n );\n}\n","import { InvalidArgumentError, InvalidDurationError, InvalidUnitError } from \"./errors.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Locale from \"./impl/locale.js\";\nimport { parseISODuration, parseISOTimeOnly } from \"./impl/regexParser.js\";\nimport {\n asNumber,\n hasOwnProperty,\n isNumber,\n isUndefined,\n normalizeObject,\n roundTo,\n} from \"./impl/util.js\";\nimport Settings from \"./settings.js\";\nimport DateTime from \"./datetime.js\";\n\nconst INVALID = \"Invalid Duration\";\n\n// unit conversion constants\nexport const lowOrderMatrix = {\n weeks: {\n days: 7,\n hours: 7 * 24,\n minutes: 7 * 24 * 60,\n seconds: 7 * 24 * 60 * 60,\n milliseconds: 7 * 24 * 60 * 60 * 1000,\n },\n days: {\n hours: 24,\n minutes: 24 * 60,\n seconds: 24 * 60 * 60,\n milliseconds: 24 * 60 * 60 * 1000,\n },\n hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },\n minutes: { seconds: 60, milliseconds: 60 * 1000 },\n seconds: { milliseconds: 1000 },\n },\n casualMatrix = {\n years: {\n quarters: 4,\n months: 12,\n weeks: 52,\n days: 365,\n hours: 365 * 24,\n minutes: 365 * 24 * 60,\n seconds: 365 * 24 * 60 * 60,\n milliseconds: 365 * 24 * 60 * 60 * 1000,\n },\n quarters: {\n months: 3,\n weeks: 13,\n days: 91,\n hours: 91 * 24,\n minutes: 91 * 24 * 60,\n seconds: 91 * 24 * 60 * 60,\n milliseconds: 91 * 24 * 60 * 60 * 1000,\n },\n months: {\n weeks: 4,\n days: 30,\n hours: 30 * 24,\n minutes: 30 * 24 * 60,\n seconds: 30 * 24 * 60 * 60,\n milliseconds: 30 * 24 * 60 * 60 * 1000,\n },\n\n ...lowOrderMatrix,\n },\n daysInYearAccurate = 146097.0 / 400,\n daysInMonthAccurate = 146097.0 / 4800,\n accurateMatrix = {\n years: {\n quarters: 4,\n months: 12,\n weeks: daysInYearAccurate / 7,\n days: daysInYearAccurate,\n hours: daysInYearAccurate * 24,\n minutes: daysInYearAccurate * 24 * 60,\n seconds: daysInYearAccurate * 24 * 60 * 60,\n milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000,\n },\n quarters: {\n months: 3,\n weeks: daysInYearAccurate / 28,\n days: daysInYearAccurate / 4,\n hours: (daysInYearAccurate * 24) / 4,\n minutes: (daysInYearAccurate * 24 * 60) / 4,\n seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,\n milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4,\n },\n months: {\n weeks: daysInMonthAccurate / 7,\n days: daysInMonthAccurate,\n hours: daysInMonthAccurate * 24,\n minutes: daysInMonthAccurate * 24 * 60,\n seconds: daysInMonthAccurate * 24 * 60 * 60,\n milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000,\n },\n ...lowOrderMatrix,\n };\n\n// units ordered by size\nconst orderedUnits = [\n \"years\",\n \"quarters\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\",\n \"milliseconds\",\n];\n\nconst reverseUnits = orderedUnits.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone(dur, alts, clear = false) {\n // deep merge for vals\n const conf = {\n values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) },\n loc: dur.loc.clone(alts.loc),\n conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n matrix: alts.matrix || dur.matrix,\n };\n return new Duration(conf);\n}\n\nfunction durationToMillis(matrix, vals) {\n let sum = vals.milliseconds ?? 0;\n for (const unit of reverseUnits.slice(1)) {\n if (vals[unit]) {\n sum += vals[unit] * matrix[unit][\"milliseconds\"];\n }\n }\n return sum;\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n // the logic below assumes the overall value of the duration is positive\n // if this is not the case, factor is used to make it so\n const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;\n\n orderedUnits.reduceRight((previous, current) => {\n if (!isUndefined(vals[current])) {\n if (previous) {\n const previousVal = vals[previous] * factor;\n const conv = matrix[current][previous];\n\n // if (previousVal < 0):\n // lower order unit is negative (e.g. { years: 2, days: -2 })\n // normalize this by reducing the higher order unit by the appropriate amount\n // and increasing the lower order unit\n // this can never make the higher order unit negative, because this function only operates\n // on positive durations, so the amount of time represented by the lower order unit cannot\n // be larger than the higher order unit\n // else:\n // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })\n // in this case we attempt to convert as much as possible from the lower order unit into\n // the higher order one\n //\n // Math.floor takes care of both of these cases, rounding away from 0\n // if previousVal < 0 it makes the absolute value larger\n // if previousVal >= it makes the absolute value smaller\n const rollUp = Math.floor(previousVal / conv);\n vals[current] += rollUp * factor;\n vals[previous] -= rollUp * conv * factor;\n }\n return current;\n } else {\n return previous;\n }\n }, null);\n\n // try to convert any decimals into smaller units if possible\n // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }\n orderedUnits.reduce((previous, current) => {\n if (!isUndefined(vals[current])) {\n if (previous) {\n const fraction = vals[previous] % 1;\n vals[previous] -= fraction;\n vals[current] += fraction * matrix[previous][current];\n }\n return current;\n } else {\n return previous;\n }\n }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n const newVals = {};\n for (const [key, value] of Object.entries(vals)) {\n if (value !== 0) {\n newVals[key] = value;\n }\n }\n return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nexport default class Duration {\n /**\n * @private\n */\n constructor(config) {\n const accurate = config.conversionAccuracy === \"longterm\" || false;\n let matrix = accurate ? accurateMatrix : casualMatrix;\n\n if (config.matrix) {\n matrix = config.matrix;\n }\n\n /**\n * @access private\n */\n this.values = config.values;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.matrix = matrix;\n /**\n * @access private\n */\n this.isLuxonDuration = true;\n }\n\n /**\n * Create Duration from a number of milliseconds.\n * @param {number} count of milliseconds\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n static fromMillis(count, opts) {\n return Duration.fromObject({ milliseconds: count }, opts);\n }\n\n /**\n * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n * If this object is empty then a zero milliseconds duration is returned.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.years\n * @param {number} obj.quarters\n * @param {number} obj.months\n * @param {number} obj.weeks\n * @param {number} obj.days\n * @param {number} obj.hours\n * @param {number} obj.minutes\n * @param {number} obj.seconds\n * @param {number} obj.milliseconds\n * @param {Object} [opts=[]] - options for creating this Duration\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the custom conversion system to use\n * @return {Duration}\n */\n static fromObject(obj, opts = {}) {\n if (obj == null || typeof obj !== \"object\") {\n throw new InvalidArgumentError(\n `Duration.fromObject: argument expected to be an object, got ${\n obj === null ? \"null\" : typeof obj\n }`\n );\n }\n\n return new Duration({\n values: normalizeObject(obj, Duration.normalizeUnit),\n loc: Locale.fromObject(opts),\n conversionAccuracy: opts.conversionAccuracy,\n matrix: opts.matrix,\n });\n }\n\n /**\n * Create a Duration from DurationLike.\n *\n * @param {Object | number | Duration} durationLike\n * One of:\n * - object with keys like 'years' and 'hours'.\n * - number representing milliseconds\n * - Duration instance\n * @return {Duration}\n */\n static fromDurationLike(durationLike) {\n if (isNumber(durationLike)) {\n return Duration.fromMillis(durationLike);\n } else if (Duration.isDuration(durationLike)) {\n return durationLike;\n } else if (typeof durationLike === \"object\") {\n return Duration.fromObject(durationLike);\n } else {\n throw new InvalidArgumentError(\n `Unknown duration argument ${durationLike} of type ${typeof durationLike}`\n );\n }\n }\n\n /**\n * Create a Duration from an ISO 8601 duration string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the preset conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n * @return {Duration}\n */\n static fromISO(text, opts) {\n const [parsed] = parseISODuration(text);\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create a Duration from an ISO 8601 time string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @return {Duration}\n */\n static fromISOTime(text, opts) {\n const [parsed] = parseISOTimeOnly(text);\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create an invalid Duration.\n * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Duration}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDurationError(invalid);\n } else {\n return new Duration({ invalid });\n }\n }\n\n /**\n * @private\n */\n static normalizeUnit(unit) {\n const normalized = {\n year: \"years\",\n years: \"years\",\n quarter: \"quarters\",\n quarters: \"quarters\",\n month: \"months\",\n months: \"months\",\n week: \"weeks\",\n weeks: \"weeks\",\n day: \"days\",\n days: \"days\",\n hour: \"hours\",\n hours: \"hours\",\n minute: \"minutes\",\n minutes: \"minutes\",\n second: \"seconds\",\n seconds: \"seconds\",\n millisecond: \"milliseconds\",\n milliseconds: \"milliseconds\",\n }[unit ? unit.toLowerCase() : unit];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n }\n\n /**\n * Check if an object is a Duration. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDuration(o) {\n return (o && o.isLuxonDuration) || false;\n }\n\n /**\n * Get the locale of a Duration, such 'en-GB'\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n * * `S` for milliseconds\n * * `s` for seconds\n * * `m` for minutes\n * * `h` for hours\n * * `d` for days\n * * `w` for weeks\n * * `M` for months\n * * `y` for years\n * Notes:\n * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n * * Tokens can be escaped by wrapping with single quotes.\n * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n * @param {string} fmt - the format string\n * @param {Object} opts - options\n * @param {boolean} [opts.floor=true] - floor numerical values\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n const fmtOpts = {\n ...opts,\n floor: opts.round !== false && opts.floor !== false,\n };\n return this.isValid\n ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a string representation of a Duration with all units included.\n * To modify its behavior, use `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\n * @param {Object} opts - Formatting options. Accepts the same keys as the options parameter of the native `Intl.NumberFormat` constructor, as well as `listStyle`.\n * @param {string} [opts.listStyle='narrow'] - How to format the merged list. Corresponds to the `style` property of the options parameter of the native `Intl.ListFormat` constructor.\n * @example\n * ```js\n * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n * ```\n */\n toHuman(opts = {}) {\n if (!this.isValid) return INVALID;\n\n const l = orderedUnits\n .map((unit) => {\n const val = this.values[unit];\n if (isUndefined(val)) {\n return null;\n }\n return this.loc\n .numberFormatter({ style: \"unit\", unitDisplay: \"long\", ...opts, unit: unit.slice(0, -1) })\n .format(val);\n })\n .filter((n) => n);\n\n return this.loc\n .listFormatter({ type: \"conjunction\", style: opts.listStyle || \"narrow\", ...opts })\n .format(l);\n }\n\n /**\n * Returns a JavaScript object with this Duration's values.\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n * @return {Object}\n */\n toObject() {\n if (!this.isValid) return {};\n return { ...this.values };\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n * @return {string}\n */\n toISO() {\n // we could use the formatter, but this is an easier way to get the minimum string\n if (!this.isValid) return null;\n\n let s = \"P\";\n if (this.years !== 0) s += this.years + \"Y\";\n if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n if (this.weeks !== 0) s += this.weeks + \"W\";\n if (this.days !== 0) s += this.days + \"D\";\n if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)\n s += \"T\";\n if (this.hours !== 0) s += this.hours + \"H\";\n if (this.minutes !== 0) s += this.minutes + \"M\";\n if (this.seconds !== 0 || this.milliseconds !== 0)\n // this will handle \"floating point madness\" by removing extra decimal places\n // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n if (s === \"P\") s += \"T0S\";\n return s;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n * @return {string}\n */\n toISOTime(opts = {}) {\n if (!this.isValid) return null;\n\n const millis = this.toMillis();\n if (millis < 0 || millis >= 86400000) return null;\n\n opts = {\n suppressMilliseconds: false,\n suppressSeconds: false,\n includePrefix: false,\n format: \"extended\",\n ...opts,\n includeOffset: false,\n };\n\n const dateTime = DateTime.fromMillis(millis, { zone: \"UTC\" });\n return dateTime.toISOTime(opts);\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n * @return {string}\n */\n toString() {\n return this.toISO();\n }\n\n /**\n * Returns a string representation of this Duration appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `Duration { values: ${JSON.stringify(this.values)} }`;\n } else {\n return `Duration { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns an milliseconds value of this Duration.\n * @return {number}\n */\n toMillis() {\n if (!this.isValid) return NaN;\n\n return durationToMillis(this.matrix, this.values);\n }\n\n /**\n * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n plus(duration) {\n if (!this.isValid) return this;\n\n const dur = Duration.fromDurationLike(duration),\n result = {};\n\n for (const k of orderedUnits) {\n if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n result[k] = dur.get(k) + this.get(k);\n }\n }\n\n return clone(this, { values: result }, true);\n }\n\n /**\n * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n minus(duration) {\n if (!this.isValid) return this;\n\n const dur = Duration.fromDurationLike(duration);\n return this.plus(dur.negate());\n }\n\n /**\n * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n * @return {Duration}\n */\n mapUnits(fn) {\n if (!this.isValid) return this;\n const result = {};\n for (const k of Object.keys(this.values)) {\n result[k] = asNumber(fn(this.values[k], k));\n }\n return clone(this, { values: result }, true);\n }\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n * @return {number}\n */\n get(unit) {\n return this[Duration.normalizeUnit(unit)];\n }\n\n /**\n * \"Set\" the values of specified units. Return a newly-constructed Duration.\n * @param {Object} values - a mapping of units to numbers\n * @example dur.set({ years: 2017 })\n * @example dur.set({ hours: 8, minutes: 30 })\n * @return {Duration}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) };\n return clone(this, { values: mixed });\n }\n\n /**\n * \"Set\" the locale and/or numberingSystem. Returns a newly-constructed Duration.\n * @example dur.reconfigure({ locale: 'en-GB' })\n * @return {Duration}\n */\n reconfigure({ locale, numberingSystem, conversionAccuracy, matrix } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem });\n const opts = { loc, matrix, conversionAccuracy };\n return clone(this, opts);\n }\n\n /**\n * Return the length of the duration in the specified unit.\n * @param {string} unit - a unit such as 'minutes' or 'days'\n * @example Duration.fromObject({years: 1}).as('days') //=> 365\n * @example Duration.fromObject({years: 1}).as('months') //=> 12\n * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n * @return {number}\n */\n as(unit) {\n return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n }\n\n /**\n * Reduce this Duration to its canonical representation in its current units.\n * Assuming the overall value of the Duration is positive, this means:\n * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)\n * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise\n * the overall value would be negative, see third example)\n * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)\n *\n * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.\n * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }\n * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }\n * @return {Duration}\n */\n normalize() {\n if (!this.isValid) return this;\n const vals = this.toObject();\n normalizeValues(this.matrix, vals);\n return clone(this, { values: vals }, true);\n }\n\n /**\n * Rescale units to its largest representation\n * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n * @return {Duration}\n */\n rescale() {\n if (!this.isValid) return this;\n const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n return clone(this, { values: vals }, true);\n }\n\n /**\n * Convert this Duration into its representation in a different set of units.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n * @return {Duration}\n */\n shiftTo(...units) {\n if (!this.isValid) return this;\n\n if (units.length === 0) {\n return this;\n }\n\n units = units.map((u) => Duration.normalizeUnit(u));\n\n const built = {},\n accumulated = {},\n vals = this.toObject();\n let lastUnit;\n\n for (const k of orderedUnits) {\n if (units.indexOf(k) >= 0) {\n lastUnit = k;\n\n let own = 0;\n\n // anything we haven't boiled down yet should get boiled to this unit\n for (const ak in accumulated) {\n own += this.matrix[ak][k] * accumulated[ak];\n accumulated[ak] = 0;\n }\n\n // plus anything that's already in this unit\n if (isNumber(vals[k])) {\n own += vals[k];\n }\n\n // only keep the integer part for now in the hopes of putting any decimal part\n // into a smaller unit later\n const i = Math.trunc(own);\n built[k] = i;\n accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n // otherwise, keep it in the wings to boil it later\n } else if (isNumber(vals[k])) {\n accumulated[k] = vals[k];\n }\n }\n\n // anything leftover becomes the decimal for the last unit\n // lastUnit must be defined since units is not empty\n for (const key in accumulated) {\n if (accumulated[key] !== 0) {\n built[lastUnit] +=\n key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n }\n }\n\n normalizeValues(this.matrix, built);\n return clone(this, { values: built }, true);\n }\n\n /**\n * Shift this Duration to all available units.\n * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n * @return {Duration}\n */\n shiftToAll() {\n if (!this.isValid) return this;\n return this.shiftTo(\n \"years\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\",\n \"milliseconds\"\n );\n }\n\n /**\n * Return the negative of this Duration.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n * @return {Duration}\n */\n negate() {\n if (!this.isValid) return this;\n const negated = {};\n for (const k of Object.keys(this.values)) {\n negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n }\n return clone(this, { values: negated }, true);\n }\n\n /**\n * Get the years.\n * @type {number}\n */\n get years() {\n return this.isValid ? this.values.years || 0 : NaN;\n }\n\n /**\n * Get the quarters.\n * @type {number}\n */\n get quarters() {\n return this.isValid ? this.values.quarters || 0 : NaN;\n }\n\n /**\n * Get the months.\n * @type {number}\n */\n get months() {\n return this.isValid ? this.values.months || 0 : NaN;\n }\n\n /**\n * Get the weeks\n * @type {number}\n */\n get weeks() {\n return this.isValid ? this.values.weeks || 0 : NaN;\n }\n\n /**\n * Get the days.\n * @type {number}\n */\n get days() {\n return this.isValid ? this.values.days || 0 : NaN;\n }\n\n /**\n * Get the hours.\n * @type {number}\n */\n get hours() {\n return this.isValid ? this.values.hours || 0 : NaN;\n }\n\n /**\n * Get the minutes.\n * @type {number}\n */\n get minutes() {\n return this.isValid ? this.values.minutes || 0 : NaN;\n }\n\n /**\n * Get the seconds.\n * @return {number}\n */\n get seconds() {\n return this.isValid ? this.values.seconds || 0 : NaN;\n }\n\n /**\n * Get the milliseconds.\n * @return {number}\n */\n get milliseconds() {\n return this.isValid ? this.values.milliseconds || 0 : NaN;\n }\n\n /**\n * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n * on invalid DateTimes or Intervals.\n * @return {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this Duration became invalid, or null if the Duration is valid\n * @return {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Equality check\n * Two Durations are equal iff they have the same units and the same values for each unit.\n * @param {Duration} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n if (!this.loc.equals(other.loc)) {\n return false;\n }\n\n function eq(v1, v2) {\n // Consider 0 and undefined as equal\n if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n return v1 === v2;\n }\n\n for (const u of orderedUnits) {\n if (!eq(this.values[u], other.values[u])) {\n return false;\n }\n }\n return true;\n }\n}\n","import DateTime, { friendlyDateTime } from \"./datetime.js\";\nimport Duration from \"./duration.js\";\nimport Settings from \"./settings.js\";\nimport { InvalidArgumentError, InvalidIntervalError } from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport * as Formats from \"./impl/formats.js\";\n\nconst INVALID = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n if (!start || !start.isValid) {\n return Interval.invalid(\"missing or invalid start\");\n } else if (!end || !end.isValid) {\n return Interval.invalid(\"missing or invalid end\");\n } else if (end < start) {\n return Interval.invalid(\n \"end before start\",\n `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`\n );\n } else {\n return null;\n }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nexport default class Interval {\n /**\n * @private\n */\n constructor(config) {\n /**\n * @access private\n */\n this.s = config.start;\n /**\n * @access private\n */\n this.e = config.end;\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.isLuxonInterval = true;\n }\n\n /**\n * Create an invalid Interval.\n * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Interval}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidIntervalError(invalid);\n } else {\n return new Interval({ invalid });\n }\n }\n\n /**\n * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n * @param {DateTime|Date|Object} start\n * @param {DateTime|Date|Object} end\n * @return {Interval}\n */\n static fromDateTimes(start, end) {\n const builtStart = friendlyDateTime(start),\n builtEnd = friendlyDateTime(end);\n\n const validateError = validateStartEnd(builtStart, builtEnd);\n\n if (validateError == null) {\n return new Interval({\n start: builtStart,\n end: builtEnd,\n });\n } else {\n return validateError;\n }\n }\n\n /**\n * Create an Interval from a start DateTime and a Duration to extend to.\n * @param {DateTime|Date|Object} start\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static after(start, duration) {\n const dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(start);\n return Interval.fromDateTimes(dt, dt.plus(dur));\n }\n\n /**\n * Create an Interval from an end DateTime and a Duration to extend backwards to.\n * @param {DateTime|Date|Object} end\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static before(end, duration) {\n const dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(end);\n return Interval.fromDateTimes(dt.minus(dur), dt);\n }\n\n /**\n * Create an Interval from an ISO 8601 string.\n * Accepts `/`, `/`, and `/` formats.\n * @param {string} text - the ISO string to parse\n * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {Interval}\n */\n static fromISO(text, opts) {\n const [s, e] = (text || \"\").split(\"/\", 2);\n if (s && e) {\n let start, startIsValid;\n try {\n start = DateTime.fromISO(s, opts);\n startIsValid = start.isValid;\n } catch (e) {\n startIsValid = false;\n }\n\n let end, endIsValid;\n try {\n end = DateTime.fromISO(e, opts);\n endIsValid = end.isValid;\n } catch (e) {\n endIsValid = false;\n }\n\n if (startIsValid && endIsValid) {\n return Interval.fromDateTimes(start, end);\n }\n\n if (startIsValid) {\n const dur = Duration.fromISO(e, opts);\n if (dur.isValid) {\n return Interval.after(start, dur);\n }\n } else if (endIsValid) {\n const dur = Duration.fromISO(s, opts);\n if (dur.isValid) {\n return Interval.before(end, dur);\n }\n }\n }\n return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n\n /**\n * Check if an object is an Interval. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isInterval(o) {\n return (o && o.isLuxonInterval) || false;\n }\n\n /**\n * Returns the start of the Interval\n * @type {DateTime}\n */\n get start() {\n return this.isValid ? this.s : null;\n }\n\n /**\n * Returns the end of the Interval\n * @type {DateTime}\n */\n get end() {\n return this.isValid ? this.e : null;\n }\n\n /**\n * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n * @type {boolean}\n */\n get isValid() {\n return this.invalidReason === null;\n }\n\n /**\n * Returns an error code if this Interval is invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Returns the length of the Interval in the specified unit.\n * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n * @return {number}\n */\n length(unit = \"milliseconds\") {\n return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n }\n\n /**\n * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n * @param {string} [unit='milliseconds'] - the unit of time to count.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; this operation will always use the locale of the start DateTime\n * @return {number}\n */\n count(unit = \"milliseconds\", opts) {\n if (!this.isValid) return NaN;\n const start = this.start.startOf(unit, opts);\n let end;\n if (opts?.useLocaleWeeks) {\n end = this.end.reconfigure({ locale: start.locale });\n } else {\n end = this.end;\n }\n end = end.startOf(unit, opts);\n return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n }\n\n /**\n * Returns whether this Interval's start and end are both in the same unit of time\n * @param {string} unit - the unit of time to check sameness on\n * @return {boolean}\n */\n hasSame(unit) {\n return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n }\n\n /**\n * Return whether this Interval has the same start and end DateTimes.\n * @return {boolean}\n */\n isEmpty() {\n return this.s.valueOf() === this.e.valueOf();\n }\n\n /**\n * Return whether this Interval's start is after the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isAfter(dateTime) {\n if (!this.isValid) return false;\n return this.s > dateTime;\n }\n\n /**\n * Return whether this Interval's end is before the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isBefore(dateTime) {\n if (!this.isValid) return false;\n return this.e <= dateTime;\n }\n\n /**\n * Return whether this Interval contains the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n contains(dateTime) {\n if (!this.isValid) return false;\n return this.s <= dateTime && this.e > dateTime;\n }\n\n /**\n * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n * @param {Object} values - the values to set\n * @param {DateTime} values.start - the starting DateTime\n * @param {DateTime} values.end - the ending DateTime\n * @return {Interval}\n */\n set({ start, end } = {}) {\n if (!this.isValid) return this;\n return Interval.fromDateTimes(start || this.s, end || this.e);\n }\n\n /**\n * Split this Interval at each of the specified DateTimes\n * @param {...DateTime} dateTimes - the unit of time to count.\n * @return {Array}\n */\n splitAt(...dateTimes) {\n if (!this.isValid) return [];\n const sorted = dateTimes\n .map(friendlyDateTime)\n .filter((d) => this.contains(d))\n .sort((a, b) => a.toMillis() - b.toMillis()),\n results = [];\n let { s } = this,\n i = 0;\n\n while (s < this.e) {\n const added = sorted[i] || this.e,\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n i += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into smaller Intervals, each of the specified length.\n * Left over time is grouped into a smaller interval\n * @param {Duration|Object|number} duration - The length of each resulting interval.\n * @return {Array}\n */\n splitBy(duration) {\n const dur = Duration.fromDurationLike(duration);\n\n if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n return [];\n }\n\n let { s } = this,\n idx = 1,\n next;\n\n const results = [];\n while (s < this.e) {\n const added = this.start.plus(dur.mapUnits((x) => x * idx));\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n idx += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into the specified number of smaller intervals.\n * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n * @return {Array}\n */\n divideEqually(numberOfParts) {\n if (!this.isValid) return [];\n return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n }\n\n /**\n * Return whether this Interval overlaps with the specified Interval\n * @param {Interval} other\n * @return {boolean}\n */\n overlaps(other) {\n return this.e > other.s && this.s < other.e;\n }\n\n /**\n * Return whether this Interval's end is adjacent to the specified Interval's start.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsStart(other) {\n if (!this.isValid) return false;\n return +this.e === +other.s;\n }\n\n /**\n * Return whether this Interval's start is adjacent to the specified Interval's end.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsEnd(other) {\n if (!this.isValid) return false;\n return +other.e === +this.s;\n }\n\n /**\n * Returns true if this Interval fully contains the specified Interval, specifically if the intersect (of this Interval and the other Interval) is equal to the other Interval; false otherwise.\n * @param {Interval} other\n * @return {boolean}\n */\n engulfs(other) {\n if (!this.isValid) return false;\n return this.s <= other.s && this.e >= other.e;\n }\n\n /**\n * Return whether this Interval has the same start and end as the specified Interval.\n * @param {Interval} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n return this.s.equals(other.s) && this.e.equals(other.e);\n }\n\n /**\n * Return an Interval representing the intersection of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n * @param {Interval} other\n * @return {Interval}\n */\n intersection(other) {\n if (!this.isValid) return this;\n const s = this.s > other.s ? this.s : other.s,\n e = this.e < other.e ? this.e : other.e;\n\n if (s >= e) {\n return null;\n } else {\n return Interval.fromDateTimes(s, e);\n }\n }\n\n /**\n * Return an Interval representing the union of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n * @param {Interval} other\n * @return {Interval}\n */\n union(other) {\n if (!this.isValid) return this;\n const s = this.s < other.s ? this.s : other.s,\n e = this.e > other.e ? this.e : other.e;\n return Interval.fromDateTimes(s, e);\n }\n\n /**\n * Merge an array of Intervals into a equivalent minimal set of Intervals.\n * Combines overlapping and adjacent Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n static merge(intervals) {\n const [found, final] = intervals\n .sort((a, b) => a.s - b.s)\n .reduce(\n ([sofar, current], item) => {\n if (!current) {\n return [sofar, item];\n } else if (current.overlaps(item) || current.abutsStart(item)) {\n return [sofar, current.union(item)];\n } else {\n return [sofar.concat([current]), item];\n }\n },\n [[], null]\n );\n if (final) {\n found.push(final);\n }\n return found;\n }\n\n /**\n * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n static xor(intervals) {\n let start = null,\n currentCount = 0;\n const results = [],\n ends = intervals.map((i) => [\n { time: i.s, type: \"s\" },\n { time: i.e, type: \"e\" },\n ]),\n flattened = Array.prototype.concat(...ends),\n arr = flattened.sort((a, b) => a.time - b.time);\n\n for (const i of arr) {\n currentCount += i.type === \"s\" ? 1 : -1;\n\n if (currentCount === 1) {\n start = i.time;\n } else {\n if (start && +start !== +i.time) {\n results.push(Interval.fromDateTimes(start, i.time));\n }\n\n start = null;\n }\n }\n\n return Interval.merge(results);\n }\n\n /**\n * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n * @param {...Interval} intervals\n * @return {Array}\n */\n difference(...intervals) {\n return Interval.xor([this].concat(intervals))\n .map((i) => this.intersection(i))\n .filter((i) => i && !i.isEmpty());\n }\n\n /**\n * Returns a string representation of this Interval appropriate for debugging.\n * @return {string}\n */\n toString() {\n if (!this.isValid) return INVALID;\n return `[${this.s.toISO()} – ${this.e.toISO()})`;\n }\n\n /**\n * Returns a string representation of this Interval appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;\n } else {\n return `Interval { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns a localized string representing this Interval. Accepts the same options as the\n * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n * is browser-specific, but in general it will return an appropriate representation of the\n * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n * specified.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n * Intl.DateTimeFormat constructor options.\n * @param {Object} opts - Options to override the configuration of the start DateTime.\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n * @return {string}\n */\n toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n return this.isValid\n ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this)\n : INVALID;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Interval.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n toISO(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of date of this Interval.\n * The time components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {string}\n */\n toISODate() {\n if (!this.isValid) return INVALID;\n return `${this.s.toISODate()}/${this.e.toISODate()}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of time of this Interval.\n * The date components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n toISOTime(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this Interval formatted according to the specified format\n * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n * formatting tool.\n * @param {string} dateFormat - The format string. This string formats the start and end time.\n * See {@link DateTime#toFormat} for details.\n * @param {Object} opts - Options.\n * @param {string} [opts.separator = ' – '] - A separator to place between the start and end\n * representations.\n * @return {string}\n */\n toFormat(dateFormat, { separator = \" – \" } = {}) {\n if (!this.isValid) return INVALID;\n return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n }\n\n /**\n * Return a Duration representing the time spanned by this interval.\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n * @return {Duration}\n */\n toDuration(unit, opts) {\n if (!this.isValid) {\n return Duration.invalid(this.invalidReason);\n }\n return this.e.diff(this.s, unit, opts);\n }\n\n /**\n * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n * @param {function} mapFn\n * @return {Interval}\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n */\n mapEndpoints(mapFn) {\n return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n }\n}\n","import DateTime from \"./datetime.js\";\nimport Settings from \"./settings.js\";\nimport Locale from \"./impl/locale.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nimport { hasLocaleWeekInfo, hasRelative } from \"./impl/util.js\";\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nexport default class Info {\n /**\n * Return whether the specified zone contains a DST.\n * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n * @return {boolean}\n */\n static hasDST(zone = Settings.defaultZone) {\n const proto = DateTime.now().setZone(zone).set({ month: 12 });\n\n return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset;\n }\n\n /**\n * Return whether the specified zone is a valid IANA specifier.\n * @param {string} zone - Zone to check\n * @return {boolean}\n */\n static isValidIANAZone(zone) {\n return IANAZone.isValidZone(zone);\n }\n\n /**\n * Converts the input into a {@link Zone} instance.\n *\n * * If `input` is already a Zone instance, it is returned unchanged.\n * * If `input` is a string containing a valid time zone name, a Zone instance\n * with that name is returned.\n * * If `input` is a string that doesn't refer to a known time zone, a Zone\n * instance with {@link Zone#isValid} == false is returned.\n * * If `input is a number, a Zone instance with the specified fixed offset\n * in minutes is returned.\n * * If `input` is `null` or `undefined`, the default zone is returned.\n * @param {string|Zone|number} [input] - the value to be converted\n * @return {Zone}\n */\n static normalizeZone(input) {\n return normalizeZone(input, Settings.defaultZone);\n }\n\n /**\n * Get the weekday on which the week starts according to the given locale.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number} the start of the week, 1 for Monday through 7 for Sunday\n */\n static getStartOfWeek({ locale = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale)).getStartOfWeek();\n }\n\n /**\n * Get the minimum number of days necessary in a week before it is considered part of the next year according\n * to the given locale.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number}\n */\n static getMinimumDaysInFirstWeek({ locale = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale)).getMinDaysInFirstWeek();\n }\n\n /**\n * Get the weekdays, which are considered the weekend according to the given locale\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number[]} an array of weekdays, 1 for Monday through 7 for Sunday\n */\n static getWeekendWeekdays({ locale = null, locObj = null } = {}) {\n // copy the array, because we cache it internally\n return (locObj || Locale.create(locale)).getWeekendDays().slice();\n }\n\n /**\n * Return an array of standalone month names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @example Info.months()[0] //=> 'January'\n * @example Info.months('short')[0] //=> 'Jan'\n * @example Info.months('numeric')[0] //=> '1'\n * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n * @return {Array}\n */\n static months(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n }\n\n /**\n * Return an array of format month names.\n * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n * changes the string.\n * See {@link Info#months}\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @return {Array}\n */\n static monthsFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n }\n\n /**\n * Return an array of standalone week names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @example Info.weekdays()[0] //=> 'Monday'\n * @example Info.weekdays('short')[0] //=> 'Mon'\n * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n * @return {Array}\n */\n static weekdays(length = \"long\", { locale = null, numberingSystem = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n }\n\n /**\n * Return an array of format week names.\n * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n * changes the string.\n * See {@link Info#weekdays}\n * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale=null] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @return {Array}\n */\n static weekdaysFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n }\n\n /**\n * Return an array of meridiems.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n * @return {Array}\n */\n static meridiems({ locale = null } = {}) {\n return Locale.create(locale).meridiems();\n }\n\n /**\n * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.eras() //=> [ 'BC', 'AD' ]\n * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n * @return {Array}\n */\n static eras(length = \"short\", { locale = null } = {}) {\n return Locale.create(locale, null, \"gregory\").eras(length);\n }\n\n /**\n * Return the set of available features in this environment.\n * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n * Keys:\n * * `relative`: whether this environment supports relative time formatting\n * * `localeWeek`: whether this environment supports different weekdays for the start of the week based on the locale\n * @example Info.features() //=> { relative: false, localeWeek: true }\n * @return {Object}\n */\n static features() {\n return { relative: hasRelative(), localeWeek: hasLocaleWeekInfo() };\n }\n}\n","import Duration from \"../duration.js\";\n\nfunction dayDiff(earlier, later) {\n const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf(\"day\").valueOf(),\n ms = utcDayStart(later) - utcDayStart(earlier);\n return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n const differs = [\n [\"years\", (a, b) => b.year - a.year],\n [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4],\n [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12],\n [\n \"weeks\",\n (a, b) => {\n const days = dayDiff(a, b);\n return (days - (days % 7)) / 7;\n },\n ],\n [\"days\", dayDiff],\n ];\n\n const results = {};\n const earlier = cursor;\n let lowestOrder, highWater;\n\n /* This loop tries to diff using larger units first.\n If we overshoot, we backtrack and try the next smaller unit.\n \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n as we use smaller and smaller units.\n highWater keeps track of where we would be if we added one more of the smallest unit,\n this is used later to potentially convert any difference smaller than the smallest higher order unit\n into a fraction of that smallest higher order unit\n */\n for (const [unit, differ] of differs) {\n if (units.indexOf(unit) >= 0) {\n lowestOrder = unit;\n\n results[unit] = differ(cursor, later);\n highWater = earlier.plus(results);\n\n if (highWater > later) {\n // we overshot the end point, backtrack cursor by 1\n results[unit]--;\n cursor = earlier.plus(results);\n\n // if we are still overshooting now, we need to backtrack again\n // this happens in certain situations when diffing times in different zones,\n // because this calculation ignores time zones\n if (cursor > later) {\n // keep the \"overshot by 1\" around as highWater\n highWater = cursor;\n // backtrack cursor by 1\n results[unit]--;\n cursor = earlier.plus(results);\n }\n } else {\n cursor = highWater;\n }\n }\n }\n\n return [cursor, results, highWater, lowestOrder];\n}\n\nexport default function (earlier, later, units, opts) {\n let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n\n const remainingMillis = later - cursor;\n\n const lowerOrderUnits = units.filter(\n (u) => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0\n );\n\n if (lowerOrderUnits.length === 0) {\n if (highWater < later) {\n highWater = cursor.plus({ [lowestOrder]: 1 });\n }\n\n if (highWater !== cursor) {\n results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n }\n }\n\n const duration = Duration.fromObject(results, opts);\n\n if (lowerOrderUnits.length > 0) {\n return Duration.fromMillis(remainingMillis, opts)\n .shiftTo(...lowerOrderUnits)\n .plus(duration);\n } else {\n return duration;\n }\n}\n","import { parseMillis, isUndefined, untruncateYear, signedOffset, hasOwnProperty } from \"./util.js\";\nimport Formatter from \"./formatter.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport DateTime from \"../datetime.js\";\nimport { digitRegex, parseDigits } from \"./digits.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post = (i) => i) {\n return { regex, deser: ([s]) => post(parseDigits(s)) };\n}\n\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n // make dots optional and also make them literal\n // make space and non breakable space characters interchangeable\n return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n return s\n .replace(/\\./g, \"\") // ignore dots that were made optional\n .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n if (strings === null) {\n return null;\n } else {\n return {\n regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n deser: ([s]) =>\n strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex,\n };\n }\n}\n\nfunction offset(regex, groups) {\n return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };\n}\n\nfunction simple(regex) {\n return { regex, deser: ([s]) => s };\n}\n\nfunction escapeToken(value) {\n return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n const one = digitRegex(loc),\n two = digitRegex(loc, \"{2}\"),\n three = digitRegex(loc, \"{3}\"),\n four = digitRegex(loc, \"{4}\"),\n six = digitRegex(loc, \"{6}\"),\n oneOrTwo = digitRegex(loc, \"{1,2}\"),\n oneToThree = digitRegex(loc, \"{1,3}\"),\n oneToSix = digitRegex(loc, \"{1,6}\"),\n oneToNine = digitRegex(loc, \"{1,9}\"),\n twoToFour = digitRegex(loc, \"{2,4}\"),\n fourToSix = digitRegex(loc, \"{4,6}\"),\n literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),\n unitate = (t) => {\n if (token.literal) {\n return literal(t);\n }\n switch (t.val) {\n // era\n case \"G\":\n return oneOf(loc.eras(\"short\"), 0);\n case \"GG\":\n return oneOf(loc.eras(\"long\"), 0);\n // years\n case \"y\":\n return intUnit(oneToSix);\n case \"yy\":\n return intUnit(twoToFour, untruncateYear);\n case \"yyyy\":\n return intUnit(four);\n case \"yyyyy\":\n return intUnit(fourToSix);\n case \"yyyyyy\":\n return intUnit(six);\n // months\n case \"M\":\n return intUnit(oneOrTwo);\n case \"MM\":\n return intUnit(two);\n case \"MMM\":\n return oneOf(loc.months(\"short\", true), 1);\n case \"MMMM\":\n return oneOf(loc.months(\"long\", true), 1);\n case \"L\":\n return intUnit(oneOrTwo);\n case \"LL\":\n return intUnit(two);\n case \"LLL\":\n return oneOf(loc.months(\"short\", false), 1);\n case \"LLLL\":\n return oneOf(loc.months(\"long\", false), 1);\n // dates\n case \"d\":\n return intUnit(oneOrTwo);\n case \"dd\":\n return intUnit(two);\n // ordinals\n case \"o\":\n return intUnit(oneToThree);\n case \"ooo\":\n return intUnit(three);\n // time\n case \"HH\":\n return intUnit(two);\n case \"H\":\n return intUnit(oneOrTwo);\n case \"hh\":\n return intUnit(two);\n case \"h\":\n return intUnit(oneOrTwo);\n case \"mm\":\n return intUnit(two);\n case \"m\":\n return intUnit(oneOrTwo);\n case \"q\":\n return intUnit(oneOrTwo);\n case \"qq\":\n return intUnit(two);\n case \"s\":\n return intUnit(oneOrTwo);\n case \"ss\":\n return intUnit(two);\n case \"S\":\n return intUnit(oneToThree);\n case \"SSS\":\n return intUnit(three);\n case \"u\":\n return simple(oneToNine);\n case \"uu\":\n return simple(oneOrTwo);\n case \"uuu\":\n return intUnit(one);\n // meridiem\n case \"a\":\n return oneOf(loc.meridiems(), 0);\n // weekYear (k)\n case \"kkkk\":\n return intUnit(four);\n case \"kk\":\n return intUnit(twoToFour, untruncateYear);\n // weekNumber (W)\n case \"W\":\n return intUnit(oneOrTwo);\n case \"WW\":\n return intUnit(two);\n // weekdays\n case \"E\":\n case \"c\":\n return intUnit(one);\n case \"EEE\":\n return oneOf(loc.weekdays(\"short\", false), 1);\n case \"EEEE\":\n return oneOf(loc.weekdays(\"long\", false), 1);\n case \"ccc\":\n return oneOf(loc.weekdays(\"short\", true), 1);\n case \"cccc\":\n return oneOf(loc.weekdays(\"long\", true), 1);\n // offset/zone\n case \"Z\":\n case \"ZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n case \"ZZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n // because we don't have any way to figure out what they are\n case \"z\":\n return simple(/[a-z_+-/]{1,256}?/i);\n // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n // in this case we accept any non-newline white-space\n case \" \":\n return simple(/[^\\S\\n\\r]/);\n default:\n return literal(t);\n }\n };\n\n const unit = unitate(token) || {\n invalidReason: MISSING_FTP,\n };\n\n unit.token = token;\n\n return unit;\n}\n\nconst partTypeStyleToTokenVal = {\n year: {\n \"2-digit\": \"yy\",\n numeric: \"yyyyy\",\n },\n month: {\n numeric: \"M\",\n \"2-digit\": \"MM\",\n short: \"MMM\",\n long: \"MMMM\",\n },\n day: {\n numeric: \"d\",\n \"2-digit\": \"dd\",\n },\n weekday: {\n short: \"EEE\",\n long: \"EEEE\",\n },\n dayperiod: \"a\",\n dayPeriod: \"a\",\n hour12: {\n numeric: \"h\",\n \"2-digit\": \"hh\",\n },\n hour24: {\n numeric: \"H\",\n \"2-digit\": \"HH\",\n },\n minute: {\n numeric: \"m\",\n \"2-digit\": \"mm\",\n },\n second: {\n numeric: \"s\",\n \"2-digit\": \"ss\",\n },\n timeZoneName: {\n long: \"ZZZZZ\",\n short: \"ZZZ\",\n },\n};\n\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n const { type, value } = part;\n\n if (type === \"literal\") {\n const isSpace = /^\\s+$/.test(value);\n return {\n literal: !isSpace,\n val: isSpace ? \" \" : value,\n };\n }\n\n const style = formatOpts[type];\n\n // The user might have explicitly specified hour12 or hourCycle\n // if so, respect their decision\n // if not, refer back to the resolvedOpts, which are based on the locale\n let actualType = type;\n if (type === \"hour\") {\n if (formatOpts.hour12 != null) {\n actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n } else if (formatOpts.hourCycle != null) {\n if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n actualType = \"hour12\";\n } else {\n actualType = \"hour24\";\n }\n } else {\n // tokens only differentiate between 24 hours or not,\n // so we do not need to check hourCycle here, which is less supported anyways\n actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n }\n }\n let val = partTypeStyleToTokenVal[actualType];\n if (typeof val === \"object\") {\n val = val[style];\n }\n\n if (val) {\n return {\n literal: false,\n val,\n };\n }\n\n return undefined;\n}\n\nfunction buildRegex(units) {\n const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n return [`^${re}$`, units];\n}\n\nfunction match(input, regex, handlers) {\n const matches = input.match(regex);\n\n if (matches) {\n const all = {};\n let matchIndex = 1;\n for (const i in handlers) {\n if (hasOwnProperty(handlers, i)) {\n const h = handlers[i],\n groups = h.groups ? h.groups + 1 : 1;\n if (!h.literal && h.token) {\n all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n }\n matchIndex += groups;\n }\n }\n return [matches, all];\n } else {\n return [matches, {}];\n }\n}\n\nfunction dateTimeFromMatches(matches) {\n const toField = (token) => {\n switch (token) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n case \"H\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"o\":\n return \"ordinal\";\n case \"L\":\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n case \"E\":\n case \"c\":\n return \"weekday\";\n case \"W\":\n return \"weekNumber\";\n case \"k\":\n return \"weekYear\";\n case \"q\":\n return \"quarter\";\n default:\n return null;\n }\n };\n\n let zone = null;\n let specificOffset;\n if (!isUndefined(matches.z)) {\n zone = IANAZone.create(matches.z);\n }\n\n if (!isUndefined(matches.Z)) {\n if (!zone) {\n zone = new FixedOffsetZone(matches.Z);\n }\n specificOffset = matches.Z;\n }\n\n if (!isUndefined(matches.q)) {\n matches.M = (matches.q - 1) * 3 + 1;\n }\n\n if (!isUndefined(matches.h)) {\n if (matches.h < 12 && matches.a === 1) {\n matches.h += 12;\n } else if (matches.h === 12 && matches.a === 0) {\n matches.h = 0;\n }\n }\n\n if (matches.G === 0 && matches.y) {\n matches.y = -matches.y;\n }\n\n if (!isUndefined(matches.u)) {\n matches.S = parseMillis(matches.u);\n }\n\n const vals = Object.keys(matches).reduce((r, k) => {\n const f = toField(k);\n if (f) {\n r[f] = matches[k];\n }\n\n return r;\n }, {});\n\n return [vals, zone, specificOffset];\n}\n\nlet dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n if (!dummyDateTimeCache) {\n dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n }\n\n return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n if (token.literal) {\n return token;\n }\n\n const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n const tokens = formatOptsToTokens(formatOpts, locale);\n\n if (tokens == null || tokens.includes(undefined)) {\n return token;\n }\n\n return tokens;\n}\n\nexport function expandMacroTokens(tokens, locale) {\n return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nexport class TokenParser {\n constructor(locale, format) {\n this.locale = locale;\n this.format = format;\n this.tokens = expandMacroTokens(Formatter.parseFormat(format), locale);\n this.units = this.tokens.map((t) => unitForToken(t, locale));\n this.disqualifyingUnit = this.units.find((t) => t.invalidReason);\n\n if (!this.disqualifyingUnit) {\n const [regexString, handlers] = buildRegex(this.units);\n this.regex = RegExp(regexString, \"i\");\n this.handlers = handlers;\n }\n }\n\n explainFromTokens(input) {\n if (!this.isValid) {\n return { input, tokens: this.tokens, invalidReason: this.invalidReason };\n } else {\n const [rawMatches, matches] = match(input, this.regex, this.handlers),\n [result, zone, specificOffset] = matches\n ? dateTimeFromMatches(matches)\n : [null, null, undefined];\n if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n throw new ConflictingSpecificationError(\n \"Can't include meridiem when specifying 24-hour format\"\n );\n }\n return {\n input,\n tokens: this.tokens,\n regex: this.regex,\n rawMatches,\n matches,\n result,\n zone,\n specificOffset,\n };\n }\n }\n\n get isValid() {\n return !this.disqualifyingUnit;\n }\n\n get invalidReason() {\n return this.disqualifyingUnit ? this.disqualifyingUnit.invalidReason : null;\n }\n}\n\nexport function explainFromTokens(locale, input, format) {\n const parser = new TokenParser(locale, format);\n return parser.explainFromTokens(input);\n}\n\nexport function parseFromTokens(locale, input, format) {\n const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format);\n return [result, zone, specificOffset, invalidReason];\n}\n\nexport function formatOptsToTokens(formatOpts, locale) {\n if (!formatOpts) {\n return null;\n }\n\n const formatter = Formatter.create(locale, formatOpts);\n const df = formatter.dtFormatter(getDummyDateTime());\n const parts = df.formatToParts();\n const resolvedOpts = df.resolvedOptions();\n return parts.map((p) => tokenForPart(p, formatOpts, resolvedOpts));\n}\n","import Duration from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Settings from \"./settings.js\";\nimport Info from \"./info.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport {\n isUndefined,\n maybeArray,\n isDate,\n isNumber,\n bestBy,\n daysInMonth,\n daysInYear,\n isLeapYear,\n weeksInWeekYear,\n normalizeObject,\n roundTo,\n objToLocalTS,\n padStart,\n} from \"./impl/util.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport diff from \"./impl/diff.js\";\nimport { parseRFC2822Date, parseISODate, parseHTTPDate, parseSQL } from \"./impl/regexParser.js\";\nimport {\n parseFromTokens,\n explainFromTokens,\n formatOptsToTokens,\n expandMacroTokens,\n TokenParser,\n} from \"./impl/tokenParser.js\";\nimport {\n gregorianToWeek,\n weekToGregorian,\n gregorianToOrdinal,\n ordinalToGregorian,\n hasInvalidGregorianData,\n hasInvalidWeekData,\n hasInvalidOrdinalData,\n hasInvalidTimeData,\n usesLocalWeekValues,\n isoWeekdayToLocal,\n} from \"./impl/conversions.js\";\nimport * as Formats from \"./impl/formats.js\";\nimport {\n InvalidArgumentError,\n ConflictingSpecificationError,\n InvalidUnitError,\n InvalidDateTimeError,\n} from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedWeekData(dt) {\n if (dt.weekData === null) {\n dt.weekData = gregorianToWeek(dt.c);\n }\n return dt.weekData;\n}\n\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedLocalWeekData(dt) {\n if (dt.localWeekData === null) {\n dt.localWeekData = gregorianToWeek(\n dt.c,\n dt.loc.getMinDaysInFirstWeek(),\n dt.loc.getStartOfWeek()\n );\n }\n return dt.localWeekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n const current = {\n ts: inst.ts,\n zone: inst.zone,\n c: inst.c,\n o: inst.o,\n loc: inst.loc,\n invalid: inst.invalid,\n };\n return new DateTime({ ...current, ...alts, old: current });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o * 60 * 1000;\n\n // Test whether the zone matches the offset for this ts\n const o2 = tz.offset(utcGuess);\n\n // If so, offset didn't change and we're done\n if (o === o2) {\n return [utcGuess, o];\n }\n\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o) * 60 * 1000;\n\n // If that gives us the local time we want, we're done\n const o3 = tz.offset(utcGuess);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n ts += offset * 60 * 1000;\n\n const d = new Date(ts);\n\n return {\n year: d.getUTCFullYear(),\n month: d.getUTCMonth() + 1,\n day: d.getUTCDate(),\n hour: d.getUTCHours(),\n minute: d.getUTCMinutes(),\n second: d.getUTCSeconds(),\n millisecond: d.getUTCMilliseconds(),\n };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n const oPre = inst.o,\n year = inst.c.year + Math.trunc(dur.years),\n month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n c = {\n ...inst.c,\n year,\n month,\n day:\n Math.min(inst.c.day, daysInMonth(year, month)) +\n Math.trunc(dur.days) +\n Math.trunc(dur.weeks) * 7,\n },\n millisToAdd = Duration.fromObject({\n years: dur.years - Math.trunc(dur.years),\n quarters: dur.quarters - Math.trunc(dur.quarters),\n months: dur.months - Math.trunc(dur.months),\n weeks: dur.weeks - Math.trunc(dur.weeks),\n days: dur.days - Math.trunc(dur.days),\n hours: dur.hours,\n minutes: dur.minutes,\n seconds: dur.seconds,\n milliseconds: dur.milliseconds,\n }).as(\"milliseconds\"),\n localTS = objToLocalTS(c);\n\n let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n\n if (millisToAdd !== 0) {\n ts += millisToAdd;\n // that could have changed the offset by going over a DST, but we want to keep the ts the same\n o = inst.zone.offset(ts);\n }\n\n return { ts, o };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n const { setZone, zone } = opts;\n if ((parsed && Object.keys(parsed).length !== 0) || parsedZone) {\n const interpretationZone = parsedZone || zone,\n inst = DateTime.fromObject(parsed, {\n ...opts,\n zone: interpretationZone,\n specificOffset,\n });\n return setZone ? inst : inst.setZone(zone);\n } else {\n return DateTime.invalid(\n new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`)\n );\n }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n return dt.isValid\n ? Formatter.create(Locale.create(\"en-US\"), {\n allowZ,\n forceSimple: true,\n }).formatDateTimeFromString(dt, format)\n : null;\n}\n\nfunction toISODate(o, extended) {\n const longFormat = o.c.year > 9999 || o.c.year < 0;\n let c = \"\";\n if (longFormat && o.c.year >= 0) c += \"+\";\n c += padStart(o.c.year, longFormat ? 6 : 4);\n\n if (extended) {\n c += \"-\";\n c += padStart(o.c.month);\n c += \"-\";\n c += padStart(o.c.day);\n } else {\n c += padStart(o.c.month);\n c += padStart(o.c.day);\n }\n return c;\n}\n\nfunction toISOTime(\n o,\n extended,\n suppressSeconds,\n suppressMilliseconds,\n includeOffset,\n extendedZone\n) {\n let c = padStart(o.c.hour);\n if (extended) {\n c += \":\";\n c += padStart(o.c.minute);\n if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n c += \":\";\n }\n } else {\n c += padStart(o.c.minute);\n }\n\n if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n c += padStart(o.c.second);\n\n if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n c += \".\";\n c += padStart(o.c.millisecond, 3);\n }\n }\n\n if (includeOffset) {\n if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n c += \"Z\";\n } else if (o.o < 0) {\n c += \"-\";\n c += padStart(Math.trunc(-o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(-o.o % 60));\n } else {\n c += \"+\";\n c += padStart(Math.trunc(o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(o.o % 60));\n }\n }\n\n if (extendedZone) {\n c += \"[\" + o.zone.ianaName + \"]\";\n }\n return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n },\n defaultWeekUnitValues = {\n weekNumber: 1,\n weekday: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n },\n defaultOrdinalUnitValues = {\n ordinal: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n orderedWeekUnits = [\n \"weekYear\",\n \"weekNumber\",\n \"weekday\",\n \"hour\",\n \"minute\",\n \"second\",\n \"millisecond\",\n ],\n orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n const normalized = {\n year: \"year\",\n years: \"year\",\n month: \"month\",\n months: \"month\",\n day: \"day\",\n days: \"day\",\n hour: \"hour\",\n hours: \"hour\",\n minute: \"minute\",\n minutes: \"minute\",\n quarter: \"quarter\",\n quarters: \"quarter\",\n second: \"second\",\n seconds: \"second\",\n millisecond: \"millisecond\",\n milliseconds: \"millisecond\",\n weekday: \"weekday\",\n weekdays: \"weekday\",\n weeknumber: \"weekNumber\",\n weeksnumber: \"weekNumber\",\n weeknumbers: \"weekNumber\",\n weekyear: \"weekYear\",\n weekyears: \"weekYear\",\n ordinal: \"ordinal\",\n }[unit.toLowerCase()];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n}\n\nfunction normalizeUnitWithLocalWeeks(unit) {\n switch (unit.toLowerCase()) {\n case \"localweekday\":\n case \"localweekdays\":\n return \"localWeekday\";\n case \"localweeknumber\":\n case \"localweeknumbers\":\n return \"localWeekNumber\";\n case \"localweekyear\":\n case \"localweekyears\":\n return \"localWeekYear\";\n default:\n return normalizeUnit(unit);\n }\n}\n\n// cache offsets for zones based on the current timestamp when this function is\n// first called. When we are handling a datetime from components like (year,\n// month, day, hour) in a time zone, we need a guess about what the timezone\n// offset is so that we can convert into a UTC timestamp. One way is to find the\n// offset of now in the zone. The actual date may have a different offset (for\n// example, if we handle a date in June while we're in December in a zone that\n// observes DST), but we can check and adjust that.\n//\n// When handling many dates, calculating the offset for now every time is\n// expensive. It's just a guess, so we can cache the offset to use even if we\n// are right on a time change boundary (we'll just correct in the other\n// direction). Using a timestamp from first read is a slight optimization for\n// handling dates close to the current date, since those dates will usually be\n// in the same offset (we could set the timestamp statically, instead). We use a\n// single timestamp for all zones to make things a bit more predictable.\n//\n// This is safe for quickDT (used by local() and utc()) because we don't fill in\n// higher-order units from tsNow (as we do in fromObject, this requires that\n// offset is calculated from tsNow).\nfunction guessOffsetForZone(zone) {\n if (!zoneOffsetGuessCache[zone]) {\n if (zoneOffsetTs === undefined) {\n zoneOffsetTs = Settings.now();\n }\n\n zoneOffsetGuessCache[zone] = zone.offset(zoneOffsetTs);\n }\n return zoneOffsetGuessCache[zone];\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n const zone = normalizeZone(opts.zone, Settings.defaultZone);\n if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n }\n\n const loc = Locale.fromObject(opts);\n\n let ts, o;\n\n // assume we have the higher-order units\n if (!isUndefined(obj.year)) {\n for (const u of orderedUnits) {\n if (isUndefined(obj[u])) {\n obj[u] = defaultUnitValues[u];\n }\n }\n\n const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n const offsetProvis = guessOffsetForZone(zone);\n [ts, o] = objToTS(obj, offsetProvis, zone);\n } else {\n ts = Settings.now();\n }\n\n return new DateTime({ ts, zone, loc, o });\n}\n\nfunction diffRelative(start, end, opts) {\n const round = isUndefined(opts.round) ? true : opts.round,\n format = (c, unit) => {\n c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n const formatter = end.loc.clone(opts).relFormatter(opts);\n return formatter.format(c, unit);\n },\n differ = (unit) => {\n if (opts.calendary) {\n if (!end.hasSame(start, unit)) {\n return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n } else return 0;\n } else {\n return end.diff(start, unit).get(unit);\n }\n };\n\n if (opts.unit) {\n return format(differ(opts.unit), opts.unit);\n }\n\n for (const unit of opts.units) {\n const count = differ(unit);\n if (Math.abs(count) >= 1) {\n return format(count, unit);\n }\n }\n return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\nfunction lastOpts(argList) {\n let opts = {},\n args;\n if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n opts = argList[argList.length - 1];\n args = Array.from(argList).slice(0, argList.length - 1);\n } else {\n args = Array.from(argList);\n }\n return [opts, args];\n}\n\n/**\n * Timestamp to use for cached zone offset guesses (exposed for test)\n */\nlet zoneOffsetTs;\n/**\n * Cache for zone offset guesses (exposed for test).\n *\n * This optimizes quickDT via guessOffsetForZone to avoid repeated calls of\n * zone.offset().\n */\nlet zoneOffsetGuessCache = {};\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nexport default class DateTime {\n /**\n * @access private\n */\n constructor(config) {\n const zone = config.zone || Settings.defaultZone;\n\n let invalid =\n config.invalid ||\n (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) ||\n (!zone.isValid ? unsupportedZone(zone) : null);\n /**\n * @access private\n */\n this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n\n let c = null,\n o = null;\n if (!invalid) {\n const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n if (unchanged) {\n [c, o] = [config.old.c, config.old.o];\n } else {\n // If an offset has been passed and we have not been called from\n // clone(), we can trust it and avoid the offset calculation.\n const ot = isNumber(config.o) && !config.old ? config.o : zone.offset(this.ts);\n c = tsToObj(this.ts, ot);\n invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n c = invalid ? null : c;\n o = invalid ? null : ot;\n }\n }\n\n /**\n * @access private\n */\n this._zone = zone;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.invalid = invalid;\n /**\n * @access private\n */\n this.weekData = null;\n /**\n * @access private\n */\n this.localWeekData = null;\n /**\n * @access private\n */\n this.c = c;\n /**\n * @access private\n */\n this.o = o;\n /**\n * @access private\n */\n this.isLuxonDateTime = true;\n }\n\n // CONSTRUCT\n\n /**\n * Create a DateTime for the current instant, in the system's time zone.\n *\n * Use Settings to override these default values if needed.\n * @example DateTime.now().toISO() //~> now in the ISO format\n * @return {DateTime}\n */\n static now() {\n return new DateTime({});\n }\n\n /**\n * Create a local DateTime\n * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month, 1-indexed\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @example DateTime.local() //~> now\n * @example DateTime.local({ zone: \"America/New_York\" }) //~> now, in US east coast time\n * @example DateTime.local(2017) //~> 2017-01-01T00:00:00\n * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00\n * @example DateTime.local(2017, 3, 12, { locale: \"fr\" }) //~> 2017-03-12T00:00:00, with a French locale\n * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00\n * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" }) //~> 2017-03-12T05:00:00, in UTC\n * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00\n * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10\n * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765\n * @return {DateTime}\n */\n static local() {\n const [opts, args] = lastOpts(arguments),\n [year, month, day, hour, minute, second, millisecond] = args;\n return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n }\n\n /**\n * Create a DateTime in UTC\n * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @param {Object} options - configuration options for the DateTime\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @param {string} [options.weekSettings] - the week settings to set on the resulting DateTime instance\n * @example DateTime.utc() //~> now\n * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z\n * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z\n * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" }) //~> 2017-03-12T05:45:00Z with a French locale\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n * @return {DateTime}\n */\n static utc() {\n const [opts, args] = lastOpts(arguments),\n [year, month, day, hour, minute, second, millisecond] = args;\n\n opts.zone = FixedOffsetZone.utcInstance;\n return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n }\n\n /**\n * Create a DateTime from a JavaScript Date object. Uses the default zone.\n * @param {Date} date - a JavaScript Date object\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @return {DateTime}\n */\n static fromJSDate(date, options = {}) {\n const ts = isDate(date) ? date.valueOf() : NaN;\n if (Number.isNaN(ts)) {\n return DateTime.invalid(\"invalid input\");\n }\n\n const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n return new DateTime({\n ts: ts,\n zone: zoneToUse,\n loc: Locale.fromObject(options),\n });\n }\n\n /**\n * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromMillis(milliseconds, options = {}) {\n if (!isNumber(milliseconds)) {\n throw new InvalidArgumentError(\n `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`\n );\n } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n // this isn't perfect because we can still end up out of range because of additional shifting, but it's a start\n return DateTime.invalid(\"Timestamp out of range\");\n } else {\n return new DateTime({\n ts: milliseconds,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options),\n });\n }\n }\n\n /**\n * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} seconds - a number of seconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromSeconds(seconds, options = {}) {\n if (!isNumber(seconds)) {\n throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n } else {\n return new DateTime({\n ts: seconds * 1000,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options),\n });\n }\n }\n\n /**\n * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.year - a year, such as 1987\n * @param {number} obj.month - a month, 1-12\n * @param {number} obj.day - a day of the month, 1-31, depending on the month\n * @param {number} obj.ordinal - day of the year, 1-365 or 366\n * @param {number} obj.weekYear - an ISO week year\n * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n * @param {number} obj.localWeekYear - a week year, according to the locale\n * @param {number} obj.localWeekNumber - a week number, between 1 and 52 or 53, depending on the year, according to the locale\n * @param {number} obj.localWeekday - a weekday, 1-7, where 1 is the first and 7 is the last day of the week, according to the locale\n * @param {number} obj.hour - hour of the day, 0-23\n * @param {number} obj.minute - minute of the hour, 0-59\n * @param {number} obj.second - second of the minute, 0-59\n * @param {number} obj.millisecond - millisecond of the second, 0-999\n * @param {Object} opts - options for creating this DateTime\n * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n * @param {string} [opts.locale='system\\'s locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n * @example DateTime.fromObject({ localWeekYear: 2022, localWeekNumber: 1, localWeekday: 1 }, { locale: \"en-US\" }).toISODate() //=> '2021-12-26'\n * @return {DateTime}\n */\n static fromObject(obj, opts = {}) {\n obj = obj || {};\n const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n const loc = Locale.fromObject(opts);\n const normalized = normalizeObject(obj, normalizeUnitWithLocalWeeks);\n const { minDaysInFirstWeek, startOfWeek } = usesLocalWeekValues(normalized, loc);\n\n const tsNow = Settings.now(),\n offsetProvis = !isUndefined(opts.specificOffset)\n ? opts.specificOffset\n : zoneToUse.offset(tsNow),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n // cases:\n // just a weekday -> this week's instance of that weekday, no worries\n // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n // (gregorian month or day) + ordinal -> error\n // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);\n\n // configure ourselves to deal with gregorian dates or week stuff\n let units,\n defaultValues,\n objNow = tsToObj(tsNow, offsetProvis);\n if (useWeekData) {\n units = orderedWeekUnits;\n defaultValues = defaultWeekUnitValues;\n objNow = gregorianToWeek(objNow, minDaysInFirstWeek, startOfWeek);\n } else if (containsOrdinal) {\n units = orderedOrdinalUnits;\n defaultValues = defaultOrdinalUnitValues;\n objNow = gregorianToOrdinal(objNow);\n } else {\n units = orderedUnits;\n defaultValues = defaultUnitValues;\n }\n\n // set default values for missing stuff\n let foundFirst = false;\n for (const u of units) {\n const v = normalized[u];\n if (!isUndefined(v)) {\n foundFirst = true;\n } else if (foundFirst) {\n normalized[u] = defaultValues[u];\n } else {\n normalized[u] = objNow[u];\n }\n }\n\n // make sure the values we have are in range\n const higherOrderInvalid = useWeekData\n ? hasInvalidWeekData(normalized, minDaysInFirstWeek, startOfWeek)\n : containsOrdinal\n ? hasInvalidOrdinalData(normalized)\n : hasInvalidGregorianData(normalized),\n invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n // compute the actual time\n const gregorian = useWeekData\n ? weekToGregorian(normalized, minDaysInFirstWeek, startOfWeek)\n : containsOrdinal\n ? ordinalToGregorian(normalized)\n : normalized,\n [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n inst = new DateTime({\n ts: tsFinal,\n zone: zoneToUse,\n o: offsetFinal,\n loc,\n });\n\n // gregorian data + weekday serves only to validate\n if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n return DateTime.invalid(\n \"mismatched weekday\",\n `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`\n );\n }\n\n if (!inst.isValid) {\n return DateTime.invalid(inst.invalid);\n }\n\n return inst;\n }\n\n /**\n * Create a DateTime from an ISO 8601 string\n * @param {string} text - the ISO string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @param {string} [opts.weekSettings] - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n * @example DateTime.fromISO('2016-W05-4')\n * @return {DateTime}\n */\n static fromISO(text, opts = {}) {\n const [vals, parsedZone] = parseISODate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n }\n\n /**\n * Create a DateTime from an RFC 2822 string\n * @param {string} text - the RFC 2822 string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n * @return {DateTime}\n */\n static fromRFC2822(text, opts = {}) {\n const [vals, parsedZone] = parseRFC2822Date(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n }\n\n /**\n * Create a DateTime from an HTTP header date\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @param {string} text - the HTTP header date\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994')\n * @return {DateTime}\n */\n static fromHTTP(text, opts = {}) {\n const [vals, parsedZone] = parseHTTPDate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n }\n\n /**\n * Create a DateTime from an input string and format string.\n * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromFormat(text, fmt, opts = {}) {\n if (isUndefined(text) || isUndefined(fmt)) {\n throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n }\n\n const { locale = null, numberingSystem = null } = opts,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n }),\n [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n if (invalid) {\n return DateTime.invalid(invalid);\n } else {\n return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n }\n }\n\n /**\n * @deprecated use fromFormat instead\n */\n static fromString(text, fmt, opts = {}) {\n return DateTime.fromFormat(text, fmt, opts);\n }\n\n /**\n * Create a DateTime from a SQL date, time, or datetime\n * Defaults to en-US if no locale has been specified, regardless of the system's locale\n * @param {string} text - the string to parse\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @example DateTime.fromSQL('2017-05-15')\n * @example DateTime.fromSQL('2017-05-15 09:12:34')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n * @example DateTime.fromSQL('09:12:34.342')\n * @return {DateTime}\n */\n static fromSQL(text, opts = {}) {\n const [vals, parsedZone] = parseSQL(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n }\n\n /**\n * Create an invalid DateTime.\n * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {DateTime}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDateTimeError(invalid);\n } else {\n return new DateTime({ invalid });\n }\n }\n\n /**\n * Check if an object is an instance of DateTime. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDateTime(o) {\n return (o && o.isLuxonDateTime) || false;\n }\n\n /**\n * Produce the format string for a set of options\n * @param formatOpts\n * @param localeOpts\n * @returns {string}\n */\n static parseFormatForOpts(formatOpts, localeOpts = {}) {\n const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n return !tokenList ? null : tokenList.map((t) => (t ? t.val : null)).join(\"\");\n }\n\n /**\n * Produce the the fully expanded format token for the locale\n * Does NOT quote characters, so quoted tokens will not round trip correctly\n * @param fmt\n * @param localeOpts\n * @returns {string}\n */\n static expandFormat(fmt, localeOpts = {}) {\n const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n return expanded.map((t) => t.val).join(\"\");\n }\n\n static resetCache() {\n zoneOffsetTs = undefined;\n zoneOffsetGuessCache = {};\n }\n\n // INFO\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n * @return {number}\n */\n get(unit) {\n return this[unit];\n }\n\n /**\n * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n * * The DateTime was created by an operation on another invalid date\n * @type {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n *\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n *\n * @type {string}\n */\n get outputCalendar() {\n return this.isValid ? this.loc.outputCalendar : null;\n }\n\n /**\n * Get the time zone associated with this DateTime.\n * @type {Zone}\n */\n get zone() {\n return this._zone;\n }\n\n /**\n * Get the name of the time zone.\n * @type {string}\n */\n get zoneName() {\n return this.isValid ? this.zone.name : null;\n }\n\n /**\n * Get the year\n * @example DateTime.local(2017, 5, 25).year //=> 2017\n * @type {number}\n */\n get year() {\n return this.isValid ? this.c.year : NaN;\n }\n\n /**\n * Get the quarter\n * @example DateTime.local(2017, 5, 25).quarter //=> 2\n * @type {number}\n */\n get quarter() {\n return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n }\n\n /**\n * Get the month (1-12).\n * @example DateTime.local(2017, 5, 25).month //=> 5\n * @type {number}\n */\n get month() {\n return this.isValid ? this.c.month : NaN;\n }\n\n /**\n * Get the day of the month (1-30ish).\n * @example DateTime.local(2017, 5, 25).day //=> 25\n * @type {number}\n */\n get day() {\n return this.isValid ? this.c.day : NaN;\n }\n\n /**\n * Get the hour of the day (0-23).\n * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n * @type {number}\n */\n get hour() {\n return this.isValid ? this.c.hour : NaN;\n }\n\n /**\n * Get the minute of the hour (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n * @type {number}\n */\n get minute() {\n return this.isValid ? this.c.minute : NaN;\n }\n\n /**\n * Get the second of the minute (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n * @type {number}\n */\n get second() {\n return this.isValid ? this.c.second : NaN;\n }\n\n /**\n * Get the millisecond of the second (0-999).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n * @type {number}\n */\n get millisecond() {\n return this.isValid ? this.c.millisecond : NaN;\n }\n\n /**\n * Get the week year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n * @type {number}\n */\n get weekYear() {\n return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n }\n\n /**\n * Get the week number of the week year (1-52ish).\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n * @type {number}\n */\n get weekNumber() {\n return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n }\n\n /**\n * Get the day of the week.\n * 1 is Monday and 7 is Sunday\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 11, 31).weekday //=> 4\n * @type {number}\n */\n get weekday() {\n return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n }\n\n /**\n * Returns true if this date is on a weekend according to the locale, false otherwise\n * @returns {boolean}\n */\n get isWeekend() {\n return this.isValid && this.loc.getWeekendDays().includes(this.weekday);\n }\n\n /**\n * Get the day of the week according to the locale.\n * 1 is the first day of the week and 7 is the last day of the week.\n * If the locale assigns Sunday as the first day of the week, then a date which is a Sunday will return 1,\n * @returns {number}\n */\n get localWeekday() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekday : NaN;\n }\n\n /**\n * Get the week number of the week year according to the locale. Different locales assign week numbers differently,\n * because the week can start on different days of the week (see localWeekday) and because a different number of days\n * is required for a week to count as the first week of a year.\n * @returns {number}\n */\n get localWeekNumber() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekNumber : NaN;\n }\n\n /**\n * Get the week year according to the locale. Different locales assign week numbers (and therefor week years)\n * differently, see localWeekNumber.\n * @returns {number}\n */\n get localWeekYear() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekYear : NaN;\n }\n\n /**\n * Get the ordinal (meaning the day of the year)\n * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n * @type {number|DateTime}\n */\n get ordinal() {\n return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n }\n\n /**\n * Get the human readable short month name, such as 'Oct'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n * @type {string}\n */\n get monthShort() {\n return this.isValid ? Info.months(\"short\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable long month name, such as 'October'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthLong //=> October\n * @type {string}\n */\n get monthLong() {\n return this.isValid ? Info.months(\"long\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable short weekday, such as 'Mon'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n * @type {string}\n */\n get weekdayShort() {\n return this.isValid ? Info.weekdays(\"short\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the human readable long weekday, such as 'Monday'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n * @type {string}\n */\n get weekdayLong() {\n return this.isValid ? Info.weekdays(\"long\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the UTC offset of this DateTime in minutes\n * @example DateTime.now().offset //=> -240\n * @example DateTime.utc().offset //=> 0\n * @type {number}\n */\n get offset() {\n return this.isValid ? +this.o : NaN;\n }\n\n /**\n * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameShort() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"short\",\n locale: this.locale,\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameLong() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"long\",\n locale: this.locale,\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get whether this zone's offset ever changes, as in a DST.\n * @type {boolean}\n */\n get isOffsetFixed() {\n return this.isValid ? this.zone.isUniversal : null;\n }\n\n /**\n * Get whether the DateTime is in a DST.\n * @type {boolean}\n */\n get isInDST() {\n if (this.isOffsetFixed) {\n return false;\n } else {\n return (\n this.offset > this.set({ month: 1, day: 1 }).offset ||\n this.offset > this.set({ month: 5 }).offset\n );\n }\n }\n\n /**\n * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n * @returns {DateTime[]}\n */\n getPossibleOffsets() {\n if (!this.isValid || this.isOffsetFixed) {\n return [this];\n }\n const dayMs = 86400000;\n const minuteMs = 60000;\n const localTS = objToLocalTS(this.c);\n const oEarlier = this.zone.offset(localTS - dayMs);\n const oLater = this.zone.offset(localTS + dayMs);\n\n const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n const o2 = this.zone.offset(localTS - oLater * minuteMs);\n if (o1 === o2) {\n return [this];\n }\n const ts1 = localTS - o1 * minuteMs;\n const ts2 = localTS - o2 * minuteMs;\n const c1 = tsToObj(ts1, o1);\n const c2 = tsToObj(ts2, o2);\n if (\n c1.hour === c2.hour &&\n c1.minute === c2.minute &&\n c1.second === c2.second &&\n c1.millisecond === c2.millisecond\n ) {\n return [clone(this, { ts: ts1 }), clone(this, { ts: ts2 })];\n }\n return [this];\n }\n\n /**\n * Returns true if this DateTime is in a leap year, false otherwise\n * @example DateTime.local(2016).isInLeapYear //=> true\n * @example DateTime.local(2013).isInLeapYear //=> false\n * @type {boolean}\n */\n get isInLeapYear() {\n return isLeapYear(this.year);\n }\n\n /**\n * Returns the number of days in this DateTime's month\n * @example DateTime.local(2016, 2).daysInMonth //=> 29\n * @example DateTime.local(2016, 3).daysInMonth //=> 31\n * @type {number}\n */\n get daysInMonth() {\n return daysInMonth(this.year, this.month);\n }\n\n /**\n * Returns the number of days in this DateTime's year\n * @example DateTime.local(2016).daysInYear //=> 366\n * @example DateTime.local(2013).daysInYear //=> 365\n * @type {number}\n */\n get daysInYear() {\n return this.isValid ? daysInYear(this.year) : NaN;\n }\n\n /**\n * Returns the number of weeks in this DateTime's year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2004).weeksInWeekYear //=> 53\n * @example DateTime.local(2013).weeksInWeekYear //=> 52\n * @type {number}\n */\n get weeksInWeekYear() {\n return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n }\n\n /**\n * Returns the number of weeks in this DateTime's local week year\n * @example DateTime.local(2020, 6, {locale: 'en-US'}).weeksInLocalWeekYear //=> 52\n * @example DateTime.local(2020, 6, {locale: 'de-DE'}).weeksInLocalWeekYear //=> 53\n * @type {number}\n */\n get weeksInLocalWeekYear() {\n return this.isValid\n ? weeksInWeekYear(\n this.localWeekYear,\n this.loc.getMinDaysInFirstWeek(),\n this.loc.getStartOfWeek()\n )\n : NaN;\n }\n\n /**\n * Returns the resolved Intl options for this DateTime.\n * This is useful in understanding the behavior of formatting methods\n * @param {Object} opts - the same options as toLocaleString\n * @return {Object}\n */\n resolvedLocaleOptions(opts = {}) {\n const { locale, numberingSystem, calendar } = Formatter.create(\n this.loc.clone(opts),\n opts\n ).resolvedOptions(this);\n return { locale, numberingSystem, outputCalendar: calendar };\n }\n\n // TRANSFORM\n\n /**\n * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n *\n * Equivalent to {@link DateTime#setZone}('utc')\n * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n * @param {Object} [opts={}] - options to pass to `setZone()`\n * @return {DateTime}\n */\n toUTC(offset = 0, opts = {}) {\n return this.setZone(FixedOffsetZone.instance(offset), opts);\n }\n\n /**\n * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n *\n * Equivalent to `setZone('local')`\n * @return {DateTime}\n */\n toLocal() {\n return this.setZone(Settings.defaultZone);\n }\n\n /**\n * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n *\n * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n * @param {Object} opts - options\n * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n * @return {DateTime}\n */\n setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {\n zone = normalizeZone(zone, Settings.defaultZone);\n if (zone.equals(this.zone)) {\n return this;\n } else if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n } else {\n let newTS = this.ts;\n if (keepLocalTime || keepCalendarTime) {\n const offsetGuess = zone.offset(this.ts);\n const asObj = this.toObject();\n [newTS] = objToTS(asObj, offsetGuess, zone);\n }\n return clone(this, { ts: newTS, zone });\n }\n }\n\n /**\n * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n * @param {Object} properties - the properties to set\n * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n * @return {DateTime}\n */\n reconfigure({ locale, numberingSystem, outputCalendar } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });\n return clone(this, { loc });\n }\n\n /**\n * \"Set\" the locale. Returns a newly-constructed DateTime.\n * Just a convenient alias for reconfigure({ locale })\n * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n * @return {DateTime}\n */\n setLocale(locale) {\n return this.reconfigure({ locale });\n }\n\n /**\n * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n *\n * This method also supports setting locale-based week units, i.e. `localWeekday`, `localWeekNumber` and `localWeekYear`.\n * They cannot be mixed with ISO-week units like `weekday`.\n * @param {Object} values - a mapping of units to numbers\n * @example dt.set({ year: 2017 })\n * @example dt.set({ hour: 8, minute: 30 })\n * @example dt.set({ weekday: 5 })\n * @example dt.set({ year: 2005, ordinal: 234 })\n * @return {DateTime}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const normalized = normalizeObject(values, normalizeUnitWithLocalWeeks);\n const { minDaysInFirstWeek, startOfWeek } = usesLocalWeekValues(normalized, this.loc);\n\n const settingWeekStuff =\n !isUndefined(normalized.weekYear) ||\n !isUndefined(normalized.weekNumber) ||\n !isUndefined(normalized.weekday),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n let mixed;\n if (settingWeekStuff) {\n mixed = weekToGregorian(\n { ...gregorianToWeek(this.c, minDaysInFirstWeek, startOfWeek), ...normalized },\n minDaysInFirstWeek,\n startOfWeek\n );\n } else if (!isUndefined(normalized.ordinal)) {\n mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized });\n } else {\n mixed = { ...this.toObject(), ...normalized };\n\n // if we didn't set the day but we ended up on an overflow date,\n // use the last day of the right month\n if (isUndefined(normalized.day)) {\n mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n }\n }\n\n const [ts, o] = objToTS(mixed, this.o, this.zone);\n return clone(this, { ts, o });\n }\n\n /**\n * Add a period of time to this DateTime and return the resulting DateTime\n *\n * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @example DateTime.now().plus(123) //~> in 123 milliseconds\n * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n * @return {DateTime}\n */\n plus(duration) {\n if (!this.isValid) return this;\n const dur = Duration.fromDurationLike(duration);\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * Subtract a period of time to this DateTime and return the resulting DateTime\n * See {@link DateTime#plus}\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n @return {DateTime}\n */\n minus(duration) {\n if (!this.isValid) return this;\n const dur = Duration.fromDurationLike(duration).negate();\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * \"Set\" this DateTime to the beginning of a unit of time.\n * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n * @return {DateTime}\n */\n startOf(unit, { useLocaleWeeks = false } = {}) {\n if (!this.isValid) return this;\n\n const o = {},\n normalizedUnit = Duration.normalizeUnit(unit);\n switch (normalizedUnit) {\n case \"years\":\n o.month = 1;\n // falls through\n case \"quarters\":\n case \"months\":\n o.day = 1;\n // falls through\n case \"weeks\":\n case \"days\":\n o.hour = 0;\n // falls through\n case \"hours\":\n o.minute = 0;\n // falls through\n case \"minutes\":\n o.second = 0;\n // falls through\n case \"seconds\":\n o.millisecond = 0;\n break;\n case \"milliseconds\":\n break;\n // no default, invalid units throw in normalizeUnit()\n }\n\n if (normalizedUnit === \"weeks\") {\n if (useLocaleWeeks) {\n const startOfWeek = this.loc.getStartOfWeek();\n const { weekday } = this;\n if (weekday < startOfWeek) {\n o.weekNumber = this.weekNumber - 1;\n }\n o.weekday = startOfWeek;\n } else {\n o.weekday = 1;\n }\n }\n\n if (normalizedUnit === \"quarters\") {\n const q = Math.ceil(this.month / 3);\n o.month = (q - 1) * 3 + 1;\n }\n\n return this.set(o);\n }\n\n /**\n * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n * @return {DateTime}\n */\n endOf(unit, opts) {\n return this.isValid\n ? this.plus({ [unit]: 1 })\n .startOf(unit, opts)\n .minus(1)\n : this;\n }\n\n // OUTPUT\n\n /**\n * Returns a string representation of this DateTime formatted according to the specified format string.\n * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n * @param {string} fmt - the format string\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n * of the DateTime in the assigned locale.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n * @return {string}\n */\n toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this)\n : INVALID;\n }\n\n /**\n * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n * @example DateTime.now().toLocaleParts(); //=> [\n * //=> { type: 'day', value: '25' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'month', value: '05' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'year', value: '1982' }\n * //=> ]\n */\n toLocaleParts(opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)\n : [];\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n * @return {string}\n */\n toISO({\n format = \"extended\",\n suppressSeconds = false,\n suppressMilliseconds = false,\n includeOffset = true,\n extendedZone = false,\n } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n const ext = format === \"extended\";\n\n let c = toISODate(this, ext);\n c += \"T\";\n c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n return c;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's date component\n * @param {Object} opts - options\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n * @return {string}\n */\n toISODate({ format = \"extended\" } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return toISODate(this, format === \"extended\");\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's week date\n * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n * @return {string}\n */\n toISOWeekDate() {\n return toTechFormat(this, \"kkkk-'W'WW-c\");\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's time component\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n * @return {string}\n */\n toISOTime({\n suppressMilliseconds = false,\n suppressSeconds = false,\n includeOffset = true,\n includePrefix = false,\n extendedZone = false,\n format = \"extended\",\n } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n let c = includePrefix ? \"T\" : \"\";\n return (\n c +\n toISOTime(\n this,\n format === \"extended\",\n suppressSeconds,\n suppressMilliseconds,\n includeOffset,\n extendedZone\n )\n );\n }\n\n /**\n * Returns an RFC 2822-compatible string representation of this DateTime\n * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n * @return {string}\n */\n toRFC2822() {\n return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n * Specifically, the string conforms to RFC 1123.\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n * @return {string}\n */\n toHTTP() {\n return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Date\n * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n * @return {string}\n */\n toSQLDate() {\n if (!this.isValid) {\n return null;\n }\n return toISODate(this, true);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Time\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n * @return {string}\n */\n toSQLTime({ includeOffset = true, includeZone = false, includeOffsetSpace = true } = {}) {\n let fmt = \"HH:mm:ss.SSS\";\n\n if (includeZone || includeOffset) {\n if (includeOffsetSpace) {\n fmt += \" \";\n }\n if (includeZone) {\n fmt += \"z\";\n } else if (includeOffset) {\n fmt += \"ZZ\";\n }\n }\n\n return toTechFormat(this, fmt, true);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n * @return {string}\n */\n toSQL(opts = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for debugging\n * @return {string}\n */\n toString() {\n return this.isValid ? this.toISO() : INVALID;\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;\n } else {\n return `DateTime { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime.\n * @return {number}\n */\n toMillis() {\n return this.isValid ? this.ts : NaN;\n }\n\n /**\n * Returns the epoch seconds of this DateTime.\n * @return {number}\n */\n toSeconds() {\n return this.isValid ? this.ts / 1000 : NaN;\n }\n\n /**\n * Returns the epoch seconds (as a whole number) of this DateTime.\n * @return {number}\n */\n toUnixInteger() {\n return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n }\n\n /**\n * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns a BSON serializable equivalent to this DateTime.\n * @return {Date}\n */\n toBSON() {\n return this.toJSDate();\n }\n\n /**\n * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n * @param opts - options for generating the object\n * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n * @return {Object}\n */\n toObject(opts = {}) {\n if (!this.isValid) return {};\n\n const base = { ...this.c };\n\n if (opts.includeConfig) {\n base.outputCalendar = this.outputCalendar;\n base.numberingSystem = this.loc.numberingSystem;\n base.locale = this.loc.locale;\n }\n return base;\n }\n\n /**\n * Returns a JavaScript Date equivalent to this DateTime.\n * @return {Date}\n */\n toJSDate() {\n return new Date(this.isValid ? this.ts : NaN);\n }\n\n // COMPARE\n\n /**\n * Return the difference between two DateTimes as a Duration.\n * @param {DateTime} otherDateTime - the DateTime to compare this one to\n * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example\n * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n * i2 = DateTime.fromISO('1983-10-14T10:30');\n * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n * @return {Duration}\n */\n diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n if (!this.isValid || !otherDateTime.isValid) {\n return Duration.invalid(\"created by diffing an invalid DateTime\");\n }\n\n const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts };\n\n const units = maybeArray(unit).map(Duration.normalizeUnit),\n otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n earlier = otherIsLater ? this : otherDateTime,\n later = otherIsLater ? otherDateTime : this,\n diffed = diff(earlier, later, units, durOpts);\n\n return otherIsLater ? diffed.negate() : diffed;\n }\n\n /**\n * Return the difference between this DateTime and right now.\n * See {@link DateTime#diff}\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n diffNow(unit = \"milliseconds\", opts = {}) {\n return this.diff(DateTime.now(), unit, opts);\n }\n\n /**\n * Return an Interval spanning between this DateTime and another DateTime\n * @param {DateTime} otherDateTime - the other end point of the Interval\n * @return {Interval}\n */\n until(otherDateTime) {\n return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n }\n\n /**\n * Return whether this DateTime is in the same unit of time as another DateTime.\n * Higher-order units must also be identical for this function to return `true`.\n * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n * @param {DateTime} otherDateTime - the other DateTime\n * @param {string} unit - the unit of time to check sameness on\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; only the locale of this DateTime is used\n * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n * @return {boolean}\n */\n hasSame(otherDateTime, unit, opts) {\n if (!this.isValid) return false;\n\n const inputMs = otherDateTime.valueOf();\n const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true });\n return (\n adjustedToZone.startOf(unit, opts) <= inputMs && inputMs <= adjustedToZone.endOf(unit, opts)\n );\n }\n\n /**\n * Equality check\n * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n * To compare just the millisecond values, use `+dt1 === +dt2`.\n * @param {DateTime} other - the other DateTime\n * @return {boolean}\n */\n equals(other) {\n return (\n this.isValid &&\n other.isValid &&\n this.valueOf() === other.valueOf() &&\n this.zone.equals(other.zone) &&\n this.loc.equals(other.loc)\n );\n }\n\n /**\n * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n */\n toRelative(options = {}) {\n if (!this.isValid) return null;\n const base = options.base || DateTime.fromObject({}, { zone: this.zone }),\n padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;\n let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n let unit = options.unit;\n if (Array.isArray(options.unit)) {\n units = options.unit;\n unit = undefined;\n }\n return diffRelative(base, this.plus(padding), {\n ...options,\n numeric: \"always\",\n units,\n unit,\n });\n }\n\n /**\n * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n */\n toRelativeCalendar(options = {}) {\n if (!this.isValid) return null;\n\n return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, {\n ...options,\n numeric: \"auto\",\n units: [\"years\", \"months\", \"days\"],\n calendary: true,\n });\n }\n\n /**\n * Return the min of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n * @return {DateTime} the min DateTime, or undefined if called with no argument\n */\n static min(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, (i) => i.valueOf(), Math.min);\n }\n\n /**\n * Return the max of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n * @return {DateTime} the max DateTime, or undefined if called with no argument\n */\n static max(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, (i) => i.valueOf(), Math.max);\n }\n\n // MISC\n\n /**\n * Explain how a string would be parsed by fromFormat()\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see description)\n * @param {Object} options - options taken by fromFormat()\n * @return {Object}\n */\n static fromFormatExplain(text, fmt, options = {}) {\n const { locale = null, numberingSystem = null } = options,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n return explainFromTokens(localeToUse, text, fmt);\n }\n\n /**\n * @deprecated use fromFormatExplain instead\n */\n static fromStringExplain(text, fmt, options = {}) {\n return DateTime.fromFormatExplain(text, fmt, options);\n }\n\n /**\n * Build a parser for `fmt` using the given locale. This parser can be passed\n * to {@link DateTime.fromFormatParser} to a parse a date in this format. This\n * can be used to optimize cases where many dates need to be parsed in a\n * specific format.\n *\n * @param {String} fmt - the format the string is expected to be in (see\n * description)\n * @param {Object} options - options used to set locale and numberingSystem\n * for parser\n * @returns {TokenParser} - opaque object to be used\n */\n static buildFormatParser(fmt, options = {}) {\n const { locale = null, numberingSystem = null } = options,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n return new TokenParser(localeToUse, fmt);\n }\n\n /**\n * Create a DateTime from an input string and format parser.\n *\n * The format parser must have been created with the same locale as this call.\n *\n * @param {String} text - the string to parse\n * @param {TokenParser} formatParser - parser from {@link DateTime.buildFormatParser}\n * @param {Object} opts - options taken by fromFormat()\n * @returns {DateTime}\n */\n static fromFormatParser(text, formatParser, opts = {}) {\n if (isUndefined(text) || isUndefined(formatParser)) {\n throw new InvalidArgumentError(\n \"fromFormatParser requires an input string and a format parser\"\n );\n }\n const { locale = null, numberingSystem = null } = opts,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n\n if (!localeToUse.equals(formatParser.locale)) {\n throw new InvalidArgumentError(\n `fromFormatParser called with a locale of ${localeToUse}, ` +\n `but the format parser was created for ${formatParser.locale}`\n );\n }\n\n const { result, zone, specificOffset, invalidReason } = formatParser.explainFromTokens(text);\n\n if (invalidReason) {\n return DateTime.invalid(invalidReason);\n } else {\n return parseDataToDateTime(\n result,\n zone,\n opts,\n `format ${formatParser.format}`,\n text,\n specificOffset\n );\n }\n }\n\n // FORMAT PRESETS\n\n /**\n * {@link DateTime#toLocaleString} format like 10/14/1983\n * @type {Object}\n */\n static get DATE_SHORT() {\n return Formats.DATE_SHORT;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED() {\n return Formats.DATE_MED;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED_WITH_WEEKDAY() {\n return Formats.DATE_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n * @type {Object}\n */\n static get DATE_FULL() {\n return Formats.DATE_FULL;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n * @type {Object}\n */\n static get DATE_HUGE() {\n return Formats.DATE_HUGE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_SIMPLE() {\n return Formats.TIME_SIMPLE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SECONDS() {\n return Formats.TIME_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SHORT_OFFSET() {\n return Formats.TIME_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_LONG_OFFSET() {\n return Formats.TIME_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_SIMPLE() {\n return Formats.TIME_24_SIMPLE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SECONDS() {\n return Formats.TIME_24_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SHORT_OFFSET() {\n return Formats.TIME_24_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_LONG_OFFSET() {\n return Formats.TIME_24_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT() {\n return Formats.DATETIME_SHORT;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT_WITH_SECONDS() {\n return Formats.DATETIME_SHORT_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED() {\n return Formats.DATETIME_MED;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_SECONDS() {\n return Formats.DATETIME_MED_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_WEEKDAY() {\n return Formats.DATETIME_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL() {\n return Formats.DATETIME_FULL;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL_WITH_SECONDS() {\n return Formats.DATETIME_FULL_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE() {\n return Formats.DATETIME_HUGE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE_WITH_SECONDS() {\n return Formats.DATETIME_HUGE_WITH_SECONDS;\n }\n}\n\n/**\n * @private\n */\nexport function friendlyDateTime(dateTimeish) {\n if (DateTime.isDateTime(dateTimeish)) {\n return dateTimeish;\n } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n return DateTime.fromJSDate(dateTimeish);\n } else if (dateTimeish && typeof dateTimeish === \"object\") {\n return DateTime.fromObject(dateTimeish);\n } else {\n throw new InvalidArgumentError(\n `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`\n );\n }\n}\n","import { DateTime } from 'luxon';\nimport constants from '../config/constants';\n\nconst defaultTimezone = 'Europe/Madrid';\nconst defaultLocale = 'es';\n/**\n * Clase para gestionar fechas. Internamente, hace uso de \"luxon\".\n */\nexport default class DateBuilder {\n private date!: DateTime;\n\n private timestamp!: number;\n\n private timezone!: string;\n\n private locale!: string;\n\n /**\n * Constructor para generar un objeto de fecha.\n */\n constructor(\n date: string | DateBuilder | Date | null = null,\n timezone: string | null = null,\n locale: string | null = null,\n ) {\n this.timezone = timezone ?? defaultTimezone;\n this.locale = locale ?? defaultLocale;\n this.set(date);\n }\n\n /**\n * Setea la fecha y actualiza el timestamp. Si se pasa como parámetro null la fecha se seteara\n * a la actual.\n */\n private set = (date: string | DateBuilder | Date | null) => {\n if (\n date !== null &&\n typeof date !== 'string' &&\n !(date instanceof DateBuilder) &&\n !(date instanceof DateTime) &&\n !(date instanceof Date)\n ) {\n throw new Error(\n `El parámetro \"date\" debe ser una cadena, un objeto Date, DateLib o DateTime (Luxon). Se recibió ${typeof date} en su lugar`,\n );\n }\n\n if (\n typeof date === 'string' &&\n !constants.regexp.datetime.test(date) &&\n !DateTime.fromFormat(date, 'yyyy-MM-dd HH:mm:ss').isValid &&\n !constants.regexp.date.test(date) &&\n !DateTime.fromFormat(date, 'yyyy-MM-dd').isValid &&\n !constants.regexp.datetimeISO8601.test(date) &&\n !DateTime.fromISO(date).isValid\n ) {\n throw new Error(\n `El parámetro \"date\" no tiene un formato (yyyy-MM-ddTHH:mm:ss, yyyy-MM-dd HH:mm:ss o yyyy-MM-dd) valido: ${date}`,\n );\n }\n\n if (date instanceof DateBuilder) {\n this.date = date.date;\n this.timestamp = date.timestamp;\n } else if (date instanceof DateTime) {\n this.date = date;\n this.timestamp = this.date.toMillis();\n } else if (date instanceof Date) {\n this.date = DateTime.fromJSDate(date);\n this.timestamp = this.date.toMillis();\n } else {\n if (\n typeof date === 'string' &&\n constants.regexp.datetime.test(date)\n ) {\n this.date = DateTime.fromFormat(date, 'yyyy-MM-dd HH:mm:ss');\n } else if (\n typeof date === 'string' &&\n constants.regexp.date.test(date)\n ) {\n this.date = DateTime.fromFormat(date, 'yyyy-MM-dd');\n } else if (\n typeof date === 'string' &&\n constants.regexp.datetimeISO8601.test(date)\n ) {\n this.date = DateTime.fromISO(date);\n } else {\n this.date = DateTime.now();\n }\n\n this.timestamp = this.date.toMillis();\n }\n this.date = this.date.setLocale(this.locale);\n this.date = this.date.setZone(this.timezone);\n return this;\n };\n\n /**\n * Setea la hora de la fecha.\n */\n setTime = (time: string) => {\n let newDate = null;\n\n if (time.match(/^[0-9]{1,2}:[0-9]{2}:[0-9]{2}$/)) {\n newDate = new DateBuilder(`${this.ymd()} ${time}`);\n } else if (time.match(/^[0-9]{1,2}:[0-9]{2}$/)) {\n newDate = new DateBuilder(`${this.ymd()} ${time}:${this.s()}`);\n } else {\n throw new Error(\n 'Formato de hora inválido en setTime. Se acepta [H]H:mm:ss y [H]H:mm',\n );\n }\n\n this.set(newDate);\n\n return this;\n };\n\n /**\n * Setea la hora de la fecha a 00:00:00.\n */\n setZeroTime = () => {\n const newDate = new DateBuilder(`${this.ymd()} 00:00:00`);\n this.set(newDate);\n return this;\n };\n\n /**\n * Setea la hora de la fecha a 23:59:59.\n */\n setLastTimeOfDay = () => {\n const newDate = new DateBuilder(`${this.ymd()} 23:59:59`);\n this.set(newDate);\n return this;\n };\n\n /**\n * Método para formatear una fecha y devolver un string con ella. Por defecto el formato es el\n * dado por luxon.\n */\n private format = (format = '') => {\n switch (format.toUpperCase()) {\n case 'YMDHMS':\n return this.date.toFormat('yyyy-MM-dd HH:mm:ss');\n case 'YMDHM':\n return this.date.toFormat('yyyy-MM-dd HH:mm');\n case 'YMD':\n return this.date.toFormat('yyyy-MM-dd');\n case 'YM':\n return this.date.toFormat('yyyy-MM');\n case 'HMS':\n return this.date.toFormat('HH:mm:ss');\n case 'HM':\n return this.date.toFormat('HH:mm');\n case 'H':\n return this.date.toFormat('H');\n case 'S':\n return this.date.toFormat('ss');\n case 'm':\n return this.date.toFormat('mm');\n case 'D':\n return this.date.toFormat('dd');\n case 'Y':\n return this.date.toFormat('yyyy');\n case 'M':\n return this.date.toFormat('M');\n case 'E':\n return this.date.toFormat('E');\n case 'ISO':\n return this.date.toISO()!;\n case 'DMY':\n return this.date.toFormat('dd-MM-yyyy');\n case 'DMYHM':\n return this.date.toFormat('dd-MM-yyyy HH:mm');\n case 'CDLHM':\n return this.date.toFormat('cccc, dd LLLL HH:mm');\n case 'DEFAULT':\n return `${this.date.toFormat(\n 'yyyy-MM-dd',\n )}T${this.date.toFormat('HH:mm:ss')}`;\n default:\n return this.date.toISO()!;\n }\n };\n\n /**\n * Devuelve la fecha con el formato \"YMDHMS\".\n */\n toISO = () => this.format('ISO');\n\n /**\n * Devuelve la fecha con el formato \"YMDHMSTHH:mm:ss\".\n */\n toDefaultFormat = () => this.format('DEFAULT');\n\n /**\n * Devuelve la fecha con el formato \"YMDHMS\".\n */\n ymdhms = () => this.format('YMDHMS');\n\n /**\n * Devuelve la fecha con el formato \"YMDHM\".\n */\n ymdhm = () => this.format('YMDHM');\n\n /**\n * Devuelve la fecha con el formato \"HMS\".\n */\n hms = () => this.format('HMS');\n\n /**\n * Devuelve la fecha con el formato \"HM\".\n */\n hm = () => this.format('HM');\n\n /**\n * Devuelve la fecha con el formato \"S\".\n */\n s = () => this.format('S');\n\n /**\n * Devuelve la fecha con el formato \"YMD\".\n */\n ymd = () => this.format('YMD');\n\n /**\n * Devuelve la fecha con el formato \"YM\".\n */\n ym = () => this.format('YM');\n\n /**\n * Devuelve la fecha con el formato \"DMY\".\n */\n dmy = () => this.format('DMY');\n\n /**\n * Devuelve la fecha con el formato \"DMYHM\"\n */\n dmyhm = () => this.format('DMYHM');\n\n /**\n * Devuelve la fecha con el formato \"CDLHM\"\n */\n cdlhm = () => this.format('CDLHM');\n\n /**\n * Devuelve la hora de una fecha.\n */\n hour = () => parseInt(this.format('H'), 10);\n\n /**\n * Devuelve los minutos de una fecha\n */\n minute = () => parseInt(this.format('m'), 10);\n\n /**\n * Devuelve el día de una fecha.\n */\n day = () => parseInt(this.format('D'), 10);\n\n /**\n * Devuelve el mes de una fecha (1=Enero y 12=Diciembre).\n */\n month = () => parseInt(this.format('M'), 10);\n\n /**\n * Devuelve el año de una fecha.\n */\n year = () => parseInt(this.format('Y'), 10);\n\n /**\n * Devuelve el día de la semana de una fecha (1=Lunes y 7=Domingo).\n */\n weekday = () => parseInt(this.format('E'), 10);\n\n /**\n * Devuelve el ultimo día del mes dado por la fecha.\n */\n getLastDayMonth = () =>\n parseInt(this.date.endOf('month').toFormat('d'), 10);\n\n /**\n * Compara dos fechas usando el timestamp.\n */\n isEqual = (date: DateBuilder) => this.timestamp === date.timestamp;\n\n /**\n * Compara dos fechas usando el timestamp.\n */\n isLessThan = (date: DateBuilder) => this.timestamp < date.timestamp;\n\n /**\n * Compara dos fechas usando el timestamp.\n */\n isLessOrEqualThan = (date: DateBuilder) => this.timestamp <= date.timestamp;\n\n /**\n * Compara dos fechas usando el timestamp.\n */\n isGreaterThan = (date: DateBuilder) => this.timestamp > date.timestamp;\n\n /**\n * Compara dos fechas usando el timestamp.\n */\n isGreaterOrEqualThan = (date: DateBuilder) =>\n this.timestamp >= date.timestamp;\n\n /**\n * Compara dos fechas usando solo la hora.\n */\n timeIsLessThan = (date: DateBuilder) => {\n const firstDate = new DateBuilder(`2022-01-01 ${this.hms()}`);\n const secondDate = new DateBuilder(`2022-01-01 ${date.hms()}`);\n\n return firstDate.isLessThan(secondDate);\n };\n\n /**\n * Compara dos fechas usando solo la hora.\n */\n timeIsLessOrEqualThan = (date: DateBuilder) => {\n const firstDate = new DateBuilder(`2022-01-01 ${this.hms()}`);\n const secondDate = new DateBuilder(`2022-01-01 ${date.hms()}`);\n\n return firstDate.isLessOrEqualThan(secondDate);\n };\n\n /**\n * Compara dos fechas usando solo la hora.\n */\n timeIsGreaterThan = (date: DateBuilder) => {\n const firstDate = new DateBuilder(`2022-01-01 ${this.hms()}`);\n const secondDate = new DateBuilder(`2022-01-01 ${date.hms()}`);\n\n return firstDate.isGreaterThan(secondDate);\n };\n\n /**\n * Compara dos fechas usando solo la hora.\n */\n timeIsGreaterOrEqualThan = (date: DateBuilder) => {\n const firstDate = new DateBuilder(`2022-01-01 ${this.hms()}`);\n const secondDate = new DateBuilder(`2022-01-01 ${date.hms()}`);\n\n return firstDate.isGreaterOrEqualThan(secondDate);\n };\n\n /**\n * Obtener entre dos fechas la fecha mas pequeña.\n */\n min = (date: DateBuilder) => {\n if (this.isLessThan(date)) {\n return this;\n }\n\n return date;\n };\n\n /**\n * Obtener entre dos fechas la fecha mas grande.\n */\n max = (date: DateBuilder) => {\n if (this.isGreaterThan(date)) {\n return this;\n }\n\n return date;\n };\n\n /**\n * Setea la zona horaria de la fecha.\n */\n setTimeZone = (timezone: string) => {\n this.date = this.date.setZone(timezone);\n return this;\n };\n\n toUTC = () => this.date.toUTC();\n\n /**\n * Obtener una fecha formateada como string. Devuelve el formato:\n * \"YYYY-MM-DD HH:mm:ss\"\n */\n toString = () => this.ymdhms();\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, Box, Paper, CircularProgress } from '@material-ui/core';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { CheckOutlined, CloudDownload } from '@material-ui/icons';\nimport ClearIcon from '@material-ui/icons/Clear';\nimport {\n AppContext,\n SttDialog,\n SttDropdownButton,\n SttFormDate,\n SttFormText,\n SttFormTextarea,\n SttSelectPForm,\n SttSelectUser,\n SttTable,\n} from '../../sporttia/all';\nimport { useCrud, useInteractionsFiles } from '../../lib/hooks';\nimport Consumption from './boletoDialog/Consumption';\nimport HandlePaymentsModal from '../../pages/sc/groups/HandlePaymentsModal';\nimport POSPaymentDialog from './POSPaymentDialog';\nimport POSStripePaymentDialog from '../stripe/POSStripePaymentDialog';\nimport useBonosService from '../../services/BonosService';\nimport { getErrorMessage } from '../../lib/utils';\nimport constants from '../../config/constants';\nimport translations from '../../translations';\nimport colors from '../../styles/Colors';\nimport CashdroControlDialog from './CashdroControlDialog';\nimport DateBuilder from '../../lib/DateBuilder';\n\nconst useStyles = makeStyles({\n playButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n\nexport default function BoletoDialog({ item, onSave, onClose }) {\n const cxt = useContext(AppContext);\n const { openFile } = useInteractionsFiles();\n const classes = useStyles();\n\n const [boleto, setBoleto, setProperty, Get, Post] = useCrud(item);\n const [movements, setMovements] = useState();\n const [price, setPrice] = useState();\n const [paymentForm, setPaymentForm] = useState();\n const [openAskingPaymentProcedure, setOpenAskingPaymentProcedure] =\n useState(false);\n\n const [posPaymentParams, setPosPaymentParams] = useState(null);\n const rowsPerPage = 5;\n const [pageAndRows, setPageAndRows] = useState({\n page: 1,\n rows: rowsPerPage,\n });\n const { useGetBonoBoletosMovs } = useBonosService();\n const getBonoBoletoMovsQuery = useGetBonoBoletosMovs(\n item.id,\n {\n ...pageAndRows,\n trash: !!boleto.trash,\n },\n {\n enabled: !!item?.id,\n onSuccess: (response) => {\n setMovements(response);\n },\n },\n );\n\n const [cashdroPayment, setCashdroPayment] = useState(false);\n const [cashdroPaymentAmount, setCashdroPaymentAmount] = useState(0);\n\n const CASHDRO = cxt?.sc?.cashdroConnected;\n\n useEffect(() => {\n if (item.bono || item.payment) {\n setBoleto(item);\n setPrice(item.payment ? item.payment.price : item.bono.price);\n setPaymentForm(item.payment ? item.payment.paymentForm : '');\n } else {\n setBoleto({\n id: null,\n bono: {\n id: item.id,\n },\n });\n setPrice(item.price);\n }\n // Migrar a react-query\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n\n function saveAndClose() {\n onSave?.();\n onClose?.();\n }\n\n const bonosService = useBonosService();\n const updateBonoBoletoMutation = bonosService.useUpdateBonoBoleto({\n onSuccess: () => {\n saveAndClose();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const createBonoUserMutation = bonosService.useCreateBonoUser({\n onSuccess: (response) => {\n const { tpv } = response;\n\n if (\n tpv?.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n // params for the POS dialog (datáfono físico)\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n sc: {\n id: tpv?.sc?.id,\n scName: tpv?.sc?.short,\n entityName: tpv?.sc?.customer?.name,\n address: tpv?.sc?.address,\n cif: tpv?.sc?.customer?.cif,\n phone: tpv?.sc?.phonePublic,\n },\n });\n } else {\n saveAndClose();\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n function upsert() {\n if (boleto.id) {\n updateBonoBoletoMutation.mutate({\n id: boleto.id,\n params: {\n notes: boleto.notes,\n },\n });\n } else {\n // eslint-disable-next-line no-use-before-define\n setupPayment();\n }\n }\n\n const setupPayment = () => {\n if (\n CASHDRO &&\n paymentForm === constants.payment.paymentForms.cashdro.name\n ) {\n setCashdroPayment(true);\n setCashdroPaymentAmount(price);\n } else {\n // eslint-disable-next-line no-use-before-define\n createPayment();\n }\n };\n\n const createPayment = () => {\n createBonoUserMutation.mutate({\n bonoId: boleto.bono.id,\n userId: boleto.user.id,\n params: {\n paymentForm,\n price,\n expiration: boleto.expiration,\n notes: boleto.notes,\n },\n });\n };\n\n const deleteBoleto = (deletingPaymentProcedure) => {\n let params;\n if (deletingPaymentProcedure !== undefined) {\n params = {\n managePayments: deletingPaymentProcedure,\n };\n }\n cxt.api('DELETE', `/bonos/boletos/${boleto.id}`, {\n params,\n success: () => {\n onClose();\n setOpenAskingPaymentProcedure(false);\n cxt.showMessage('S', cxt.t('Deleted'));\n },\n });\n };\n\n function consume() {\n Post(`/bonos/boletos/${boleto.id}/movs`, { consumptions: 1 }, true)\n .then(({ bonoMov }) => {\n setMovements({\n ...movements,\n count: movements.count + 1,\n rows: [bonoMov].concat(movements.rows),\n });\n setProperty({ name: 'consumed', value: boleto.consumed + 1 });\n })\n .catch(() => {\n // catch but ignore\n });\n }\n\n function openReceipt(format) {\n if (item.payment) {\n openFile(\n `/payments/${item.payment.id}.pdf?format=${format}`,\n 'application/pdf',\n null,\n `${cxt.t('Ticket')}_${item.payment.id}`,\n );\n }\n }\n\n function refundBonoMov(movId) {\n cxt.api('DELETE', `/bonos/movs/${movId}`, {\n confirmation: true,\n success: () => {\n boleto.consumed += 1;\n getBonoBoletoMovsQuery.refetch();\n },\n });\n }\n\n if (\n createBonoUserMutation.isLoading ||\n updateBonoBoletoMutation.isLoading ||\n getBonoBoletoMovsQuery.isLoading\n ) {\n return (\n \n \n \n }\n />\n );\n }\n\n return (\n <>\n \n \n {\n setProperty({\n name: 'user',\n value: {\n fullName: mship.fullName,\n id: mship.user.id,\n },\n });\n }}\n returnMship\n />\n \n\n {/* --- Payment form --- */}\n {price > 0 && (\n \n \n setPaymentForm(value)\n }\n />\n \n )}\n 0 ? 4 : 12}>\n \n \n {price > 0 && (\n \n setPrice(value)}\n />\n \n )}\n \n \n \n {boleto.id && (\n <>\n \n \n \n \n \n \n (\n \n 0\n ? colors.green\n : colors.red,\n }}\n >\n {row.amount > 0\n ? cxt.t(\n translations\n .bono\n .refund,\n )\n : cxt.t(\n translations\n .bono\n .consumption,\n )}\n

\n ),\n },\n {\n title: cxt.t(\n translations.generic\n .created,\n ),\n field: 'created',\n value: (row) =>\n new DateBuilder(\n row?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmyhm(),\n },\n {\n title: cxt.t(\n translations.generic\n .concept,\n ),\n type: 'text',\n field: 'concept',\n },\n {\n title: cxt.t(\n translations.generic\n .amount,\n ),\n type: 'text',\n field: 'amount',\n },\n {\n title: '',\n value: (row) =>\n row.amount < 0 && (\n \n refundBonoMov(\n row.id,\n )\n }\n />\n ),\n },\n ]}\n onFetch={(response) => {\n setPageAndRows(response);\n }}\n />\n
\n
\n
\n \n )}\n \n }\n buttons={[\n boleto.id &&\n boleto.payment &&\n !boleto.trash && {\n component: (\n }\n caption={cxt.t(translations.generic.print)}\n options={[\n {\n label: 'A4',\n value: 0,\n },\n {\n label: 'Ticket',\n value: 1,\n },\n ]}\n size=\"medium\"\n variant=\"outlined\"\n color=\"default\"\n onSelected={(opt) => openReceipt(opt.value)}\n />\n ),\n },\n !boleto.trash && {\n type: 'save',\n onClick: upsert,\n },\n boleto.id &&\n !boleto.trash && {\n type: 'delete',\n onClick: () => setOpenAskingPaymentProcedure(true),\n },\n boleto.id &&\n !boleto.trash && {\n icon: ,\n caption: cxt.t('Consume'),\n onClick: consume,\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n\n setOpenAskingPaymentProcedure(false)}\n options={[\n {\n caption: cxt.t('associatedPayments.doNothing'),\n value: '0',\n },\n {\n caption: cxt.t('associatedPayments.refundToPurse'),\n value: '1',\n },\n {\n caption: cxt.t('associatedPayments.refundInCash'),\n value: '2',\n },\n {\n caption: cxt.t('associatedPayments.delete'),\n value: '3',\n },\n ]}\n onAccept={(option) => {\n // JPB 9 Jul 2020. Deleting action codes in groups is different than in other in booking.\n switch (option) {\n case '0':\n deleteBoleto();\n break; // PBM: 'do nothing' case was missing\n case '1':\n deleteBoleto(1);\n break;\n case '2':\n deleteBoleto(2);\n break;\n case '3':\n deleteBoleto(3);\n break;\n default:\n }\n }}\n />\n\n {cxt.sc?.sporttiaStripeLocationId && posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n saveAndClose();\n }}\n />\n ) : (\n setPosPaymentParams(null)}\n onSuccess={() => {\n saveAndClose();\n }}\n />\n )}\n\n {cashdroPayment && (\n {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n }}\n onSuccess={() => {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n createPayment();\n }}\n />\n )}\n \n );\n}\n","import React, { useRef, useState, useEffect, useContext } from 'react';\nimport { Box, CircularProgress, makeStyles } from '@material-ui/core';\nimport clsx from 'clsx';\nimport Webcam from 'react-webcam';\nimport { SttButton } from '../../sporttia/buttons/SttButton';\nimport { AppContext } from '../../sporttia/all';\n\nconst useStyles = makeStyles((theme) => ({\n webcamContainer: {\n position: 'relative',\n backgroundColor: 'white',\n width: 'inherit',\n maxWidth: 'inherit',\n height: 'inherit',\n maxHeight: 'inherit',\n },\n border: {\n border: '1px dashed #cbcbcb',\n },\n borderLess: {\n borderWidth: 0,\n },\n webcam: {\n width: 'inherit',\n maxWidth: 'inherit',\n height: 'inherit',\n maxHeight: 'inherit',\n },\n loadingContainer: {\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'transparent',\n },\n error: {\n padding: theme.spacing(3),\n fontSize: 16,\n },\n}));\n\nexport default function WebcamCapture({\n width,\n height,\n format = 'image/jpeg',\n onCapture,\n}) {\n const cxt = useContext(AppContext);\n\n const webcamRef = useRef(null);\n const [devices, setDevices] = useState([]);\n const [ready, setReady] = useState(false);\n const [error, setError] = useState(false);\n const [cameraReady, setCameraReady] = useState(false);\n\n const classes = useStyles();\n\n useEffect(() => {\n navigator.mediaDevices.enumerateDevices().then((mediaDevices) => {\n setReady(true);\n setDevices(\n mediaDevices.filter(({ kind }) => kind === 'videoinput'),\n );\n });\n }, []);\n\n function capture() {\n const imageSrc = webcamRef.current.getScreenshot();\n onCapture && onCapture(imageSrc);\n }\n\n const devicesDetected = devices && devices.length > 0;\n\n if (!ready) {\n return null;\n }\n\n return (\n \n {!devicesDetected && (\n \n

{cxt.t('page.user.webcam.noWebcam')}

\n
\n )}\n {error && (\n \n

{cxt.t('page.user.webcam.webcamError')}

\n
\n )}\n {devicesDetected && !error && (\n <>\n \n \n {\n setCameraReady(true);\n }}\n onUserMediaError={(MediaStreamError) => {\n setError(MediaStreamError);\n }}\n />\n {!cameraReady && (\n
\n \n
\n )}\n
\n \n \n \n \n \n )}\n \n );\n}\n","import React, { useRef, useState, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport ReactCrop from 'react-image-crop';\nimport { SttButton } from '../../sporttia/buttons/SttButton';\nimport 'react-image-crop/dist/ReactCrop.css';\nimport { AppContext } from '../../sporttia/all';\n\nconst DataReturnTypes = {\n blob: 'blob',\n base64: 'base64',\n};\n\nexport default function ImageCrop({\n src,\n cropWidth,\n cropHeight,\n targetWidth,\n targetHeight,\n onCrop,\n dataReturnType,\n}) {\n const cxt = useContext(AppContext);\n\n const imageRef = useRef(null);\n const [crop, setCrop] = useState();\n\n function getCroppedImg(image, crop, returnType, fileName) {\n const canvas = document.createElement('canvas');\n const scaleX = image.naturalWidth / image.width;\n const scaleY = image.naturalHeight / image.height;\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const ctx = canvas.getContext('2d');\n\n ctx.drawImage(\n image,\n crop.x * scaleX,\n crop.y * scaleY,\n crop.width * scaleX,\n crop.height * scaleY,\n 0,\n 0,\n targetWidth,\n targetHeight,\n );\n\n if (returnType == DataReturnTypes.base64) {\n return canvas.toDataURL('image/jpeg', 1.0);\n }\n if (returnType == DataReturnTypes.blob) {\n return new Promise((resolve, reject) => {\n canvas.toBlob(\n (blob) => {\n blob.name = fileName;\n resolve(blob);\n },\n 'image/jpeg',\n 1,\n );\n });\n }\n throw 'ImageCrop component requires a DataReturnType parameter';\n\n // base64:\n // const base64Image = canvas.toDataURL('image/jpeg');\n\n // blob:\n /* ; */\n }\n\n async function applyCrop() {\n if (onCrop && onCrop.constructor === Function) {\n const cropped = await getCroppedImg(\n imageRef.current,\n crop,\n dataReturnType,\n 'cropped.jpg',\n );\n onCrop(cropped);\n }\n }\n\n function setup() {\n if (imageRef.current) {\n const { width, height } = imageRef.current;\n\n if (cropWidth > width) {\n cropWidth = width;\n }\n\n if (cropHeight > height) {\n cropHeight = height;\n }\n\n const rect = {\n aspect: cropWidth / cropHeight,\n x: (width - cropWidth) / 2,\n y: (height - cropHeight) / 2,\n width: cropWidth,\n height: cropHeight,\n };\n\n setCrop(rect);\n }\n }\n\n return (\n \n \n {crop && (\n \n \n setCrop(newCrop)}\n />\n \n \n \n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\nimport moment from 'moment';\nimport WebcamCapture from '../../../components/imageCapture/WebcamCapture';\nimport ImageCrop from '../../../components/imageCapture/ImageCrop';\nimport { AppContext, SttDialog } from '../../../sporttia/all';\nimport { fullName } from '../../../lib/utils';\nimport { useInteractionsFiles } from '../../../lib/hooks';\n\nconst Steps = {\n CAPTURING: 0,\n CROPPING: 1,\n DONE: 2,\n};\n\nexport default function SttWebcamCaptureDialog({\n mship,\n open,\n onClose,\n onUploaded,\n}) {\n const cxt = useContext(AppContext);\n const { uploadFile } = useInteractionsFiles();\n const [step, setStep] = useState(Steps.CAPTURING);\n const [imgSrc, setImgSrc] = useState(null);\n const [croppedImageUrl, setCroppedImageUrl] = useState(null);\n const [uploading, setUploading] = useState(false);\n\n useEffect(() => {\n if (open) {\n setStep(Steps.CAPTURING);\n }\n }, [open]);\n\n useEffect(() => {\n if (imgSrc) {\n setStep(Steps.CROPPING);\n }\n }, [imgSrc]);\n\n useEffect(() => {\n if (croppedImageUrl) {\n setStep(Steps.DONE);\n }\n }, [croppedImageUrl]);\n\n function setCroppedImage(dataURL) {\n setCroppedImageUrl(dataURL);\n }\n\n function saveCroppedImage() {\n if (!croppedImageUrl) {\n console.log('No cropped image dataUrl');\n return;\n }\n\n if (!mship || !mship.id) {\n console.log('No membership to upload picture to');\n return;\n }\n\n setUploading(true);\n\n fetch(croppedImageUrl)\n .then((response) => response.blob())\n .then(\n (blob) => new File([blob], 'temp.jpg', { type: 'image/jpeg' }),\n )\n .then((file) => {\n uploadFile(\n {\n name: `${fullName(mship)}_${moment().format(\n 'DD-MM-YYYY',\n )}`,\n type: 'USER_PHOTO',\n idMship: mship.id,\n },\n file,\n )\n .then((r) => {\n if (onUploaded && onUploaded.constructor === Function) {\n onUploaded(r);\n }\n })\n .catch((error) => {\n console.log(error);\n })\n .finally(() => {\n setUploading(false);\n });\n });\n }\n\n // TODO: títulos para las diferentes secciones / instrucciones para el usuario\n\n let content;\n switch (step) {\n case Steps.CAPTURING:\n content = ;\n break;\n case Steps.CROPPING:\n content = (\n setCroppedImage(dataURL)}\n />\n );\n break;\n case Steps.DONE:\n content = croppedImageUrl && (\n \n \n \n );\n break;\n }\n\n return (\n 0 && {\n caption: cxt.t('app.goBack'),\n icon: ,\n onClick: () => setStep(step - 1),\n },\n step < Steps.DONE\n ? {\n type: 'cancel',\n onClick: onClose,\n }\n : {\n type: 'save',\n onClick: saveCroppedImage,\n loading: uploading,\n },\n ]}\n />\n );\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n position: 'absolute',\n right: 16,\n top: '50%',\n transform: 'translateY(-50%)'\n }\n};\n/**\n * Must be used as the last child of ListItem to function properly.\n */\n\nvar ListItemSecondaryAction = /*#__PURE__*/React.forwardRef(function ListItemSecondaryAction(props, ref) {\n var classes = props.classes,\n className = props.className,\n other = _objectWithoutProperties(props, [\"classes\", \"className\"]);\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemSecondaryAction.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\nexport default withStyles(styles, {\n name: 'MuiListItemSecondaryAction'\n})(ListItemSecondaryAction);","import React, { useState, useContext, Fragment } from 'react';\nimport {\n Paper,\n List,\n ListItem,\n ListItemText,\n ListItemSecondaryAction,\n IconButton,\n Divider,\n ListSubheader,\n ListItemAvatar,\n ListItemIcon,\n} from '@material-ui/core';\nimport AddIcon from '@material-ui/icons/Add';\nimport CloseIcon from '@material-ui/icons/Close';\nimport ErrorOutlineIcon from '@material-ui/icons/ErrorOutline';\nimport { AppContext, SttPagination } from '../all';\nimport ModalConfirmation from '../../layout/ModalConfirmation';\n\n/**\n * List component\n * -------------\n *\n * Props\n *\n * \t* string title\n * \t* array data: components of each data element:\n *\n *\t\t- string|Component caption: title\n *\t\t- string text: secondary text\n *\t\t- avatar\n *\t\t- Chip[] chips: listado de duplas del tipo {caption}\n *\t\t- Object objToSelect: en caso de que se use \"onSelect\", esta función\n *\t\t\tdevuelve este objeto.\n *\t\t- boolean selected\n *\n *\t* integer numRows: number of result to show. If row count is greater than\n *\t\tthis number then a pagination coomponent shows up\n * \t* function onSelect(obj): si se establece se podrá seleccionar un elemento de la lista.\n *\t* function onAdd: if it exists add adding button at the top-right corner\n *\t* function onDelete(obj)\n *\t* boolean paper: wrap it on paper\n */\nexport function SttList({\n title,\n paper = false,\n data = [],\n onSelect,\n onDelete,\n confirmationDelete = false,\n numRows,\n onAdd,\n}) {\n const cxt = useContext(AppContext);\n const [page, setPage] = useState(1);\n const [confirmationDialog, setConfirmationDialog] = useState({\n show: false,\n });\n\n const renderChips = (listItem) =>\n listItem.chips &&\n listItem.chips.map((chip, idx) => (\n \n {chip.caption}\n \n ));\n\n const handleOnSelect = (item) => {\n if (onSelect && item.objToSelect) {\n onSelect(item.objToSelect);\n }\n };\n\n const handleOnDelete = (item) => {\n if (onDelete && item.objToSelect) {\n onDelete(item.objToSelect);\n }\n };\n\n const pagination = (\n \n );\n\n const getPaginatedData = () => {\n if (numRows) {\n const idxIni = (page - 1) * numRows;\n const idxEnd = page * numRows;\n\n return data.filter((e, i) => i >= idxIni && i < idxEnd);\n }\n\n return data;\n };\n\n const content = (\n \n {title}\n\n {onAdd && (\n \n \n \n )}\n \n }\n >\n {numRows && data.length > numRows ? pagination : null}\n\n {data &&\n getPaginatedData().map((item, i) => (\n \n \n handleOnSelect(item)}\n >\n {item.avatar && (\n {item.avatar}\n )}\n\n \n {item.text}\n {renderChips(item)}\n \n }\n />\n\n {onDelete && onDelete.constructor === Function && (\n \n \n setConfirmationDialog({\n show: true,\n item,\n })\n : () => handleOnDelete(item)\n }\n >\n \n \n \n )}\n \n \n ))}\n\n {((data && data.length === 0) || !data) && (\n \n \n \n \n \n \n )}\n \n );\n\n const confirmationModal = (\n setConfirmationDialog({ show: false })}\n onAccept={() => {\n handleOnDelete(confirmationDialog.item);\n setConfirmationDialog({ show: false });\n }}\n />\n );\n\n // Render\n if (paper) {\n return (\n \n {content}\n {confirmationModal}\n \n );\n }\n\n return (\n <>\n {content}\n {confirmationModal}\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutlineOutlined');","import React, { useContext, useEffect, useState } from 'react';\nimport { Paper, Box, Grid, Typography } from '@material-ui/core';\nimport { PersonOutlineOutlined } from '@material-ui/icons';\nimport moment from 'moment';\nimport { AppContext } from '../AppContext';\nimport { SttDialog, SttFormText, SttFormDate, SttFormSelect } from '../all';\nimport { subsetObject, formatPriceByLocale } from '../../lib/utils';\nimport Mship from '../../pages/sc/mships/Mship';\nimport DateBuilder from '../../lib/DateBuilder';\n\nexport default function SttMshipDialog({ open, mshipId, onClose, onSave }) {\n const cxt = useContext(AppContext);\n const [mship, setMship] = useState();\n const [fullProfileId, setFullProfileId] = useState(null);\n\n function loadMship(id) {\n cxt.api('GET', `/mships/${id}`, {\n success: (r) => {\n setMship(r.mship);\n },\n });\n }\n\n useEffect(() => {\n if (mshipId) {\n loadMship(mshipId);\n }\n }, [mshipId]);\n\n function handleChange({ name, value }) {\n setMship((prev) => ({ ...prev, [name]: value }));\n }\n\n function saveMship() {\n const params = subsetObject(\n mship,\n 'name,address,dni,email,mobile,birthday,gender,iban',\n );\n\n params.iban = params.iban !== '' ? params.iban : null;\n\n cxt.api('PUT', `/mships/${mship.id}`, {\n params: {\n ...params,\n },\n success: (response) => {\n onClose();\n onSave?.(response.mship);\n },\n });\n }\n\n function openFullMship(id) {\n setFullProfileId(id);\n }\n\n // -----| Render |-----\n return (\n <>\n \n \n \n \n \n {cxt.t('Created')}\n \n \n {cxt.t('Purse')}\n \n \n {cxt.t('Total')}\n \n \n {cxt.t('Debt')}\n \n \n \n \n \n {new DateBuilder(\n mship.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy()}\n \n \n \n \n {formatPriceByLocale(\n mship.amount,\n mship?.amountShape\n ?.currency,\n mship?.amountShape?.locale,\n )}\n \n \n \n \n {formatPriceByLocale(\n mship.total,\n mship?.totalShape?.currency,\n mship?.totalShape?.locale,\n )}\n \n \n \n \n {formatPriceByLocale(\n mship.debt,\n mship?.debtShape?.currency,\n mship?.debtShape?.locale,\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 \n \n \n \n \n \n )\n }\n buttons={[\n {\n type: 'save',\n onClick: saveMship,\n },\n {\n icon: ,\n onClick: () => {\n if (mship) {\n openFullMship(mship.id);\n }\n },\n caption: cxt.t('Profile'),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n {fullProfileId && (\n {\n loadMship(fullProfileId);\n setFullProfileId(null);\n }}\n />\n )}\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttList } from '../../../sporttia/lists/SttList';\nimport Mship from './Mship';\nimport SttMshipDialog from '../../../sporttia/dialogs/SttMshipDialog';\nimport { fullName } from '../../../lib/utils';\n\nexport default function MshipPupils({ mshipId }) {\n const cxt = useContext(AppContext);\n const [pupils, setPupils] = useState([]);\n const [pupilChosen, setPupilChosen] = useState({\n id: null,\n mship: {\n id: null,\n },\n });\n\n useEffect(() => {\n if (mshipId) loadPupils();\n }, [mshipId]);\n\n const loadPupils = () => {\n cxt.api('GET', `/mships/${mshipId}/pupils`, {\n params: { rows: 1000 },\n success: (r) => {\n setPupils(r.rows);\n },\n });\n };\n\n return (\n <>\n \n ({\n caption: fullName(pupil),\n objToSelect: pupil,\n }))}\n onSelect={(pupil) => setPupilChosen(pupil)}\n />\n \n\n {\n setPupilChosen({\n id: null,\n mship: {\n id: null,\n },\n });\n loadPupils();\n }}\n />\n \n );\n}\n","import { MutationFunction, UseMutationOptions, useMutation } from 'react-query';\nimport { useContext } from 'react';\nimport { AppContext } from '../sporttia/AppContext';\nimport { useAPI } from '../lib/hooks';\nimport {\n DeleteMship200,\n DeleteMshipParams,\n UpdateMship200,\n UpdateMshipBody,\n} from '../types/api/paths/Mship';\n\nconst resource = '/mships';\n\n/**\n * Hook to access all 'mships' resources.\n */\nexport default function useMshipsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n /**\n * PUT /mships/{mshipId} request.\n */\n function useUpdateMship(\n mutationOptions?: UseMutationOptions<\n UpdateMship200,\n unknown,\n { id: number; params: UpdateMshipBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdateMship200,\n { id: number; params: UpdateMshipBody }\n > = ({ id, params }) => request('PUT', `${resource}/${id}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /mships/{mshipId} request.\n */\n function useDeleteMship(\n mutationOptions?: UseMutationOptions<\n DeleteMship200,\n unknown,\n { id: number; params: DeleteMshipParams }\n >,\n ) {\n const mutationFn: MutationFunction<\n DeleteMship200,\n { id: number; params: DeleteMshipParams }\n > = ({ id, params }) => request('DELETE', `${resource}/${id}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n useUpdateMship,\n useDeleteMship,\n };\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport {\n Box,\n Grid,\n Card,\n CardActions,\n Button,\n Typography,\n} from '@material-ui/core';\nimport { Publish, Videocam, FeaturedVideoOutlined } from '@material-ui/icons';\nimport {\n AppContext,\n SttFormText,\n SttFormDate,\n SttFormTextarea,\n SttButtonSave,\n SttButtonDelete,\n SttList,\n SttSelectGender,\n SttFormSwitch,\n SttSelectUser,\n SttFormSelect,\n SttSelectCity,\n SttSportChips,\n SttUnlockerChips,\n SttUploadDialog,\n SttButton,\n} from '../../../sporttia/all';\nimport { subsetObject, getErrorMessage } from '../../../lib/utils';\nimport SttLinkList from './SttLinkList';\nimport { SttSelectConsentList } from '../../../sporttia/lists/SttSelectConsentList';\nimport userImage from '../../../images/user.svg';\nimport BoletoDialog from '../../../components/dialogs/BoletoDialog';\nimport { getPath } from '../../Pages';\nimport SttWebcamCaptureDialog from './SttWebcamCaptureDialog';\nimport MshipPupils from './MshipPupils';\nimport {\n useInteractionsFiles,\n useLoader,\n useTranslations,\n} from '../../../lib/hooks';\nimport translations from '../../../translations';\nimport useMshipsService from '../../../services/MshipsService';\n\nexport default function MshipDetail({ mship, onChange, setMship, onClose }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [boletos, setBoletos] = useState([]);\n const [isCertified, setIsCertified] = useState(\n mship.certified !== null && mship.certified !== undefined,\n );\n const [consents, setConsents] = useState([]);\n const [openUploadPhoto, setOpenUploadPhoto] = useState(false);\n const [openedBoleto, setOpenedBoleto] = useState();\n const [openWebcamCapture, setOpenWebcamCapture] = useState(false);\n const [pupils, setPupils] = useState([]);\n const [validateForm, setValidateForm] = useState(false);\n const { translate } = useTranslations();\n const { downloadFile } = useInteractionsFiles();\n\n /**\n * Mship changes\n */\n useEffect(() => {\n if (mship.id) {\n // eslint-disable-next-line no-use-before-define\n loadBoletos();\n // eslint-disable-next-line no-use-before-define\n loadConsents();\n // eslint-disable-next-line no-use-before-define\n loadPupils();\n\n setIsCertified(\n mship.certified !== null && mship.certified !== undefined,\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mship.id]);\n\n const mshipsService = useMshipsService();\n\n const updateMshipMutation = mshipsService.useUpdateMship({\n onSuccess: () => {\n cxt.showMessage('S', cxt.t(translations.generic.saved));\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const deleteMshipMutation = mshipsService.useDeleteMship({\n onSuccess: () => {\n history.push(getPath('mships'));\n cxt.showMessage('S', cxt.t(translations.generic.deleted));\n onClose();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const handleOnSave = () => {\n const params = subsetObject(mship, [\n 'name',\n 'surname1',\n 'surname2',\n 'identificationType',\n 'dni',\n 'gender',\n 'notes',\n 'birthday',\n 'email',\n 'email2',\n 'mobile',\n 'mobile2',\n 'address',\n 'addrVia',\n 'addrType',\n 'addrNumber',\n 'addrLetter',\n 'iban',\n 'postalCode',\n ]);\n params.idTutor = mship.tutor ? mship.tutor.id : null;\n params.idCity = mship.city ? mship.city.id : null;\n\n updateMshipMutation.mutate({ id: mship.id, params });\n };\n\n const handleOnRemove = () => {\n deleteMshipMutation.mutate({\n id: mship.id,\n params: {\n confirmation: true,\n },\n });\n };\n\n const handleForm = (p) => {\n onChange(p);\n };\n\n const loadBoletos = () => {\n cxt.api('GET', `/mships/${mship.id}/boletos`, {\n params: { page: 1, rows: 50 },\n success: (r) => {\n setBoletos(r.rows);\n },\n });\n };\n\n const loadConsents = () => {\n cxt.api('GET', `/mships/${mship.id}/consents`, {\n params: { rows: 1000 },\n success: (r) => {\n setConsents(r.rows);\n },\n });\n };\n\n const loadPupils = () => {\n cxt.api('GET', `/mships/${mship.id}/pupils`, {\n params: { rows: 1000 },\n success: (r) => {\n setPupils(r.rows);\n },\n });\n };\n\n const toggleCertification = () => {\n cxt.api('PUT', `/mship/${mship.id}/certifications/toggle`, {\n success: () => {\n setIsCertified(!isCertified);\n },\n });\n };\n\n function printUserCard() {\n /* openUrl( <----- esto no funciona ya con los requisitos de seguridad más estrictos que hay en v7\n `${cxt.getResource(\n `/mships/${mship.id}/card.pdf`,\n )}?width=88&height=55`,\n ); */\n\n downloadFile(\n `${cxt.getResource(\n `/mships/${mship.id}/card.pdf`,\n )}?width=88&height=55`,\n 'application/pdf',\n {},\n 'card.pdf',\n );\n }\n\n const [, loader] = useLoader([\n updateMshipMutation.status,\n deleteMshipMutation.status,\n ]);\n\n return (\n <>\n {loader}\n \n \n \n {mship.img ? (\n \n ) : (\n \n \n \n )}\n \n }\n onClick={() => setOpenWebcamCapture(true)}\n >\n {cxt.t(translations.mship.webcamCapture)}\n \n }\n onClick={() => setOpenUploadPhoto(true)}\n >\n {cxt.t(translations.generic.upload)}\n \n \n {mship?.user?.lastVisit && (\n \n \n {cxt.t(translations.generic.lastVisit)}\n \n \n {mship.user.lastVisit}\n \n \n )}\n \n\n \n }\n onClick={printUserCard}\n />\n \n\n {/* --- Certificated --- */}\n \n \n \n\n {/* --- Links --- */}\n {mship?.user && (\n \n ),\n },\n {\n caption: `${\n mship.unlockers\n ? mship.unlockers.length\n : 0\n } ${cxt.t(translations.generic.unlockers)}`,\n content: (\n \n ),\n },\n {\n caption: `${boletos.length} ${cxt.t(\n translations.generic.bonos,\n )}`,\n content: (\n ({\n caption: bl.bono.name,\n text: `${cxt.t(\n translations.generic\n .consumed,\n )}: ${bl.consumed} / ${\n bl.amount\n }`,\n objToSelect: bl,\n }))}\n />\n ),\n },\n {\n caption: `${consents.length} ${cxt.t(\n translations.generic.consents,\n )}`,\n content: (\n \n ),\n },\n {\n caption: `${pupils.length} ${cxt.t(\n translations.generic.pupils,\n )}`,\n content: ,\n },\n ]}\n />\n )}\n \n \n \n {/* --- Name --- */}\n \n\n \n\n \n\n \n\n \n\n \n\n {/* --- Birthday --- */}\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 handleForm({\n name: 'tutor',\n value: mshipSelected\n ? {\n ...mshipSelected?.user,\n mship: {\n fullName:\n mshipSelected?.fullName,\n },\n }\n : null,\n });\n }}\n returnMship\n />\n\n \n \n\n \n \n \n handleOnSave()}\n fullWidth\n />\n \n \n handleOnRemove()}\n fullWidth\n />\n \n \n \n \n \n\n setOpenUploadPhoto(false)}\n uploadParams={{\n idMship: mship && mship.id,\n }}\n onUploaded={(r) => {\n const { file } = r;\n setOpenUploadPhoto(false);\n setMship({\n ...mship,\n img: file,\n });\n }}\n />\n\n setOpenWebcamCapture(false)}\n onUploaded={(r) => {\n const { file } = r;\n setOpenWebcamCapture(false);\n setMship({\n ...mship,\n img: file,\n });\n }}\n />\n\n {openedBoleto && (\n setOpenedBoleto(false)}\n />\n )}\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z\"\n}), 'Payment');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z\"\n}), 'Replay');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'Delete');","import React from 'react';\nimport { SttList } from '../../sporttia/all';\nimport Discount from '../../types/models/Discount';\nimport { useTranslations } from '../../lib/hooks';\nimport translations from '../../translations';\n\ntype DiscountListProps = {\n discounts: Discount[];\n showEmptyMessage?: boolean;\n showTitle?: boolean;\n onAdd?: () => void;\n onDelete?: (discount: Discount) => void;\n onSelect?: (discount: Discount) => void;\n};\n\nexport default function DiscountList({\n discounts,\n showEmptyMessage = true,\n showTitle = true,\n onAdd,\n onDelete,\n onSelect,\n}: DiscountListProps) {\n const { translate } = useTranslations();\n\n return discounts.length || showEmptyMessage ? (\n // @ts-expect-error Migrar SttList\n ({\n caption: `${discount.name} - ${discount.discountPercentage}%`,\n objToSelect: discount,\n }))}\n onAdd={onAdd}\n onDelete={onDelete}\n onSelect={onSelect}\n />\n ) : null;\n}\n","import { useContext } from 'react';\nimport {\n MutationFunction,\n UseMutationOptions,\n UseQueryOptions,\n useMutation,\n useQuery,\n} from 'react-query';\nimport useRestService from './RestService';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n DeletePayment200,\n GetPayment200,\n GetPaymentParams,\n UpdatePayment200,\n UpdatePaymentBody,\n UpdatePaymentCollect200,\n UpdatePaymentCollectBody,\n UpdatePaymentRecover200,\n UpdatePaymentRefund200,\n UpdatePaymentRefundBody,\n} from '../types/api/paths/Payment';\n\nconst resource = '/payments';\n\nexport const getGetPaymentQueryKey = (\n id: number,\n params?: GetPaymentParams,\n) => [`${resource}/${id}`, ...(params ? [params] : [])];\n\n/**\n * Hook to access all 'payments' resources.\n */\nexport default function usePaymentsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * PUT /payments/:id/refund request.\n */\n function updatePaymentsRefund(id: number, params: Record) {\n return request('PUT', `${resource}/${id}/refund`, params);\n }\n\n /**\n * GET /payments/:id request.\n */\n function useGetPayment(\n id: number,\n params?: GetPaymentParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey =\n queryOptions?.queryKey ?? getGetPaymentQueryKey(id, params);\n\n const queryFn = () =>\n request('GET', `${resource}/${id}`, params);\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * PUT /payments/:id request.\n */\n function useUpdatePayment(\n mutationOptions?: UseMutationOptions<\n UpdatePayment200,\n unknown,\n { id: number; params: UpdatePaymentBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdatePayment200,\n { id: number; params: UpdatePaymentBody }\n > = ({ id, params }) => request('PUT', `${resource}/${id}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /payments/:id request.\n */\n function useDeletePayment(\n mutationOptions?: UseMutationOptions<\n DeletePayment200,\n unknown,\n { id: number }\n >,\n ) {\n const mutationFn: MutationFunction<\n DeletePayment200,\n { id: number }\n > = ({ id }) => request('DELETE', `${resource}/${id}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * PUT /payments/:id/recover request.\n */\n function useRecoverPayment(\n mutationOptions?: UseMutationOptions<\n UpdatePaymentRecover200,\n unknown,\n { id: number }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdatePaymentRecover200,\n { id: number }\n > = ({ id }) => request('PUT', `${resource}/${id}/recover`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * PUT /payments/:id/collect request.\n */\n function useCollectPayment(\n mutationOptions?: UseMutationOptions<\n UpdatePaymentCollect200,\n unknown,\n { id: number; params: UpdatePaymentCollectBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdatePaymentCollect200,\n { id: number; params: UpdatePaymentCollectBody }\n > = ({ id, params }) =>\n request('PUT', `${resource}/${id}/collect`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * PUT /payments/:id/refund request.\n */\n function useRefundPayment(\n mutationOptions?: UseMutationOptions<\n UpdatePaymentRefund200,\n unknown,\n { id: number; params: UpdatePaymentRefundBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdatePaymentRefund200,\n { id: number; params: UpdatePaymentRefundBody }\n > = ({ id, params }) =>\n request('PUT', `${resource}/${id}/refund`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n ...services,\n updatePaymentsRefund,\n useGetPayment,\n useDeletePayment,\n useRecoverPayment,\n useCollectPayment,\n useRefundPayment,\n useUpdatePayment,\n };\n}\n","import React, { useContext, useState } from 'react';\nimport { Grid, Box } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttFormTextarea,\n SttFormPeriod,\n SttLabelForm,\n SttFormPrice,\n SttButtonSave,\n SttList,\n} from '../../sporttia/all';\nimport { fullName, parsePrice } from '../../lib/utils';\nimport DiscountList from '../discounts/DiscountsList';\nimport constants from '../../config/constants';\nimport translations from '../../translations';\nimport usePaymentsService from '../../services/PaymentsService';\nimport Payment from '../../types/models/Payment';\nimport DateBuilder from '../../lib/DateBuilder';\n\ntype PaymentModalDetailProps = {\n payment: Payment;\n onSave?: (payment: Payment) => void;\n};\n\nexport default function PaymentModalDetail({\n payment,\n onSave,\n}: PaymentModalDetailProps) {\n const cxt = useContext(AppContext)!;\n\n const [paymentForm, setPaymentForm] = useState(payment);\n\n const handleForm = ({ name, value }: { name: string; value: string }) => {\n setPaymentForm((prev) => ({ ...prev, [name]: value }));\n };\n\n const paymentsService = usePaymentsService();\n const updatePaymentMutation = paymentsService.useUpdatePayment({\n onSuccess: (response) => {\n if (response.payment) {\n onSave?.(response.payment);\n cxt.showMessage('S', cxt.t(translations.generic.saved));\n }\n },\n });\n\n return (\n \n \n \n\n \n\n {paymentForm.paymentForm && (\n \n )}\n\n {paymentForm.collector && (\n \n )}\n\n \n\n \n\n \n \n\n {paymentForm.receipts && (\n \n {/* @ts-expect-error: Migrate SttList */}\n ({\n caption: rpt.remittence.name,\n }))}\n />\n \n )}\n\n {!!paymentForm.discounts?.length && (\n \n \n \n )}\n\n \n \n {paymentForm.privileges.includes(\n constants.payment.privileges.modify,\n ) && (\n \n {\n updatePaymentMutation.mutate({\n id: payment.id,\n params: {\n concept: paymentForm.concept,\n // @ts-expect-error: Migrate utils\n price: parsePrice(\n paymentForm.price,\n ),\n },\n });\n }}\n />\n \n )}\n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Avatar, Box, Chip, Grid } from '@material-ui/core';\nimport FaceIcon from '@material-ui/icons/Face';\nimport { AppContext, SttTable } from '../../sporttia/all';\nimport { fullName } from '../../lib/utils';\nimport DateBuilder from '../../lib/DateBuilder';\n\nexport default function PaymentModalChildren({ payment }) {\n const cxt = useContext(AppContext);\n\n return (\n \n {payment.children && (\n \n new DateBuilder(\n row.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy(),\n },\n // {field:'creator', title:cxt.t('Creator'), type:'user.login'},\n // {field:'module', title:cxt.t('Module'), type:'module'},\n {\n field: 'concept',\n title: cxt.t('Concept'),\n type: 'link',\n align: 'left',\n value: (r) => (\n <>\n {r.concept}\n {r.user && (\n \n }\n label={\n r.user?.mship\n ? fullName(\n r.user?.mship,\n )\n : r.name\n }\n />\n \n )}\n \n ),\n },\n // {field:'period', title:cxt.t('Period'), value:r => ({ini:r.ini, end:r.end}), type:'period'},\n // {field:'collector', title:cxt.t('Collector'), type:'user.login'},\n {\n field: 'paymentForm',\n title: cxt.t('PForm'),\n type: 'pf',\n },\n {\n field: 'paymentDate',\n title: cxt.t('Paid'),\n type: 'dmy',\n },\n {\n field: 'price',\n title: cxt.t('Price'),\n type: 'price',\n },\n ]}\n // onFetch={loadPayments}\n />\n )}\n \n );\n}\n","import React, { useContext } from 'react';\nimport {\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n} from '@material-ui/core';\nimport { AppContext } from '../../sporttia/all';\nimport { PaymentForm } from '../../types/payment';\nimport translations from '../../translations';\n\ntype PaymentFormDialogProps = {\n pfs: PaymentForm[];\n onClose: () => void;\n open: boolean;\n onSelect: (paymentForm: PaymentForm) => void;\n};\n\nexport default function PaymentFormDialog({\n pfs = [],\n onClose,\n open,\n onSelect,\n}: PaymentFormDialogProps) {\n const cxt = useContext(AppContext)!;\n\n const paymentForms = {\n CASH: cxt.t(translations.payment.paymentFormCash),\n PURSE: cxt.t(translations.payment.paymentFormPurse),\n BANK: cxt.t(translations.payment.paymentFormBank),\n DATAFONO: cxt.t(translations.payment.paymentFormDataphone),\n DATAFONO_CONNECTED: cxt.t(\n translations.payment.paymentFormDataphoneConnected,\n ),\n TPV: cxt.t(translations.payment.paymentFormTpv),\n RECEIPT: cxt.t(translations.payment.paymentFormReceipt),\n FREE: cxt.t(translations.payment.paymentFormFree),\n LATER: cxt.t(translations.payment.paymentFormLater),\n ZITYCARD: cxt.t(translations.payment.paymentFormZitycard),\n CASHDRO: cxt.t(translations.payment.paymentFormCashdro),\n };\n\n return (\n \n {cxt.t(translations.payment.paymentForm)}\n \n {pfs.map((paymentForm) => (\n onSelect(paymentForm)}\n key={paymentForm}\n >\n \n \n ))}\n \n \n );\n}\n","import React, { useContext } from 'react';\nimport { Box, Chip, Grid, Typography } from '@material-ui/core';\nimport { AppContext } from '../AppContext';\nimport { formatPriceByLocale } from '../../lib/utils';\n\nexport function SttChipRate({\n rates,\n title = '',\n color = 'primary',\n maxWidth = 'auto',\n grid = false,\n xs = 12,\n justifyContent = 'left',\n ...rest\n}) {\n const cxt = useContext(AppContext);\n\n function unifyRate(rate) {\n const name = rate.name ? rate.name : '';\n const duration = rate.duration ? `${rate.duration} min` : '';\n const price = rate.price\n ? formatPriceByLocale(\n rate.price,\n rate?.priceShape?.currency,\n rate?.priceShape?.locale,\n )\n : '';\n return `${name} ${duration} ${price}`;\n }\n\n const content = (\n <>\n {title !== '' && {title}}\n \n {rates &&\n rates.map((rate, idx) => (\n \n \n \n ))}\n \n \n );\n\n // -----| Render |-----\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttLabelForm,\n SttFormText,\n SttFormTextarea,\n SttFormPrice,\n SttLabelDate,\n SttLabelLink,\n} from '../../../sporttia/all';\nimport { SttChipRate } from '../../../sporttia/chips/SttChipRate';\nimport Mship from '../../../pages/sc/mships/Mship';\nimport { fullName, formatPriceByLocale } from '../../../lib/utils';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function BookingDialogDetail({ booking, setBooking }) {\n const cxt = useContext(AppContext);\n\n const [viewUserId, setViewUserId] = useState(null);\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setBooking({ ...booking, [name]: value });\n };\n\n // Algo raro pasa\n if (!booking.user) {\n return null;\n }\n\n // -----| Render |-----\n return (\n \n \n\n \n\n \n\n }\n />\n\n \n \n\n {booking.cancelator && (\n \n )}\n\n {/**/}\n\n {booking.user && booking.user.mship ? (\n setViewUserId(booking.user.mship.id)}\n />\n ) : (\n \n )}\n \n\n \n\n {booking && booking.rate && (\n \n )}\n\n {viewUserId && (\n setViewUserId(null)}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttSelectMship,\n SttFormPrice,\n SttFormTextarea,\n SttSelectPForm,\n} from '../../sporttia/all';\nimport { parsePrice } from '../../lib/utils';\nimport POSStripePaymentDialog from '../stripe/POSStripePaymentDialog';\nimport POSPaymentDialog from './POSPaymentDialog';\nimport constants from '../../config/constants';\nimport CashdroControlDialog from './CashdroControlDialog';\n\n/**\n * Create payment\n *\n * Props\n *\n * \t\t* Object mship: mship por defecto\n * \t\t* Function onPaymentSuccess(payment)\n * \t * String targetAPI (for example /bookings/1234/payments)\n */\nexport default function PaymentCreationDialog({\n open,\n mship,\n onClose,\n onPaymentSuccess,\n targetAPI,\n}) {\n const cxt = useContext(AppContext);\n const [payment, setPayment] = useState({\n concept: '',\n price: '',\n mship: mship || { name: '', user: {} },\n paymentForm: '',\n });\n\n const [posPaymentParams, setPosPaymentParams] = useState(null);\n const [cashdroPayment, setCashdroPayment] = useState(false);\n const [cashdroPaymentAmount, setCashdroPaymentAmount] = useState(0);\n\n const CASHDRO = cxt?.sc?.cashdroConnected;\n\n useEffect(() => {\n setPayment({\n ...payment,\n mship,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mship]);\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setPayment({ ...payment, [name]: value });\n };\n\n /* Iniciar pago (puede quererse pagar con 'cashdro' / algún dispositivo físico antes de llamar a la API */\n const startPayment = async () => {\n if (\n !(\n payment &&\n payment.mship &&\n payment.mship.user &&\n payment.concept &&\n payment.price\n )\n ) {\n cxt.showMessage(\n 'W',\n 'Necesita especificar usuario, concepto y cantidad',\n );\n return;\n }\n\n if (\n CASHDRO &&\n payment.paymentForm === constants.payment.paymentForms.cashdro.name\n ) {\n setCashdroPayment(true);\n setCashdroPaymentAmount(payment.price);\n } else {\n // eslint-disable-next-line no-use-before-define\n await createPayment();\n }\n };\n\n /**\n * Create payment\n */\n const createPayment = async () => {\n cxt.api('POST', targetAPI || '/payments', {\n params: {\n concept: payment.concept,\n price: parsePrice(payment.price),\n idUser: payment?.mship?.user?.id || null,\n paymentForm: payment.paymentForm,\n },\n success: (response) => {\n cxt.showMessage('S', cxt.t('Created'));\n\n setPayment({\n concept: '',\n price: '',\n mship: mship || { name: '', user: {} },\n paymentForm: '',\n });\n\n if (\n response?.payment?.tpv &&\n response?.payment?.paymentForm?.toUpperCase() ===\n 'DATAFONO_CONNECTED'\n ) {\n setPosPaymentParams({\n amount: response.payment.price,\n concept: response.payment.concept,\n idTpv: response.payment.tpv.id,\n sc: {\n id: response.payment.tpv?.sc?.id,\n scName: response.payment.tpv?.sc?.short,\n entityName:\n response.payment.tpv?.sc?.customer?.name,\n address: response.payment.tpv?.sc?.address,\n cif: response.payment.tpv?.sc?.customer?.cif,\n phone: response.payment.tpv?.sc?.phonePublic,\n },\n });\n return;\n }\n\n onPaymentSuccess?.(response.payment);\n },\n });\n };\n\n const closeDialog = () => {\n setPayment({\n concept: '',\n price: '',\n mship: mship || { name: '', user: {} },\n paymentForm: '',\n });\n\n onClose();\n };\n\n // -----| Render |-----\n return (\n <>\n \n \n setPayment({ ...payment, mship: selectedMship })\n }\n />\n\n \n\n \n\n {/* --- Payment form --- */}\n \n \n }\n buttons={[\n {\n caption: cxt.t('Create'),\n type: 'accept',\n onClick: () => startPayment(),\n disabled: !(\n payment &&\n payment.mship &&\n payment.mship.user\n ),\n },\n {\n type: 'close',\n onClick: closeDialog,\n },\n ]}\n />\n\n {/* stripePosPaymentParams !== null ? (\n setStripePosPaymentParams(null)}\n onSuccess={() => {\n onPaymentSuccess?.();\n }}\n />\n ) : null */}\n\n {cxt.sc?.sporttiaStripeLocationId && posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n onPaymentSuccess?.();\n }}\n />\n ) : (\n setPosPaymentParams(null)}\n onSuccess={() => {\n onPaymentSuccess?.();\n }}\n />\n )}\n\n {cashdroPayment && (\n {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n }}\n onSuccess={() => {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n createPayment();\n }}\n />\n )}\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport ListItem from '@material-ui/core/ListItem';\nimport List from '@material-ui/core/List';\nimport Paper from '@material-ui/core/Paper';\nimport Box from '@material-ui/core/Box';\nimport { SttSelectMship } from '../../sporttia/selectors/SttSelectMship';\nimport { AppContext } from '../../sporttia/AppContext';\nimport { SttDialog } from '../../sporttia/dialogs/SttDialog';\n\n/**\n * Dialog that allow to sport center admin consume a ticket in the name of chosen user.\n * @param open\n * @param defaultUser\n * @param onClose\n * @returns {JSX.Element}\n */\nexport default function UseBonoDialog({\n open,\n defaultMship,\n bookingId,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const [mshipChosen, setMshipChosen] = useState();\n const [userIndividualBonos, setUserIndividualBonos] = useState([]);\n const [userFullBonos, setUserFullBonos] = useState([]);\n const [selectedBono, setSelectedBono] = useState({\n id: null,\n });\n\n /**\n * If \"defaultUser\" value was changed, \"userChosen\" value will be update.\n */\n useEffect(() => {\n if (defaultMship) setMshipChosen(defaultMship);\n }, [defaultMship]);\n\n /**\n * If \"mshipChosen\" value was changed, \"userBoletos\" value will be update loading boletos with loadBoletos().\n */\n useEffect(() => {\n if (open) {\n if (mshipChosen) loadBonos();\n else {\n setUserFullBonos([]);\n setUserIndividualBonos([]);\n }\n }\n }, [mshipChosen]);\n\n /**\n * If is possible always will be reload bonus data when open dialog.\n */\n useEffect(() => {\n if (open) loadBonos();\n }, [open]);\n\n /**\n * Load boletos associated to user, facility, booking initial datetime and booking end datetime.\n */\n const loadBonos = () => {\n if (\n ((mshipChosen && mshipChosen.user && mshipChosen.user.id) ||\n (mshipChosen && mshipChosen.id)) &&\n bookingId\n ) {\n cxt.api('GET', `/bookings/${bookingId}`, {\n params: { trash: true },\n success: (r) => {\n cxt.api('GET', `/bookings/fares`, {\n params: {\n idFacility: r.booking.facility.id,\n ini: r.booking.ini,\n end: r.booking.end,\n idUser: mshipChosen.user\n ? mshipChosen.user.id\n : mshipChosen.id,\n },\n success: (response) => {\n if (response.individualBonos)\n setUserIndividualBonos(\n response.individualBonos,\n );\n if (response.fullBonos)\n setUserFullBonos(response.fullBonos);\n },\n });\n },\n });\n }\n };\n\n /**\n * Use selected bono by user.\n */\n const useBono = () => {\n cxt.api('POST', `/bonos/boletos/${selectedBono.id}/movs`, {\n params: {\n idBooking: bookingId,\n },\n success: () => {\n cxt.showMessage('S', cxt.t('ConsumedBono'));\n onClose();\n setSelectedBono({ id: null });\n },\n });\n };\n\n // -----| Render |-----\n return (\n \n {/* Mship selector. */}\n setMshipChosen(mship)}\n />\n\n {/* User bonos list. */}\n \n {userIndividualBonos.length > 0 ||\n userFullBonos.length > 0 ? (\n \n \n {userIndividualBonos.map(\n (indvBono) =>\n indvBono.consumed !==\n indvBono.amount && (\n \n setSelectedBono(\n indvBono,\n )\n }\n key={indvBono.id}\n >\n \n \n ),\n )}\n {userFullBonos.map(\n (fullBono) =>\n fullBono.consumed !==\n fullBono.amount && (\n \n setSelectedBono(\n fullBono,\n )\n }\n key={fullBono.id}\n >\n \n \n ),\n )}\n \n \n ) : (\n \n {cxt.t('UnavailableUserBonos')}\n \n )}\n \n \n }\n buttons={[\n {\n show: selectedBono.id !== null,\n caption: cxt.t('Consume'),\n type: 'accept',\n onClick: useBono,\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, Box, Switch, FormControlLabel } from '@material-ui/core';\nimport moment from 'moment';\nimport PaymentIcon from '@material-ui/icons/Payment';\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\nimport AdjustIcon from '@material-ui/icons/Adjust';\nimport {\n AppContext,\n SttLabelDate,\n SttList,\n SttPaymentList,\n} from '../../../sporttia/all';\nimport { useToggle } from '../../../lib/hooks';\nimport PaymentCreationDialog from '../PaymentCreationDialog';\nimport { SttButton } from '../../../sporttia/buttons/SttButton';\nimport UseBonoDialog from '../UseBonoDialog';\nimport BoletoDialog from '../BoletoDialog';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function BookingDialogPayments({ booking, onUpdate }) {\n const cxt = useContext(AppContext);\n const [payments, setPayments] = useState();\n const [bonoMovs, setBonoMovs] = useState();\n const [creatingPayment, setCreatingPayment] = useState(false);\n const [useBoleto, setUseBoleto] = useState(false);\n const [openedBoleto, setOpenedBoleto] = useState();\n\n /**\n * Booking changes\n */\n useEffect(() => {\n if (booking && booking.id) {\n // eslint-disable-next-line no-use-before-define\n loadPayments();\n // eslint-disable-next-line no-use-before-define\n loadBonoMovs();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [booking]);\n\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadPayments();\n // eslint-disable-next-line no-use-before-define\n loadBonoMovs();\n });\n\n /**\n * Load payments\n */\n const loadPayments = () => {\n cxt.api('GET', `/bookings/${booking.id}/payments`, {\n params: { page: 1, rows: 100, trash },\n success: (r) => {\n setPayments(r);\n },\n });\n };\n\n /**\n * Load bono movs\n */\n const loadBonoMovs = () => {\n cxt.api('GET', `/bookings/${booking.id}/bonos/movs`, {\n params: { page: 1, rows: 100, trash },\n success: (r) => {\n setBonoMovs(r);\n },\n });\n };\n\n /**\n * Close booking\n */\n const closeBooking = () => {\n cxt.api('PUT', `/bookings/${booking.id}/close`, {\n confirmation: true,\n success: (r) => {\n onUpdate(r.booking);\n },\n });\n };\n\n // -----| Render |-----\n return (\n <>\n \n \n \n }\n caption={cxt.t('AddPayment')}\n onClick={() => setCreatingPayment(true)}\n />\n \n \n }\n caption={cxt.t('UseFare')}\n onClick={() => setUseBoleto(true)}\n />\n \n \n }\n caption={cxt.t('Close')}\n onClick={() => closeBooking()}\n />\n \n \n toggleTrash(ev.target.checked)}\n />\n }\n label={cxt.t('Trash')}\n />\n \n\n {/* --- Payments --- */}\n \n {payments && payments.rows && (\n \n )}\n \n\n {/* --- Bonos --- */}\n {bonoMovs && bonoMovs.rows && (\n \n \n \n setOpenedBoleto(bonoMov.boleto)\n }\n data={bonoMovs.rows.map((bonoMov) => ({\n caption: (\n \n \n {bonoMov.boleto.user.name}\n \n \n \n \n , {bonoMov.concept},{' '}\n {bonoMov.boleto.bono.name},{' '}\n {new DateBuilder(\n bonoMov.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmyhm()}\n \n \n \n ),\n objToSelect: bonoMov,\n }))}\n />\n \n \n )}\n\n {\n loadPayments();\n setCreatingPayment(false);\n }}\n onClose={() => setCreatingPayment(false)}\n />\n\n {\n setUseBoleto(false);\n loadBonoMovs();\n }}\n />\n\n {openedBoleto && (\n setOpenedBoleto(false)}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport { AppContext, SttList } from '../../../sporttia/all';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function BookingDialogOccupants({\n booking,\n onUpdate,\n onLastOccupantDeleted,\n}) {\n const cxt = useContext(AppContext);\n const [occupants, setOccupants] = useState();\n\n /**\n * Load bono movs\n */\n const loadOccupants = () => {\n cxt.api('GET', `/bookings/${booking.id}/occupants`, {\n params: { page: 1, rows: 800 },\n success: (r) => {\n setOccupants(r);\n },\n });\n };\n\n /**\n * Booking changes\n */\n useEffect(() => {\n if (booking && booking.id) {\n loadOccupants();\n }\n }, [booking]);\n\n /**\n * Render rate\n */\n const renderRate = (occupant) => {\n if (occupant.rate) {\n return occupant.rate\n .map(\n (price) =>\n `${price.name} - ${formatPriceByLocale(\n price?.price,\n price?.priceShape?.currency,\n price?.priceShape?.locale,\n )}`,\n )\n .join(', ');\n }\n return ``;\n };\n\n function deleteOccupant(occupant) {\n if (!(occupant && occupant.id)) {\n return;\n }\n\n cxt.api('DELETE', `/bookings/occupants/${occupant.id}`, {\n params: {\n cancelBookingOnLastOccupant: true, // TODO: modulo piscina cuando se puedan añadir entradas a la reserva (ver /src/pages/public/booked/Occupants.js)\n },\n success: () => {\n cxt.showMessage('S', cxt.t('Deleted'));\n const newRows = occupants.rows;\n newRows.splice(\n newRows.findIndex((occ) => occ.id === occupant.id),\n 1,\n );\n setOccupants({ ...occupants, rows: newRows });\n\n if (newRows.length === 0) {\n onLastOccupantDeleted && onLastOccupantDeleted();\n } else {\n onUpdate && onUpdate();\n }\n },\n confirmation: true,\n });\n }\n\n // -----| Render |-----\n return (\n <>\n {occupants && (\n ({\n caption: (\n \n
{`${occupant.user.name} ${renderRate(\n occupant,\n )}`}
\n
\n \n ),\n objToSelect: occupant,\n }))}\n />\n )}\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport moment from 'moment';\nimport { AppContext, SttDialog, SttForm } from '../../../sporttia/all';\n\nexport default function ({ open = false, device, onClose }) {\n const cxt = useContext(AppContext);\n const [simulateResult, setSimulateResult] = useState();\n const [simulateDeviceResult, setSimulateDeviceResult] = useState();\n const [form, setForm] = useState({\n code: '1111',\n direction: 'IN',\n date: moment().format('YYYY-MM-DD'),\n time: moment().format('HH:mm'),\n });\n\n /**\n * Simulate pass\n */\n const simulatePass = () => {\n setSimulateResult(null);\n cxt.api('GET', `/devices/${device.id}/auth`, {\n params: {\n code: form.code,\n direction: form.direction,\n moment: `${moment(form.date).format('YYYY-MM-DD')}T${\n form.time\n }:00`,\n },\n success: (r) => {\n setSimulateResult(r.access);\n setSimulateDeviceResult(r.device);\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setForm({ ...form, [name]: value });\n };\n\n // -----| Render |-----\n return (\n \n \n\n {/* --- Result --- */}\n {simulateResult && (\n \n \n {simulateResult.error\n ? simulateResult.error\n : 'OK'}\n \n \n )}\n\n {simulateDeviceResult &&\n simulateDeviceResult?.situation && (\n \n \n {cxt.t('mainLights')}:{' '}\n {simulateDeviceResult?.situation\n ?.mainLightsOn\n ? 'ON'\n : 'OFF'}\n \n \n )}\n\n {simulateDeviceResult &&\n simulateDeviceResult?.situation && (\n \n \n {cxt.t('cortesyLights')}:{' '}\n {simulateDeviceResult?.situation\n ?.cortesyLightsOn\n ? 'ON'\n : 'OFF'}\n \n \n )}\n \n }\n buttons={[\n {\n type: 'accept',\n onClick: simulatePass,\n },\n ]}\n />\n );\n}\n","import React, { useContext } from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttFacilityList,\n SttFormText,\n SttFormCheck,\n SttFormTextarea,\n SttSelectDeviceStatus,\n SttSelectUnlockerType,\n} from '../../../sporttia/all';\nimport SimulateAccessDialog from './SimulateAccessDialog';\n\nexport default function DeviceDetails({\n device,\n scId,\n setProperty,\n setSimulateAccessOpen,\n simulateAccessOpen,\n}) {\n const cxt = useContext(AppContext);\n\n const checkIfUserSC = cxt.logged && cxt.user.role !== 'ADMIN';\n\n // Añadir facility a este device y luego añadir localmente el 'facility' a device.facilities\n function addFacility(facility) {\n cxt.api('POST', `/devices/${device.id}/facilities/${facility.id}`, {\n success: () => {\n setProperty({\n name: 'facilities',\n value: (device.facilities || []).concat([facility]),\n });\n },\n });\n }\n\n // Eliminar facility de este device y luego quitar localmente el 'facility' de device.facilities\n function removeFacility(facility) {\n cxt.api('DELETE', `/devices/${device.id}/facilities/${facility.id}`, {\n confirmation: true,\n success: () => {\n setProperty({\n name: 'facilities',\n value: device.facilities.filter(\n (f) => f.id !== facility.id,\n ),\n });\n },\n });\n }\n\n // Render\n return (\n <>\n {device && (\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 \n \n \n \n \n \n\n \n {/* --- Anti Passback --- */}\n \n \n \n\n {/* --- Checking direction out --- */}\n \n \n \n\n {/* --- Remote opening --- */}\n \n \n \n \n \n \n \n {device.id && !device.trash && (\n addFacility(facility)}\n onDelete={(facility) =>\n removeFacility(facility)\n }\n scId={scId}\n disabled={checkIfUserSC}\n />\n )}\n \n \n \n )}\n\n {/* --- Dilalog for simulating --- */}\n setSimulateAccessOpen(false)}\n />\n \n );\n}\n","import { useContext } from 'react';\nimport {\n MutationFunction,\n UseMutationOptions,\n UseQueryOptions,\n useMutation,\n useQuery,\n} from 'react-query';\nimport useRestService from './RestService';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n CreateGroupMember200,\n CreateGroupMemberBody,\n GetGroupDiscounts200,\n GetGroupDiscountsParams,\n UpdateGroupMember200,\n UpdateGroupMemberBody,\n CreateGroupDiscount200,\n DeleteGroupDiscount200,\n GetGroupMembersParams,\n GetGroupMembers200,\n GetGroups200,\n GetGroupsParams,\n GetGroupParams,\n GetGroup200,\n} from '../types/api/paths/Group';\n\nconst resource = '/groups';\n\nexport const getGetGroupsQueryKey = (params?: GetGroupsParams) => [\n resource,\n ...(params ? [params] : []),\n];\n\nexport const getGetGroupQueryKey = (id: number, params?: GetGroupParams) => [\n `${resource}/${id}`,\n ...(params ? [params] : []),\n];\n\nexport const getGetGroupMembersQueryKey = (\n id: number,\n params?: GetGroupMembersParams,\n) => [`${resource}/${id}/members`, ...(params ? [params] : [])];\n\nexport const getGetGroupDiscountsQueryKey = (\n id: number,\n params?: GetGroupDiscountsParams,\n) => [`${resource}/${id}/discounts`, ...(params ? [params] : [])];\n\n/**\n * Hook to access all 'groups' resources.\n */\nexport default function useGroupsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /groups request.\n */\n function useGetGroups(\n params?: GetGroupsParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey = queryOptions?.queryKey ?? getGetGroupsQueryKey(params);\n\n const queryFn = () => request('GET', resource, params);\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * GET /groups/:id request.\n */\n function useGetGroup(\n id: number,\n params?: GetGroupParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey =\n queryOptions?.queryKey ?? getGetGroupQueryKey(id, params);\n\n const queryFn = () =>\n request('GET', `${resource}/${id}`, params);\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * GET /groups/members/{id}/beneficiaries request.\n */\n function getBeneficiaries(id: number) {\n return request('GET', `${resource}/members/${id}/beneficiaries`);\n }\n\n /**\n * POST /groups/members/{id}/beneficiaries request.\n */\n function addBeneficiary(id: number, params: Record) {\n return request(\n 'POST',\n `${resource}/members/${id}/beneficiaries`,\n params,\n );\n }\n\n /**\n * DELETE /groups/members/beneficiaries/{id} request.\n */\n function deleteBeneficiary(id: number) {\n return request('DELETE', `${resource}/members/beneficiaries/${id}`);\n }\n\n /**\n * GET /groups/:id/members request.\n */\n function getGroupMembers(id: number, params: Record) {\n return request('GET', `${resource}/${id}/members`, params);\n }\n\n /**\n * GET /groups/:id/members request.\n */\n function useGetGroupMembers(\n id: number,\n params?: GetGroupMembersParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey =\n queryOptions?.queryKey ?? getGetGroupMembersQueryKey(id, params);\n\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/${id}/members`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * POST /groups/:id/members request.\n */\n function useCreateGroupMember(\n mutationOptions?: UseMutationOptions<\n CreateGroupMember200,\n unknown,\n {\n id: number;\n params?: CreateGroupMemberBody;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n CreateGroupMember200,\n {\n id: number;\n params?: CreateGroupMemberBody;\n }\n > = ({ id, params }) =>\n request('POST', `${resource}/${id}/members`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * PUT /groups/members/:id request.\n */\n function useUpdateGroupMember(\n mutationOptions?: UseMutationOptions<\n UpdateGroupMember200,\n unknown,\n {\n id: number;\n params: UpdateGroupMemberBody;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdateGroupMember200,\n {\n id: number;\n params: UpdateGroupMemberBody;\n }\n > = ({ id, params }) => request('PUT', `/groups/members/${id}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * GET /groups/:id/discounts request.\n */\n function useGetGroupDiscounts(\n id: number,\n params?: GetGroupDiscountsParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey =\n queryOptions?.queryKey ?? getGetGroupDiscountsQueryKey(id, params);\n\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/${id}/discounts`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * POST /groups/:id/discounts/:id request.\n */\n function useCreateGroupDiscount(\n mutationOptions?: UseMutationOptions<\n CreateGroupDiscount200,\n unknown,\n {\n groupId: number;\n discountId: number;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n CreateGroupDiscount200,\n {\n groupId: number;\n discountId: number;\n }\n > = ({ discountId, groupId }) =>\n request('POST', `${resource}/${groupId}/discounts/${discountId}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /groups/:id/discounts/:id request.\n */\n function useDeleteGroupDiscount(\n mutationOptions?: UseMutationOptions<\n DeleteGroupDiscount200,\n unknown,\n {\n groupId: number;\n discountId: number;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n DeleteGroupDiscount200,\n {\n groupId: number;\n discountId: number;\n }\n > = ({ discountId, groupId }) =>\n request('DELETE', `${resource}/${groupId}/discounts/${discountId}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n ...services,\n useGetGroup,\n useGetGroups,\n getBeneficiaries,\n addBeneficiary,\n deleteBeneficiary,\n getGroupMembers,\n useGetGroupMembers,\n useGetGroupDiscounts,\n useCreateGroupDiscount,\n useDeleteGroupDiscount,\n useCreateGroupMember,\n useUpdateGroupMember,\n };\n}\n","import React, { useContext, useState } from 'react';\nimport { Box, CircularProgress, Dialog, DialogTitle } from '@material-ui/core';\nimport { useQueryClient } from 'react-query';\nimport useGroupsService from '../../../services/GroupsService';\nimport DiscountList from '../../../components/discounts/DiscountsList';\nimport SttError from '../../../components/error/SttError';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { getErrorMessage } from '../../../lib/utils';\nimport { GetGroupDiscounts200 } from '../../../types/api/paths/Group';\nimport translations from '../../../translations';\nimport useScsService from '../../../services/ScsService';\n\ntype GroupDiscountsListProps = {\n groupId: number;\n};\n\nexport default function GroupDiscountsList({\n groupId,\n}: GroupDiscountsListProps) {\n const cxt = useContext(AppContext)!;\n\n const [openDialog, setOpenDialog] = useState(false);\n\n const queryClient = useQueryClient();\n\n const groupsService = useGroupsService();\n const getGroupDiscountsQuery = groupsService.useGetGroupDiscounts(groupId, {\n rows: 1000,\n });\n\n const scsService = useScsService();\n const getScDiscountsQuery = scsService.useGetScsDiscounts(\n cxt.sc!.id,\n { rows: 1000 },\n { enabled: openDialog },\n );\n\n const createGroupDiscountMutation = groupsService.useCreateGroupDiscount({\n onSuccess: (result) => {\n queryClient.setQueryData(\n getGroupDiscountsQuery.queryKey,\n (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n count: old.count + 1,\n rows: [...old.rows, result.discount],\n };\n },\n );\n\n cxt.showMessage('S', cxt.t(translations.group.discountAdded));\n setOpenDialog(false);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const deleteGroupDiscountMutation = groupsService.useDeleteGroupDiscount({\n onSuccess: (result, variables) => {\n queryClient.setQueryData(\n getGroupDiscountsQuery.queryKey,\n (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n count: old.count - 1,\n rows: old?.rows.filter(\n (row) => row.id !== variables.discountId,\n ),\n };\n },\n );\n\n cxt.showMessage('S', cxt.t(translations.group.discountDeleted));\n setOpenDialog(false);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n if (\n getGroupDiscountsQuery.isLoading ||\n createGroupDiscountMutation.isLoading ||\n deleteGroupDiscountMutation.isLoading\n ) {\n return (\n \n \n \n );\n }\n\n if (getGroupDiscountsQuery.isError || getScDiscountsQuery.isError) {\n return ;\n }\n\n if (!getGroupDiscountsQuery.isSuccess) {\n return null;\n }\n\n return (\n <>\n setOpenDialog(true)}\n onDelete={(discount) => {\n deleteGroupDiscountMutation.mutate({\n discountId: discount.id,\n groupId,\n });\n }}\n />\n\n setOpenDialog(false)}\n open={openDialog}\n fullWidth\n maxWidth=\"xs\"\n >\n {getScDiscountsQuery.isLoading && (\n \n \n \n )}\n\n {getScDiscountsQuery.isSuccess && (\n <>\n \n {cxt.t(translations.generic.discounts)}\n \n \n !getGroupDiscountsQuery.data.rows.some(\n (groupDiscount) =>\n groupDiscount.id === scDiscount.id,\n ),\n )}\n onSelect={(discount) => {\n createGroupDiscountMutation.mutate({\n discountId: discount.id,\n groupId,\n });\n }}\n showTitle={false}\n />\n \n )}\n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport moment from 'moment';\nimport {\n Box,\n Grid,\n Chip,\n CircularProgress,\n TextField,\n InputAdornment,\n IconButton,\n} from '@material-ui/core';\nimport { Clear as ClearIcon, Search as SearchIcon } from '@material-ui/icons';\nimport { useQuery } from '../../../lib/hooks';\nimport useScsService from '../../../services/ScsService';\nimport {\n AppContext,\n SttDialog,\n SttFormSearch,\n SttLabelPeriod,\n SttList,\n SttNoResults,\n SttPagination,\n} from '../../../sporttia/all';\nimport SttError from '../../../components/error/SttError';\nimport { Group } from '../../../types/api/models';\nimport { isDefined } from '../../../lib/utils';\nimport translations from '../../../translations';\n\ntype SelectGroupParentDialogProps = {\n groupId: number;\n open?: boolean;\n onClose: () => void;\n onSelect: (group: Group) => void;\n};\n\n/**\n * Select group dialog\n */\nfunction SelectGroupParentDialog({\n groupId,\n open = false,\n onClose,\n onSelect,\n}: SelectGroupParentDialogProps) {\n const cxt = useContext(AppContext)!;\n const { year } = useQuery();\n\n const [searchForm, setSearchForm] = useState('');\n\n const [getGroupsPage, setGetGroupsPage] = useState(1);\n const [getGroupsFilters, setGetGroupsFilters] = useState({\n name: '',\n });\n\n const scsService = useScsService();\n const getScParentGroupsQuery = scsService.useGetScsGroups(\n cxt.sc!.id,\n {\n year: Number(year) || moment().get('year'),\n types: 'NORMAL,ABONADOS',\n page: getGroupsPage,\n rows: 7,\n ...getGroupsFilters,\n },\n {\n select: (data) => ({\n ...data,\n rows: data.rows.filter((row) => row.id !== groupId),\n }),\n },\n );\n\n // Handler to ensure page is reset to the first page when the filter is changed\n const handleOnFilter = ({\n name,\n value,\n }: {\n name: string;\n value: string;\n }) => {\n setGetGroupsPage(1);\n setGetGroupsFilters((prev) => ({\n ...prev,\n [name]: value,\n }));\n };\n\n if (!open) {\n return null;\n }\n\n if (getScParentGroupsQuery.isError) {\n return (\n \n \n \n }\n />\n );\n }\n\n return (\n \n {\n setSearchForm('');\n handleOnFilter({ name: 'name', value: '' });\n }}\n onChange={({ value }) => {\n setSearchForm(value);\n }}\n onClickSearch={() => {\n handleOnFilter({\n name: 'name',\n value: searchForm,\n });\n }}\n />\n\n {getScParentGroupsQuery.isLoading && (\n \n \n \n )}\n\n {getScParentGroupsQuery.isSuccess &&\n getScParentGroupsQuery.data.count > 0 && (\n // @ts-expect-error SttList\n onSelect(row)}\n data={getScParentGroupsQuery.data.rows.map(\n (row) => ({\n caption: (\n \n \n {row.name}\n {isDefined(\n row.numActiveUsers,\n ) && (\n \n \n \n )}\n \n \n \n \n \n ),\n text: row.description,\n objToSelect: row,\n }),\n )}\n />\n )}\n\n {getScParentGroupsQuery.data?.count === 0 && (\n \n \n \n )}\n \n }\n buttons={\n getScParentGroupsQuery.isSuccess &&\n getScParentGroupsQuery.data.count > 0 && [\n {\n type: 'component',\n show: true,\n component: (\n \n {\n setGetGroupsPage(page);\n }}\n />\n \n ),\n },\n ]\n }\n />\n );\n}\n\ntype GroupParent = {\n id: number;\n name: string;\n};\n\ntype OnChangeProps = {\n name: string;\n value: GroupParent | null;\n};\n\ntype SelectGroupParentProps = {\n groupId: number;\n groupParent: GroupParent | null;\n onChange: ({ name, value }: OnChangeProps) => void;\n caption: string;\n};\n\nexport default function SelectGroupParent({\n groupId,\n groupParent,\n onChange,\n caption,\n}: SelectGroupParentProps) {\n const cxt = useContext(AppContext)!;\n\n const [isDialogOpen, setIsDialogOpen] = useState(false);\n\n function onChangeGroupParent(selectedGroup: Group | null) {\n onChange({\n name: 'parent',\n value: selectedGroup\n ? { id: selectedGroup.id, name: selectedGroup.name! }\n : null,\n });\n }\n\n return (\n <>\n {isDialogOpen && (\n {\n setIsDialogOpen(false);\n }}\n onSelect={(selectedGroup) => {\n setIsDialogOpen(false);\n onChangeGroupParent(selectedGroup);\n }}\n />\n )}\n\n \n {\n onChangeGroupParent(null);\n }}\n >\n \n \n\n {\n setIsDialogOpen(true);\n }}\n >\n \n \n \n ),\n }}\n />\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttButtonSave,\n SttButtonDelete,\n SttFormDate,\n SttFormPrice,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttSelectFixedInterval,\n SttFormCheck,\n SttSelectGroup,\n SttButtonRecover,\n} from '../../../sporttia/all';\nimport HandlePaymentsModal from './HandlePaymentsModal';\nimport { parsePrice, subsetObject } from '../../../lib/utils';\nimport { useConfirmDialog, useTranslations } from '../../../lib/hooks';\nimport GroupDiscountsList from './GroupDiscountsList';\nimport translations from '../../../translations';\nimport constants from '../../../config/constants';\nimport SelectGroupParent from './SelectGroupParent';\n\n/**\n * GroupDetails: component to visualize and save the group's details. Sports groups cannot be modified.\n * Object item: group to view details from\n * array parents: list of possible parent groups (based on year)\n */\nexport default function GroupDetails({ item, onSave, onDelete }) {\n const cxt = useContext(AppContext);\n\n const [deleteModal, setDeleteModal] = useState(false);\n const [openConfirmDialog, , confirmDialog] = useConfirmDialog();\n\n const [groupForm, setGroupForm] = useState(item);\n\n const shouldUpdateDates = groupForm.end !== item.end;\n\n function handleChange({ name, value }) {\n setGroupForm((prev) => ({ ...prev, [name]: value }));\n }\n\n const { translate } = useTranslations();\n\n function saveGroup(updateUserDates) {\n const fields = `name,description,${\n groupForm.type === constants.group.types.family.name\n ? `maxBeneficiaries`\n : `maxMembers`\n },idParent,ini,end,enrollmentPrice,feePrice,feeInterval,purchaseOnline,expiration,feeTaxConceptCode,signupTaxConceptCode`;\n\n const params = subsetObject(groupForm, fields);\n params.enrollmentPrice = parsePrice(params.enrollmentPrice);\n params.feePrice = parsePrice(params.feePrice);\n params.idMandatoryGroup = groupForm.mandatoryGroup?.id\n ? groupForm.mandatoryGroup.id\n : '';\n params.idParent = groupForm.parent?.id ?? '';\n if (params.feeInterval === '0000-00-00 00:00:00')\n params.feeInterval = '';\n if (updateUserDates) {\n params.updateUserPeriod = true;\n }\n\n if (params.purchaseOnline === null) {\n params.purchaseOnline = false;\n }\n\n cxt.api('PUT', `/groups/${item.id}`, {\n params,\n success: (response) => {\n if (response.group) {\n cxt.showMessage('S', cxt.t(translations.generic.saved));\n onSave?.(response.group);\n }\n },\n });\n }\n\n function deleteGroup(mode) {\n // Without a 'mode' specified, we ask the user for confirmation before nuking the group.\n cxt.api('DELETE', `/groups/${item.id}`, {\n confirmation: mode === undefined,\n params: mode\n ? {\n paymentProcess: mode,\n }\n : {},\n success: (response) => {\n if (response.group) {\n if (typeof onDelete === 'function') {\n onDelete(response.group);\n }\n }\n },\n });\n }\n\n function recoverGroup() {\n cxt.api('PUT', `/groups/${item.id}/recover`, {\n confirmation: true,\n success: (response) => {\n if (response.group) {\n onSave?.(response.group);\n }\n },\n });\n }\n\n return (\n <>\n \n \n \n \n \n \n\n \n {groupForm.type !==\n constants.group.types.family.name ? (\n \n ) : (\n \n )}\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n {/* --- Date ini --- */}\n \n\n {/* --- Date end --- */}\n \n\n {/* --- Mandatory group --- */}\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n {Object.values(constants.orgt.scIds).includes(\n cxt?.sc?.id,\n ) && (\n \n \n \n )}\n {Object.values(constants.orgt.scIds).includes(\n cxt?.sc?.id,\n ) && (\n \n \n \n )}\n {/* --- Purchase online --- */}\n {groupForm.type ===\n constants.group.types.abonados.name && (\n \n )}\n \n \n\n \n \n \n \n \n \n\n \n {/* --- Buttons --- */}\n {groupForm.type !== constants.group.types.sport.name &&\n !item.trash && (\n \n {\n if (shouldUpdateDates) {\n openConfirmDialog({\n title: `${cxt.t(\n translations.generic.modify,\n )} ${cxt.t(\n translations.generic.date,\n )}`,\n content: (\n
\n {cxt.t(\n 'page.groups.modifyUserDates?',\n )}\n
\n ),\n onConfirm: () => saveGroup(true),\n onCancel: () => saveGroup(),\n });\n } else {\n saveGroup();\n }\n }}\n />\n
\n )}\n\n {item.trash ? (\n \n \n \n ) : (\n \n {\n if (\n item.type ===\n constants.group.types.sport.name\n ) {\n deleteGroup();\n } else {\n setDeleteModal(true);\n }\n }}\n />\n \n )}\n
\n\n {/* --- Modal asking before deleting --- */}\n {deleteModal && (\n setDeleteModal(false)}\n onAccept={(mode) => deleteGroup(mode)}\n />\n )}\n\n {confirmDialog}\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'ChevronRight');","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar TreeViewContext = React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n TreeViewContext.displayName = 'TreeViewContext';\n}\n\nexport default TreeViewContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { useControlled } from '@material-ui/core/utils';\nimport TreeViewContext from './TreeViewContext';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n padding: 0,\n margin: 0,\n listStyle: 'none'\n }\n};\n\nfunction arrayDiff(arr1, arr2) {\n if (arr1.length !== arr2.length) return true;\n\n for (var i = 0; i < arr1.length; i += 1) {\n if (arr1[i] !== arr2[i]) return true;\n }\n\n return false;\n}\n\nvar findNextFirstChar = function findNextFirstChar(firstChars, startIndex, char) {\n for (var i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n\n return -1;\n};\n\nvar defaultExpandedDefault = [];\nvar defaultSelectedDefault = [];\nvar TreeView = /*#__PURE__*/React.forwardRef(function TreeView(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n defaultCollapseIcon = props.defaultCollapseIcon,\n defaultEndIcon = props.defaultEndIcon,\n _props$defaultExpande = props.defaultExpanded,\n defaultExpanded = _props$defaultExpande === void 0 ? defaultExpandedDefault : _props$defaultExpande,\n defaultExpandIcon = props.defaultExpandIcon,\n defaultParentIcon = props.defaultParentIcon,\n _props$defaultSelecte = props.defaultSelected,\n defaultSelected = _props$defaultSelecte === void 0 ? defaultSelectedDefault : _props$defaultSelecte,\n _props$disableSelecti = props.disableSelection,\n disableSelection = _props$disableSelecti === void 0 ? false : _props$disableSelecti,\n _props$multiSelect = props.multiSelect,\n multiSelect = _props$multiSelect === void 0 ? false : _props$multiSelect,\n expandedProp = props.expanded,\n onNodeSelect = props.onNodeSelect,\n onNodeToggle = props.onNodeToggle,\n selectedProp = props.selected,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"defaultCollapseIcon\", \"defaultEndIcon\", \"defaultExpanded\", \"defaultExpandIcon\", \"defaultParentIcon\", \"defaultSelected\", \"disableSelection\", \"multiSelect\", \"expanded\", \"onNodeSelect\", \"onNodeToggle\", \"selected\"]);\n\n var _React$useState = React.useState(null),\n tabbable = _React$useState[0],\n setTabbable = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n focusedNodeId = _React$useState2[0],\n setFocusedNodeId = _React$useState2[1];\n\n var nodeMap = React.useRef({});\n var firstCharMap = React.useRef({});\n var visibleNodes = React.useRef([]);\n\n var _useControlled = useControlled({\n controlled: expandedProp,\n default: defaultExpanded,\n name: 'TreeView',\n state: 'expanded'\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n expanded = _useControlled2[0],\n setExpandedState = _useControlled2[1];\n\n var _useControlled3 = useControlled({\n controlled: selectedProp,\n default: defaultSelected,\n name: 'TreeView',\n state: 'selected'\n }),\n _useControlled4 = _slicedToArray(_useControlled3, 2),\n selected = _useControlled4[0],\n setSelectedState = _useControlled4[1];\n /*\n * Status Helpers\n */\n\n\n var isExpanded = React.useCallback(function (id) {\n return Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false;\n }, [expanded]);\n var isSelected = React.useCallback(function (id) {\n return Array.isArray(selected) ? selected.indexOf(id) !== -1 : selected === id;\n }, [selected]);\n\n var isTabbable = function isTabbable(id) {\n return tabbable === id;\n };\n\n var isFocused = function isFocused(id) {\n return focusedNodeId === id;\n };\n /*\n * Node Helpers\n */\n\n\n var getNextNode = function getNextNode(id) {\n var nodeIndex = visibleNodes.current.indexOf(id);\n\n if (nodeIndex !== -1 && nodeIndex + 1 < visibleNodes.current.length) {\n return visibleNodes.current[nodeIndex + 1];\n }\n\n return null;\n };\n\n var getPreviousNode = function getPreviousNode(id) {\n var nodeIndex = visibleNodes.current.indexOf(id);\n\n if (nodeIndex !== -1 && nodeIndex - 1 >= 0) {\n return visibleNodes.current[nodeIndex - 1];\n }\n\n return null;\n };\n\n var getLastNode = function getLastNode() {\n return visibleNodes.current[visibleNodes.current.length - 1];\n };\n\n var getFirstNode = function getFirstNode() {\n return visibleNodes.current[0];\n };\n\n var getParent = function getParent(id) {\n return nodeMap.current[id].parent;\n };\n\n var getNodesInRange = function getNodesInRange(a, b) {\n var aIndex = visibleNodes.current.indexOf(a);\n var bIndex = visibleNodes.current.indexOf(b);\n var start = Math.min(aIndex, bIndex);\n var end = Math.max(aIndex, bIndex);\n return visibleNodes.current.slice(start, end + 1);\n };\n /*\n * Focus Helpers\n */\n\n\n var focus = function focus(id) {\n if (id) {\n setTabbable(id);\n setFocusedNodeId(id);\n }\n };\n\n var focusNextNode = function focusNextNode(id) {\n return focus(getNextNode(id));\n };\n\n var focusPreviousNode = function focusPreviousNode(id) {\n return focus(getPreviousNode(id));\n };\n\n var focusFirstNode = function focusFirstNode() {\n return focus(getFirstNode());\n };\n\n var focusLastNode = function focusLastNode() {\n return focus(getLastNode());\n };\n\n var focusByFirstCharacter = function focusByFirstCharacter(id, char) {\n var start;\n var index;\n var lowercaseChar = char.toLowerCase();\n var firstCharIds = [];\n var firstChars = []; // This really only works since the ids are strings\n\n Object.keys(firstCharMap.current).forEach(function (nodeId) {\n var firstChar = firstCharMap.current[nodeId];\n var map = nodeMap.current[nodeId];\n var visible = map.parent ? isExpanded(map.parent) : true;\n\n if (visible) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n }); // Get start index for search based on position of currentItem\n\n start = firstCharIds.indexOf(id) + 1;\n\n if (start === nodeMap.current.length) {\n start = 0;\n } // Check remaining slots in the menu\n\n\n index = findNextFirstChar(firstChars, start, lowercaseChar); // If not found in remaining slots, check from beginning\n\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n } // If match was found...\n\n\n if (index > -1) {\n focus(firstCharIds[index]);\n }\n };\n /*\n * Expansion Helpers\n */\n\n\n var toggleExpansion = function toggleExpansion(event) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : focusedNodeId;\n var newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter(function (id) {\n return id !== value;\n });\n setTabbable(function (oldTabbable) {\n var map = nodeMap.current[oldTabbable];\n\n if (oldTabbable && (map && map.parent ? map.parent.id : null) === value) {\n return value;\n }\n\n return oldTabbable;\n });\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onNodeToggle) {\n onNodeToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n };\n\n var expandAllSiblings = function expandAllSiblings(event, id) {\n var map = nodeMap.current[id];\n var parent = nodeMap.current[map.parent];\n var diff;\n\n if (parent) {\n diff = parent.children.filter(function (child) {\n return !isExpanded(child);\n });\n } else {\n var topLevelNodes = nodeMap.current[-1].children;\n diff = topLevelNodes.filter(function (node) {\n return !isExpanded(node);\n });\n }\n\n var newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onNodeToggle) {\n onNodeToggle(event, newExpanded);\n }\n }\n };\n /*\n * Selection Helpers\n */\n\n\n var lastSelectedNode = React.useRef(null);\n var lastSelectionWasRange = React.useRef(false);\n var currentRangeSelection = React.useRef([]);\n\n var handleRangeArrowSelect = function handleRangeArrowSelect(event, nodes) {\n var base = selected;\n var start = nodes.start,\n next = nodes.next,\n current = nodes.current;\n\n if (!next || !current) {\n return;\n }\n\n if (currentRangeSelection.current.indexOf(current) === -1) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (currentRangeSelection.current.indexOf(next) !== -1) {\n base = base.filter(function (id) {\n return id === start || id !== current;\n });\n currentRangeSelection.current = currentRangeSelection.current.filter(function (id) {\n return id === start || id !== current;\n });\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onNodeSelect) {\n onNodeSelect(event, base);\n }\n\n setSelectedState(base);\n };\n\n var handleRangeSelect = function handleRangeSelect(event, nodes) {\n var base = selected;\n var start = nodes.start,\n end = nodes.end; // If last selection was a range selection ignore nodes that were selected.\n\n if (lastSelectionWasRange.current) {\n base = selected.filter(function (id) {\n return currentRangeSelection.current.indexOf(id) === -1;\n });\n }\n\n var range = getNodesInRange(start, end);\n currentRangeSelection.current = range;\n var newSelected = base.concat(range);\n newSelected = newSelected.filter(function (id, i) {\n return newSelected.indexOf(id) === i;\n });\n\n if (onNodeSelect) {\n onNodeSelect(event, newSelected);\n }\n\n setSelectedState(newSelected);\n };\n\n var handleMultipleSelect = function handleMultipleSelect(event, value) {\n var newSelected = [];\n\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter(function (id) {\n return id !== value;\n });\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onNodeSelect) {\n onNodeSelect(event, newSelected);\n }\n\n setSelectedState(newSelected);\n };\n\n var handleSingleSelect = function handleSingleSelect(event, value) {\n var newSelected = multiSelect ? [value] : value;\n\n if (onNodeSelect) {\n onNodeSelect(event, newSelected);\n }\n\n setSelectedState(newSelected);\n };\n\n var selectNode = function selectNode(event, id) {\n var multiple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (id) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n return true;\n }\n\n return false;\n };\n\n var selectRange = function selectRange(event, nodes) {\n var stacked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _nodes$start = nodes.start,\n start = _nodes$start === void 0 ? lastSelectedNode.current : _nodes$start,\n end = nodes.end,\n current = nodes.current;\n\n if (stacked) {\n handleRangeArrowSelect(event, {\n start: start,\n next: end,\n current: current\n });\n } else {\n handleRangeSelect(event, {\n start: start,\n end: end\n });\n }\n\n lastSelectionWasRange.current = true;\n return true;\n };\n\n var rangeSelectToFirst = function rangeSelectToFirst(event, id) {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n var start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n return selectRange(event, {\n start: start,\n end: getFirstNode()\n });\n };\n\n var rangeSelectToLast = function rangeSelectToLast(event, id) {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n var start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n return selectRange(event, {\n start: start,\n end: getLastNode()\n });\n };\n\n var selectNextNode = function selectNextNode(event, id) {\n return selectRange(event, {\n end: getNextNode(id),\n current: id\n }, true);\n };\n\n var selectPreviousNode = function selectPreviousNode(event, id) {\n return selectRange(event, {\n end: getPreviousNode(id),\n current: id\n }, true);\n };\n\n var selectAllNodes = function selectAllNodes(event) {\n return selectRange(event, {\n start: getFirstNode(),\n end: getLastNode()\n });\n };\n /*\n * Mapping Helpers\n */\n\n\n var addNodeToNodeMap = function addNodeToNodeMap(id, childrenIds) {\n var currentMap = nodeMap.current[id];\n nodeMap.current[id] = _extends({}, currentMap, {\n children: childrenIds,\n id: id\n });\n childrenIds.forEach(function (childId) {\n var currentChildMap = nodeMap.current[childId];\n nodeMap.current[childId] = _extends({}, currentChildMap, {\n parent: id,\n id: childId\n });\n });\n };\n\n var getNodesToRemove = React.useCallback(function (id) {\n var map = nodeMap.current[id];\n var nodes = [];\n\n if (map) {\n nodes.push(id);\n\n if (map.children) {\n nodes.concat(map.children);\n map.children.forEach(function (node) {\n nodes.concat(getNodesToRemove(node));\n });\n }\n }\n\n return nodes;\n }, []);\n var cleanUpFirstCharMap = React.useCallback(function (nodes) {\n var newMap = _extends({}, firstCharMap.current);\n\n nodes.forEach(function (node) {\n if (newMap[node]) {\n delete newMap[node];\n }\n });\n firstCharMap.current = newMap;\n }, []);\n var removeNodeFromNodeMap = React.useCallback(function (id) {\n var nodes = getNodesToRemove(id);\n cleanUpFirstCharMap(nodes);\n\n var newMap = _extends({}, nodeMap.current);\n\n nodes.forEach(function (node) {\n var map = newMap[node];\n\n if (map) {\n if (map.parent) {\n var parentMap = newMap[map.parent];\n\n if (parentMap && parentMap.children) {\n var parentChildren = parentMap.children.filter(function (c) {\n return c !== node;\n });\n newMap[map.parent] = _extends({}, parentMap, {\n children: parentChildren\n });\n }\n }\n\n delete newMap[node];\n }\n });\n nodeMap.current = newMap;\n setFocusedNodeId(function (oldFocusedNodeId) {\n if (oldFocusedNodeId === id) {\n return null;\n }\n\n return oldFocusedNodeId;\n });\n }, [getNodesToRemove, cleanUpFirstCharMap]);\n\n var mapFirstChar = function mapFirstChar(id, firstChar) {\n firstCharMap.current[id] = firstChar;\n };\n\n var prevChildIds = React.useRef([]);\n\n var _React$useState3 = React.useState(false),\n childrenCalculated = _React$useState3[0],\n setChildrenCalculated = _React$useState3[1];\n\n React.useEffect(function () {\n var childIds = [];\n React.Children.forEach(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child) && child.props.nodeId) {\n childIds.push(child.props.nodeId);\n }\n });\n\n if (arrayDiff(prevChildIds.current, childIds)) {\n nodeMap.current[-1] = {\n parent: null,\n children: childIds\n };\n childIds.forEach(function (id, index) {\n if (index === 0) {\n setTabbable(id);\n }\n });\n visibleNodes.current = nodeMap.current[-1].children;\n prevChildIds.current = childIds;\n setChildrenCalculated(true);\n }\n }, [children]);\n React.useEffect(function () {\n var buildVisible = function buildVisible(nodes) {\n var list = [];\n\n for (var i = 0; i < nodes.length; i += 1) {\n var item = nodes[i];\n list.push(item);\n var childs = nodeMap.current[item].children;\n\n if (isExpanded(item) && childs) {\n list = list.concat(buildVisible(childs));\n }\n }\n\n return list;\n };\n\n if (childrenCalculated) {\n visibleNodes.current = buildVisible(nodeMap.current[-1].children);\n }\n }, [expanded, childrenCalculated, isExpanded, children]);\n\n var noopSelection = function noopSelection() {\n return false;\n };\n\n return /*#__PURE__*/React.createElement(TreeViewContext.Provider, {\n value: {\n icons: {\n defaultCollapseIcon: defaultCollapseIcon,\n defaultExpandIcon: defaultExpandIcon,\n defaultParentIcon: defaultParentIcon,\n defaultEndIcon: defaultEndIcon\n },\n focus: focus,\n focusFirstNode: focusFirstNode,\n focusLastNode: focusLastNode,\n focusNextNode: focusNextNode,\n focusPreviousNode: focusPreviousNode,\n focusByFirstCharacter: focusByFirstCharacter,\n expandAllSiblings: expandAllSiblings,\n toggleExpansion: toggleExpansion,\n isExpanded: isExpanded,\n isFocused: isFocused,\n isSelected: isSelected,\n selectNode: disableSelection ? noopSelection : selectNode,\n selectRange: disableSelection ? noopSelection : selectRange,\n selectNextNode: disableSelection ? noopSelection : selectNextNode,\n selectPreviousNode: disableSelection ? noopSelection : selectPreviousNode,\n rangeSelectToFirst: disableSelection ? noopSelection : rangeSelectToFirst,\n rangeSelectToLast: disableSelection ? noopSelection : rangeSelectToLast,\n selectAllNodes: disableSelection ? noopSelection : selectAllNodes,\n isTabbable: isTabbable,\n multiSelect: multiSelect,\n getParent: getParent,\n mapFirstChar: mapFirstChar,\n addNodeToNodeMap: addNodeToNodeMap,\n removeNodeFromNodeMap: removeNodeFromNodeMap\n }\n }, /*#__PURE__*/React.createElement(\"ul\", _extends({\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n className: clsx(classes.root, className),\n ref: ref\n }, other), children));\n});\nprocess.env.NODE_ENV !== \"production\" ? TreeView.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The default icon used to collapse the node.\n */\n defaultCollapseIcon: PropTypes.node,\n\n /**\n * The default icon displayed next to a end node. This is applied to all\n * tree nodes and can be overridden by the TreeItem `icon` prop.\n */\n defaultEndIcon: PropTypes.node,\n\n /**\n * Expanded node ids. (Uncontrolled)\n */\n defaultExpanded: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * The default icon used to expand the node.\n */\n defaultExpandIcon: PropTypes.node,\n\n /**\n * The default icon displayed next to a parent node. This is applied to all\n * parent nodes and can be overridden by the TreeItem `icon` prop.\n */\n defaultParentIcon: PropTypes.node,\n\n /**\n * Selected node ids. (Uncontrolled)\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n defaultSelected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n\n /**\n * If `true` selection is disabled.\n */\n disableSelection: PropTypes.bool,\n\n /**\n * Expanded node ids. (Controlled)\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * If true `ctrl` and `shift` will trigger multiselect.\n */\n multiSelect: PropTypes.bool,\n\n /**\n * Callback fired when tree items are selected/unselected.\n *\n * @param {object} event The event source of the callback\n * @param {(array|string)} value of the selected nodes. When `multiSelect` is true\n * this is an array of strings; when false (default) a string.\n */\n onNodeSelect: PropTypes.func,\n\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes.\n */\n onNodeToggle: PropTypes.func,\n\n /**\n * Selected node ids. (Controlled)\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTreeView'\n})(TreeView);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@material-ui/utils';\nimport { Transition } from 'react-transition-group';\nimport withStyles from '../styles/withStyles';\nimport { duration } from '../styles/transitions';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport { getTransitionProps } from '../transitions/utils';\nimport useTheme from '../styles/useTheme';\nimport { useForkRef } from '../utils';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n height: 0,\n overflow: 'hidden',\n transition: theme.transitions.create('height')\n },\n\n /* Styles applied to the root element when the transition has entered. */\n entered: {\n height: 'auto',\n overflow: 'visible'\n },\n\n /* Styles applied to the root element when the transition has exited and `collapsedSize` != 0px. */\n hidden: {\n visibility: 'hidden'\n },\n\n /* Styles applied to the outer wrapper element. */\n wrapper: {\n // Hack to get children with a negative margin to not falsify the height computation.\n display: 'flex'\n },\n\n /* Styles applied to the inner wrapper element. */\n wrapperInner: {\n width: '100%'\n }\n };\n};\n/**\n * The Collapse transition is used by the\n * [Vertical Stepper](/components/steppers/#vertical-stepper) StepContent component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Collapse = /*#__PURE__*/React.forwardRef(function Collapse(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n collapsedHeight = props.collapsedHeight,\n _props$collapsedSize = props.collapsedSize,\n collapsedSizeProp = _props$collapsedSize === void 0 ? '0px' : _props$collapsedSize,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$disableStrictM = props.disableStrictModeCompat,\n disableStrictModeCompat = _props$disableStrictM === void 0 ? false : _props$disableStrictM,\n inProp = props.in,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n style = props.style,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? duration.standard : _props$timeout,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"collapsedHeight\", \"collapsedSize\", \"component\", \"disableStrictModeCompat\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n\n var theme = useTheme();\n var timer = React.useRef();\n var wrapperRef = React.useRef(null);\n var autoTransitionDuration = React.useRef();\n var collapsedSize = typeof (collapsedHeight || collapsedSizeProp) === 'number' ? \"\".concat(collapsedHeight || collapsedSizeProp, \"px\") : collapsedHeight || collapsedSizeProp;\n React.useEffect(function () {\n return function () {\n clearTimeout(timer.current);\n };\n }, []);\n var enableStrictModeCompat = theme.unstable_strictMode && !disableStrictModeCompat;\n var nodeRef = React.useRef(null);\n var handleRef = useForkRef(ref, enableStrictModeCompat ? nodeRef : undefined);\n\n var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n return function (nodeOrAppearing, maybeAppearing) {\n if (callback) {\n var _ref = enableStrictModeCompat ? [nodeRef.current, nodeOrAppearing] : [nodeOrAppearing, maybeAppearing],\n _ref2 = _slicedToArray(_ref, 2),\n node = _ref2[0],\n isAppearing = _ref2[1]; // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n\n\n if (isAppearing === undefined) {\n callback(node);\n } else {\n callback(node, isAppearing);\n }\n }\n };\n };\n\n var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n node.style.height = collapsedSize;\n\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n var handleEntering = normalizedTransitionCallback(function (node, isAppearing) {\n var wrapperHeight = wrapperRef.current ? wrapperRef.current.clientHeight : 0;\n\n var _getTransitionProps = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration;\n\n if (timeout === 'auto') {\n var duration2 = theme.transitions.getAutoHeightDuration(wrapperHeight);\n node.style.transitionDuration = \"\".concat(duration2, \"ms\");\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : \"\".concat(transitionDuration, \"ms\");\n }\n\n node.style.height = \"\".concat(wrapperHeight, \"px\");\n\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n var handleEntered = normalizedTransitionCallback(function (node, isAppearing) {\n node.style.height = 'auto';\n\n if (onEntered) {\n onEntered(node, isAppearing);\n }\n });\n var handleExit = normalizedTransitionCallback(function (node) {\n var wrapperHeight = wrapperRef.current ? wrapperRef.current.clientHeight : 0;\n node.style.height = \"\".concat(wrapperHeight, \"px\");\n\n if (onExit) {\n onExit(node);\n }\n });\n var handleExited = normalizedTransitionCallback(onExited);\n var handleExiting = normalizedTransitionCallback(function (node) {\n var wrapperHeight = wrapperRef.current ? wrapperRef.current.clientHeight : 0;\n\n var _getTransitionProps2 = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration;\n\n if (timeout === 'auto') {\n var duration2 = theme.transitions.getAutoHeightDuration(wrapperHeight);\n node.style.transitionDuration = \"\".concat(duration2, \"ms\");\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : \"\".concat(transitionDuration, \"ms\");\n }\n\n node.style.height = collapsedSize;\n\n if (onExiting) {\n onExiting(node);\n }\n });\n\n var addEndListener = function addEndListener(nodeOrNext, maybeNext) {\n var next = enableStrictModeCompat ? nodeOrNext : maybeNext;\n\n if (timeout === 'auto') {\n timer.current = setTimeout(next, autoTransitionDuration.current || 0);\n }\n };\n\n return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n in: inProp,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: addEndListener,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, classes.container, className, {\n 'entered': classes.entered,\n 'exited': !inProp && collapsedSize === '0px' && classes.hidden\n }[state]),\n style: _extends({\n minHeight: collapsedSize\n }, style),\n ref: handleRef\n }, childProps), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.wrapper,\n ref: wrapperRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes.wrapperInner\n }, children)));\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Collapse.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content node to be collapsed.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: chainPropTypes(PropTypes.object, function (props) {\n if (props.classes && props.classes.container) {\n throw new Error(['Material-UI: the classes.container key is deprecated.', 'Use `classes.root` instead', 'The name of the pseudo-class was changed for consistency.'].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The height of the container when collapsed.\n * @deprecated The prop was renamed to support the addition of horizontal orientation, use `collapsedSize` instead.\n */\n collapsedHeight: deprecatedPropType(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), 'The prop was renamed to support the vertical orientation, use `collapsedSize` instead'),\n\n /**\n * The height of the container when collapsed.\n */\n collapsedSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Enable this prop if you encounter 'Function components cannot be given refs',\n * use `unstable_createStrictModeTheme`,\n * and can't forward the ref in the passed `Component`.\n */\n disableStrictModeCompat: PropTypes.bool,\n\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nCollapse.muiSupportAuto = true;\nexport default withStyles(styles, {\n name: 'MuiCollapse'\n})(Collapse);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport Collapse from '@material-ui/core/Collapse';\nimport { alpha, withStyles, useTheme } from '@material-ui/core/styles';\nimport { useForkRef } from '@material-ui/core/utils';\nimport TreeViewContext from '../TreeView/TreeViewContext';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n outline: 0,\n WebkitTapHighlightColor: 'transparent',\n '&:focus > $content $label': {\n backgroundColor: theme.palette.action.hover\n },\n '&$selected > $content $label': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n },\n '&$selected > $content $label:hover, &$selected:focus > $content $label': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Pseudo-class applied to the root element when expanded. */\n expanded: {},\n\n /* Pseudo-class applied to the root element when selected. */\n selected: {},\n\n /* Styles applied to the `role=\"group\"` element. */\n group: {\n margin: 0,\n padding: 0,\n marginLeft: 17\n },\n\n /* Styles applied to the tree node content. */\n content: {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n\n /* Styles applied to the tree node icon and collapse/expand icon. */\n iconContainer: {\n marginRight: 4,\n width: 15,\n display: 'flex',\n flexShrink: 0,\n justifyContent: 'center',\n '& svg': {\n fontSize: 18\n }\n },\n\n /* Styles applied to the label element. */\n label: {\n width: '100%',\n paddingLeft: 4,\n position: 'relative',\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n };\n};\n\nvar isPrintableCharacter = function isPrintableCharacter(str) {\n return str && str.length === 1 && str.match(/\\S/);\n};\n\nvar TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n collapseIcon = props.collapseIcon,\n endIcon = props.endIcon,\n expandIcon = props.expandIcon,\n iconProp = props.icon,\n label = props.label,\n nodeId = props.nodeId,\n onClick = props.onClick,\n onLabelClick = props.onLabelClick,\n onIconClick = props.onIconClick,\n onFocus = props.onFocus,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Collapse : _props$TransitionComp,\n TransitionProps = props.TransitionProps,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"collapseIcon\", \"endIcon\", \"expandIcon\", \"icon\", \"label\", \"nodeId\", \"onClick\", \"onLabelClick\", \"onIconClick\", \"onFocus\", \"onKeyDown\", \"onMouseDown\", \"TransitionComponent\", \"TransitionProps\"]);\n\n var _React$useContext = React.useContext(TreeViewContext),\n contextIcons = _React$useContext.icons,\n focus = _React$useContext.focus,\n focusFirstNode = _React$useContext.focusFirstNode,\n focusLastNode = _React$useContext.focusLastNode,\n focusNextNode = _React$useContext.focusNextNode,\n focusPreviousNode = _React$useContext.focusPreviousNode,\n focusByFirstCharacter = _React$useContext.focusByFirstCharacter,\n selectNode = _React$useContext.selectNode,\n selectRange = _React$useContext.selectRange,\n selectNextNode = _React$useContext.selectNextNode,\n selectPreviousNode = _React$useContext.selectPreviousNode,\n rangeSelectToFirst = _React$useContext.rangeSelectToFirst,\n rangeSelectToLast = _React$useContext.rangeSelectToLast,\n selectAllNodes = _React$useContext.selectAllNodes,\n expandAllSiblings = _React$useContext.expandAllSiblings,\n toggleExpansion = _React$useContext.toggleExpansion,\n isExpanded = _React$useContext.isExpanded,\n isFocused = _React$useContext.isFocused,\n isSelected = _React$useContext.isSelected,\n isTabbable = _React$useContext.isTabbable,\n multiSelect = _React$useContext.multiSelect,\n getParent = _React$useContext.getParent,\n mapFirstChar = _React$useContext.mapFirstChar,\n addNodeToNodeMap = _React$useContext.addNodeToNodeMap,\n removeNodeFromNodeMap = _React$useContext.removeNodeFromNodeMap;\n\n var nodeRef = React.useRef(null);\n var contentRef = React.useRef(null);\n var handleRef = useForkRef(nodeRef, ref);\n var icon = iconProp;\n var expandable = Boolean(Array.isArray(children) ? children.length : children);\n var expanded = isExpanded ? isExpanded(nodeId) : false;\n var focused = isFocused ? isFocused(nodeId) : false;\n var tabbable = isTabbable ? isTabbable(nodeId) : false;\n var selected = isSelected ? isSelected(nodeId) : false;\n var icons = contextIcons || {};\n var theme = useTheme();\n\n if (!icon) {\n if (expandable) {\n if (!expanded) {\n icon = expandIcon || icons.defaultExpandIcon;\n } else {\n icon = collapseIcon || icons.defaultCollapseIcon;\n }\n\n if (!icon) {\n icon = icons.defaultParentIcon;\n }\n } else {\n icon = endIcon || icons.defaultEndIcon;\n }\n }\n\n var handleClick = function handleClick(event) {\n if (!focused) {\n focus(nodeId);\n }\n\n var multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey); // If already expanded and trying to toggle selection don't close\n\n if (expandable && !event.defaultPrevented && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, {\n end: nodeId\n });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var handleMouseDown = function handleMouseDown(event) {\n if (event.shiftKey || event.ctrlKey || event.metaKey) {\n event.preventDefault();\n }\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n };\n\n var handleNextArrow = function handleNextArrow(event) {\n if (expandable) {\n if (expanded) {\n focusNextNode(nodeId);\n } else {\n toggleExpansion(event);\n }\n }\n\n return true;\n };\n\n var handlePreviousArrow = function handlePreviousArrow(event) {\n if (expanded) {\n toggleExpansion(event, nodeId);\n return true;\n }\n\n var parent = getParent(nodeId);\n\n if (parent) {\n focus(parent);\n return true;\n }\n\n return false;\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n var flag = false;\n var key = event.key;\n\n if (event.altKey || event.currentTarget !== event.target) {\n return;\n }\n\n var ctrlPressed = event.ctrlKey || event.metaKey;\n\n switch (key) {\n case ' ':\n if (nodeRef.current === event.currentTarget) {\n if (multiSelect && event.shiftKey) {\n flag = selectRange(event, {\n end: nodeId\n });\n } else if (multiSelect) {\n flag = selectNode(event, nodeId, true);\n } else {\n flag = selectNode(event, nodeId);\n }\n }\n\n event.stopPropagation();\n break;\n\n case 'Enter':\n if (nodeRef.current === event.currentTarget && expandable) {\n toggleExpansion(event);\n flag = true;\n }\n\n event.stopPropagation();\n break;\n\n case 'ArrowDown':\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, nodeId);\n }\n\n focusNextNode(nodeId);\n flag = true;\n break;\n\n case 'ArrowUp':\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, nodeId);\n }\n\n focusPreviousNode(nodeId);\n flag = true;\n break;\n\n case 'ArrowRight':\n if (theme.direction === 'rtl') {\n flag = handlePreviousArrow(event);\n } else {\n flag = handleNextArrow(event);\n }\n\n break;\n\n case 'ArrowLeft':\n if (theme.direction === 'rtl') {\n flag = handleNextArrow(event);\n } else {\n flag = handlePreviousArrow(event);\n }\n\n break;\n\n case 'Home':\n if (multiSelect && ctrlPressed && event.shiftKey) {\n rangeSelectToFirst(event, nodeId);\n }\n\n focusFirstNode();\n flag = true;\n break;\n\n case 'End':\n if (multiSelect && ctrlPressed && event.shiftKey) {\n rangeSelectToLast(event, nodeId);\n }\n\n focusLastNode();\n flag = true;\n break;\n\n default:\n if (key === '*') {\n expandAllSiblings(event, nodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === 'a') {\n flag = selectAllNodes(event);\n } else if (!ctrlPressed && !event.shiftKey && isPrintableCharacter(key)) {\n focusByFirstCharacter(nodeId, key);\n flag = true;\n }\n\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n var handleFocus = function handleFocus(event) {\n if (!focused && event.currentTarget === event.target) {\n focus(nodeId);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n React.useEffect(function () {\n if (addNodeToNodeMap) {\n var childIds = [];\n React.Children.forEach(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child) && child.props.nodeId) {\n childIds.push(child.props.nodeId);\n }\n });\n addNodeToNodeMap(nodeId, childIds);\n }\n }, [children, nodeId, addNodeToNodeMap]);\n React.useEffect(function () {\n if (removeNodeFromNodeMap) {\n return function () {\n removeNodeFromNodeMap(nodeId);\n };\n }\n\n return undefined;\n }, [nodeId, removeNodeFromNodeMap]);\n React.useEffect(function () {\n if (mapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current.textContent.substring(0, 1).toLowerCase());\n }\n }, [mapFirstChar, nodeId, label]);\n React.useEffect(function () {\n if (focused) {\n nodeRef.current.focus();\n }\n }, [focused]);\n var ariaSelected;\n\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n // single-selection trees unset aria-selected\n ariaSelected = true;\n }\n\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: clsx(classes.root, className, expanded && classes.expanded, selected && classes.selected),\n role: \"treeitem\",\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n \"aria-expanded\": expandable ? expanded : null,\n \"aria-selected\": ariaSelected,\n ref: handleRef,\n tabIndex: tabbable ? 0 : -1\n }, other), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.content,\n onClick: handleClick,\n onMouseDown: handleMouseDown,\n ref: contentRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n onClick: onIconClick,\n className: classes.iconContainer\n }, icon), /*#__PURE__*/React.createElement(Typography, {\n onClick: onLabelClick,\n component: \"div\",\n className: classes.label\n }, label)), children && /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n unmountOnExit: true,\n className: classes.group,\n in: expanded,\n component: \"ul\",\n role: \"group\"\n }, TransitionProps), children));\n});\nprocess.env.NODE_ENV !== \"production\" ? TreeItem.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The icon used to collapse the node.\n */\n collapseIcon: PropTypes.node,\n\n /**\n * The icon displayed next to a end node.\n */\n endIcon: PropTypes.node,\n\n /**\n * The icon used to expand the node.\n */\n expandIcon: PropTypes.node,\n\n /**\n * The icon to display next to the tree node's label.\n */\n icon: PropTypes.node,\n\n /**\n * The tree node label.\n */\n label: PropTypes.node,\n\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * `onClick` handler for the icon container. Call `event.preventDefault()` to prevent `onNodeToggle` from being called.\n */\n onIconClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * `onClick` handler for the label container. Call `event.preventDefault()` to prevent `onNodeToggle` from being called.\n */\n onLabelClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n\n /**\n * The component used for the transition.\n * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n */\n TransitionComponent: PropTypes.elementType,\n\n /**\n * Props applied to the [`Transition`](http://reactcommunity.org/react-transition-group/transition#Transition-props) element.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTreeItem'\n})(TreeItem);","import React, { useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttSelectMship,\n SttFormDate,\n SttFormTextarea,\n SttSelectPForm,\n SttFormText,\n SttFormCheck,\n} from '../../all';\nimport { formatPriceByLocale } from '../../../lib/utils';\nimport DiscountList from '../../../components/discounts/DiscountsList';\nimport constants from '../../../config/constants';\nimport translations from '../../../translations';\n\nexport default function SttGroupMemberDialogDetail({\n member,\n creating,\n group,\n handleChange,\n discounts,\n handleChangeDiscounts,\n}) {\n const cxt = useContext(AppContext);\n\n return (\n \n \n {creating ? (\n \n handleChange({ name: 'mship', value: mship })\n }\n />\n ) : (\n \n )}\n \n\n \n \n \n\n \n \n \n\n \n \n \n\n {group.type !== 'SPORT' && (\n <>\n {group.enrollmentPrice > 0 && (\n \n \n \n )}\n {group.feePrice > 0 && (\n \n \n \n )}\n\n {creating &&\n discounts &&\n discounts.length > 0 &&\n (group.feePrice || group.enrollmentPrice) && (\n \n \n {discounts.map((discount) => (\n \n \n \n ))}\n \n \n )}\n\n {!creating && discounts && discounts.length > 0 && (\n \n \n \n )}\n\n {creating &&\n group.expiration &&\n group.expiration !== '0000-00-00 00:00:00' && (\n \n \n \n )}\n \n )}\n \n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport {\n Grid,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n ListItemAvatar,\n Avatar,\n Divider,\n Box,\n} from '@material-ui/core';\nimport { AppContext, SttFormSearch, SttPagination } from '../all';\nimport { checkOffTag, fullName, formatPriceByLocale } from '../../lib/utils';\n\nexport function SttSelectUser({\n grid = false,\n caption,\n name,\n user,\n onChange,\n onSelect,\n controlDisabled,\n returnMship = false,\n ...rest\n}) {\n const cxt = useContext(AppContext);\n const [dialogOpened, setDialogOpened] = useState(false);\n const [mships, setMships] = useState();\n const [keywordSearch, setKewordSearch] = useState('');\n const [page, setPage] = useState(1);\n\n /**\n * Load mships\n */\n const loadMships = (p = { page: 1 }) => {\n const currPage = p.page !== undefined ? p.page : page;\n cxt.api('GET', `/scs/${cxt.sc.id}/mships`, {\n params: {\n page: currPage,\n rows: 8,\n keyword: keywordSearch,\n },\n success: (r) => {\n setMships(r);\n setPage(currPage);\n },\n });\n };\n\n useEffect(() => {\n loadMships();\n }, []);\n\n /**\n * Click search\n */\n const handleClickSearch = () => {\n if (!mships) {\n }\n setDialogOpened(true);\n };\n\n /**\n * Select\n */\n const onSelectOnList = (mship) => {\n setDialogOpened(false);\n if (onSelect && mship.user && !returnMship) {\n onSelect(mship.user);\n } else if (onSelect && mship.user && returnMship) {\n onSelect(mship);\n }\n };\n\n /* useEffect(() => {\n\n\t\tif (!user) {\n\t\t\tonSelect({name:''})\n\t\t}\n\n\t}, [user]) */\n\n // -----| Render |-----\n const content = (\n <>\n onSelect(null)}\n onChange={onChange}\n onClickSearch={controlDisabled ? null : handleClickSearch}\n />\n\n setDialogOpened(false)}\n open={dialogOpened}\n >\n \n loadMships({ page: 1 })}\n onChange={({ name, value }) => setKewordSearch(value)}\n />\n \n\n \n {mships &&\n mships.rows.map((mship) => (\n
\n \n onSelectOnList(mship)}\n >\n \n \n \n\n \n {mship.user &&\n checkOffTag(\n mship.user.login,\n ) ? (\n \n {cxt.t('UserCancelled')}\n \n ) : mship.amount ? (\n <>\n \n {cxt.t('Purse')}\n : \n \n \n {formatPriceByLocale(\n mship.amount,\n mship\n ?.amountShape\n ?.currency,\n mship\n ?.amountShape\n ?.locale,\n )}\n \n \n ) : null}\n \n }\n />\n \n
\n ))}\n\n {mships && mships.count == 0 && (\n \n \n \n )}\n\n \n {mships && (\n \n \n loadMships({ page })\n }\n />\n \n )}\n \n
\n \n \n );\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useQuery, useMutation, useQueryClient } from 'react-query';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { AppContext, SttTable, SttFormSelect, SttButton } from '../all';\nimport useGroupsService from '../../services/GroupsService';\nimport { FAMILY_BENEFICIARIES, GROUP_MEMBERS } from '../../lib/queryKeys';\nimport { SttSelectUser } from '../selectors/SttSelectUser';\nimport DateBuilder from '../../lib/DateBuilder';\n\n/**\n *\tBeneficiaries lists\n *\t============\n * List of all the beneficiaries\n *\tProps:\n * member owner of the abono\n *\n */\n\nconst useStyles = makeStyles({\n deleteButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n\nexport default function SttBeneficiariesList({ member }) {\n const cxt = useContext(AppContext);\n const queryClient = useQueryClient();\n const groupsService = useGroupsService();\n const [beneficiaries, setBeneficiaries] = useState([]);\n const [user, setUser] = useState(null);\n const [relation, setRelation] = useState('OFFSPRING');\n const classes = useStyles();\n\n const beneficiariesQuery = useQuery([FAMILY_BENEFICIARIES], () =>\n groupsService\n .getBeneficiaries(member.id)\n .then((response) => response.rows),\n );\n\n const addBeneficiary = useMutation(() =>\n groupsService\n .addBeneficiary(member.id, { idUser: user.id, relation })\n .then((response) => {\n setBeneficiaries((beneficiarios) => [\n ...beneficiarios,\n response.groupMember,\n ]);\n queryClient.invalidateQueries(GROUP_MEMBERS);\n })\n .catch(({ error }) => {\n if (error) {\n cxt.showMessage('E', error?.msg);\n }\n }),\n );\n\n const deleteBeneficiary = useMutation((beneficiaryId) =>\n groupsService\n .deleteBeneficiary(beneficiaryId)\n .then(() => {\n setBeneficiaries(\n beneficiaries.filter(\n (element) => element.id !== beneficiaryId,\n ),\n );\n queryClient.invalidateQueries(GROUP_MEMBERS);\n })\n .catch(({ error }) => {\n if (error) {\n cxt.showMessage('E', error?.msg);\n }\n }),\n );\n\n useEffect(() => {\n if (beneficiariesQuery.status === 'success') {\n setBeneficiaries(beneficiariesQuery.data);\n beneficiariesQuery.data = null;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [beneficiariesQuery.data]);\n\n function addUserToBeneficiariesList() {\n if (user) {\n addBeneficiary.mutate();\n setUser(null);\n }\n }\n\n // -----| Render |-----\n return (\n <>\n \n \n setUser(usuario)}\n />\n \n\n \n setRelation(select.value)}\n />\n \n \n addUserToBeneficiariesList()}\n />\n \n \n\n \n row.name,\n },\n {\n title: cxt.t('Created'),\n name: 'createdOn',\n value: (row) =>\n new DateBuilder(\n row.createdOn,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmyhm(),\n },\n {\n title: cxt.t('Relation'),\n name: 'relation',\n type: 'text',\n value: (row) => cxt.t(row.holderRelation),\n },\n {\n title: '',\n value: (row) => (\n {\n deleteBeneficiary.mutate(row.id);\n }}\n />\n ),\n },\n ]}\n />\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, CircularProgress, Link, Typography } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttTabs,\n SttFeeList,\n SttDialog,\n SttLabelPeriod,\n SttList,\n} from '../../all';\nimport {\n createObjectWithUpdatedFieldsOnly,\n getErrorMessage,\n subsetObject,\n} from '../../../lib/utils';\nimport SttGroupMemberDialogDetail from './SttGroupMemberDialogDetail';\nimport SttBeneficiariesList from '../../lists/SttBeneficiariesList';\nimport POSPaymentDialog from '../../../components/dialogs/POSPaymentDialog';\nimport POSStripePaymentDialog from '../../../components/stripe/POSStripePaymentDialog';\nimport SttError from '../../../components/error/SttError';\nimport useGroupsService from '../../../services/GroupsService';\nimport constants from '../../../config/constants';\nimport { useLoader } from '../../../lib/hooks';\nimport translations from '../../../translations';\n\n/**\n *\tGroup member of a group\n *\t=======================\n *\n * Props\n *\n *\t* integer idGroupMember\n * \t* SttGroup group - the parent group (as we need some data for conditional operations)\n * \t* function onClose : callback when 'close' button or ESC key is pressed\n * \t* function onUpdateMember: after adding, updating and deleting.\n */\nexport default function SttGroupMemberDialog({\n idGroupMember = null,\n group,\n onClose,\n onUpdateMember,\n trash = false,\n}) {\n const cxt = useContext(AppContext);\n const [member, setMember] = useState();\n const [discountsForm, setDiscountsForm] = useState([]);\n const [creating, setCreating] = useState(false);\n const [history, setHistory] = useState();\n const [posPaymentParams, setPosPaymentParams] = useState(null);\n const [currentMemberState, setCurrentMemberState] = useState();\n const groupsService = useGroupsService();\n const getGroupDiscountsQuery = groupsService.useGetGroupDiscounts(\n group.id,\n {},\n {\n onSuccess: (response) => {\n setDiscountsForm(\n response.rows.map((discount) => ({\n ...discount,\n checked: false,\n })),\n );\n },\n refetchOnMount: false,\n enabled: creating,\n },\n );\n\n const createGroupMemberMutation = groupsService.useCreateGroupMember({\n onSuccess: (response) => {\n const { tpv, groupMember } = response;\n\n if (\n tpv?.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n sc: {\n id: tpv?.sc?.id,\n scName: tpv?.sc?.short,\n entityName: tpv?.sc?.customer?.name,\n address: tpv?.sc?.address,\n cif: tpv?.sc?.customer?.cif,\n phone: tpv?.sc?.phonePublic,\n },\n returnParams: {\n groupMember,\n },\n });\n } else {\n onUpdateMember(response.groupMember);\n setCurrentMemberState(response?.groupMember);\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const updateGroupMemberMutation = groupsService.useUpdateGroupMember({\n onSuccess: (response) => {\n onUpdateMember(response.groupMember);\n setCurrentMemberState(response?.groupMember);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n setMember(currentMemberState);\n },\n });\n\n const loadHistory = () => {\n cxt.api(\n 'GET',\n `/groups/${member.group.id}/users/${member.user.id}/members`,\n {\n success: (r) => {\n setHistory(r);\n },\n },\n );\n };\n\n const loadGroupMember = () => {\n cxt.api('GET', `/groups/members/${idGroupMember}`, {\n params: {\n trash,\n },\n success: (r) => {\n setMember(r.groupMember);\n setCurrentMemberState(r.groupMember);\n },\n });\n };\n\n useEffect(() => {\n if (member?.id) {\n loadHistory();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [member?.id]);\n\n /**\n * Group member id changes\n */\n useEffect(() => {\n // Load group member\n if (idGroupMember === 'create') {\n // Group member data by default\n setMember({\n name: '',\n notes: '',\n ini: moment(group.ini).isBefore(moment())\n ? moment().format('YYYY-MM-DD')\n : moment(group.ini).format('YYYY-MM-DD'),\n end: moment(group.end).format('YYYY-MM-DD'),\n paymentFormFee: '',\n user: {\n mship: {\n fullName: '',\n },\n },\n enrollment: {\n price: group.enrollmentPrice,\n paymentForm: '',\n },\n group: {\n fee: group.feePrice,\n },\n expirationCheck: !(\n group.expiration === constants.bono.bonoExpirationDefault ||\n group.expiration === null\n ), // Check para comprobar si se envia parametro end o no\n });\n setCreating(true);\n } else {\n setCreating(false);\n loadGroupMember();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [idGroupMember]);\n\n function handleChangeDiscountsForm({ name: id, value }) {\n setDiscountsForm((prev) =>\n prev.map((discount) =>\n discount.id === id\n ? {\n ...discount,\n checked: value,\n }\n : discount,\n ),\n );\n }\n\n function handleChange({ name, value }) {\n let updatedName = name;\n let updatedValue = value;\n\n if (name === 'paymentFormSignup') {\n updatedName = 'enrollment';\n updatedValue = {\n ...member.enrollment,\n paymentForm: value,\n };\n }\n\n if (name === 'mship') {\n updatedName = 'user';\n updatedValue = {\n mship: value,\n };\n }\n\n setMember((prev) => ({ ...prev, [updatedName]: updatedValue }));\n }\n\n function upsertMember() {\n let paramsFilter = ['ini', 'end', 'notes', 'paymentFormFee']; // No se debe incluir expirationCheck\n\n if (member.expirationCheck) {\n paramsFilter = paramsFilter.filter(\n (parameter) => parameter !== 'end',\n );\n }\n const params = createObjectWithUpdatedFieldsOnly(\n subsetObject(member, paramsFilter.join(',')),\n currentMemberState,\n );\n\n const discountsIdsToSend = discountsForm\n .filter((discount) => discount.checked)\n .map((discount) => discount.id);\n\n if (creating) {\n createGroupMemberMutation.mutate({\n id: group.id,\n params: {\n ...params,\n idUser: member.user.mship.user && member.user.mship.user.id,\n paymentFormSignup:\n member.enrollment && member.enrollment.paymentForm,\n discountsIds: discountsIdsToSend,\n },\n });\n } else {\n updateGroupMemberMutation.mutate({\n id: member.id,\n params,\n });\n }\n }\n\n function deleteMember() {\n cxt.api('PUT', `/groups/members/${member.id}/unsubscribe`, {\n confirmation: true,\n success: (r) => {\n onUpdateMember(r.groupMember);\n },\n });\n }\n\n function deleteFutureMemberPeriod(id) {\n cxt.api('DELETE', `/groups/members/${id}`, {\n confirmation: true,\n success: (r) => {\n onUpdateMember(r.groupMember);\n },\n });\n }\n\n const [isMutationsLoading, mutationsLoader] = useLoader([\n createGroupMemberMutation.status,\n updateGroupMemberMutation.status,\n ]);\n\n if (isMutationsLoading) {\n return mutationsLoader;\n }\n\n let dialogContent;\n if (getGroupDiscountsQuery.isLoading) {\n dialogContent = (\n \n \n \n );\n } else if (getGroupDiscountsQuery.isError) {\n dialogContent = ;\n } else if (!member) {\n return null;\n } else {\n dialogContent = (\n \n ),\n },\n {\n show: !creating,\n caption: cxt.t(translations.generic.history),\n component: (\n ({\n caption: (\n <>\n {ug.ini && ug.end ? (\n \n ) : (\n \n {cxt.t('PeriodWithoutDate')}\n \n )}\n {\n deleteFutureMemberPeriod(\n ug.id,\n );\n }}\n >\n   \n {cxt.t('Delete')}\n \n \n ),\n }))}\n />\n ),\n },\n {\n show: group.feePrice !== undefined && !creating,\n caption: cxt.t('Fees'),\n component: ,\n },\n {\n show: group.type === 'FAMILY' && !creating,\n caption: cxt.t('Beneficiaries'),\n component: ,\n },\n ]}\n />\n );\n }\n\n return (\n <>\n (onClose ? onClose() : null)}\n maxWidth=\"md\"\n content={dialogContent}\n buttons={[\n {\n show:\n !getGroupDiscountsQuery.isLoading &&\n !getGroupDiscountsQuery.isError,\n type: 'save',\n onClick: upsertMember,\n },\n {\n show:\n !creating &&\n !getGroupDiscountsQuery.isLoading &&\n !getGroupDiscountsQuery.isError,\n type: 'unsubscribe',\n onClick: deleteMember,\n },\n ]}\n />\n\n {cxt.sc?.sporttiaStripeLocationId && posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n onUpdateMember(\n posPaymentParams.returnParams.groupMember,\n );\n }}\n />\n ) : (\n setPosPaymentParams(null)}\n onSuccess={(ticket, returnParams) => {\n onUpdateMember(returnParams.groupMember);\n }}\n />\n )}\n \n );\n}\n","import React from 'react';\nimport { Avatar, Box, Chip, Tooltip } from '@material-ui/core';\nimport Discount from '../../types/models/Discount';\nimport { useTranslations } from '../../lib/hooks';\nimport translations from '../../translations';\n\ntype DiscountTooltipProps = {\n discounts: Discount[];\n};\n\nexport default function DiscountTooltip({ discounts }: DiscountTooltipProps) {\n const { translate } = useTranslations();\n\n return discounts.length ? (\n \n {discounts\n .map(\n (discount) =>\n `${discount.name} - ${discount.discountPercentage}%`,\n )\n .join('\\n')}\n \n }\n >\n \n {discounts.length}}\n label={translate(translations.generic.discounts)}\n />\n \n \n ) : null;\n}\n","import React, { useState, useContext } from 'react';\nimport {\n CloudDownload,\n PersonOutlineOutlined,\n Replay,\n ChevronRight,\n ExpandMore,\n} from '@material-ui/icons';\nimport { Box, Link } from '@material-ui/core';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { TreeView, TreeItem } from '@material-ui/lab';\nimport { useQueryClient } from 'react-query';\nimport moment from 'moment';\nimport { AppContext, SttChipPForm } from '../../../sporttia/all';\nimport SttGroupMemberDialog from '../../../sporttia/dialogs/groupMemberDialog/SttGroupMemberDialog';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport SttMshipDialog from '../../../sporttia/dialogs/SttMshipDialog';\nimport { formatPriceByLocale, fullName } from '../../../lib/utils';\nimport {\n useQueryFilters,\n useInteractionsFiles,\n useTranslations,\n} from '../../../lib/hooks';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport useGroupsService from '../../../services/GroupsService';\nimport { GROUP_MEMBERS } from '../../../lib/queryKeys';\nimport SttCachedTable from '../../../sporttia/SttCachedTable';\nimport { Group } from '../../../types/api/models';\nimport { DetailsId, DownloadFileFormat } from '../../../types/components';\nimport {\n GetGroupMembers200,\n GetGroupMembersParams,\n} from '../../../types/api/paths/Group';\nimport DiscountTooltip from '../../../components/discounts/DiscountTooltip';\nimport { DefaultListParams } from '../../../types/api/utils';\nimport Payment from '../../../types/models/Payment';\nimport GroupMember from '../../../types/models/GroupMember';\nimport Mship from '../../../types/models/Mship';\n\nconst useStyles = makeStyles({\n infoButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n beneficiaryFont: {\n fontFamily: 'Roboto',\n color: '#788a08',\n backgroundColor: '#ffffff',\n },\n});\n\ntype Filters = {\n isActive: string;\n upToDateWithPayments: string;\n subscriptionType: 'all' | 'inscription' | 'unsubscription';\n subscriptionIni: string;\n subscriptionEnd: string;\n trash: boolean;\n};\n\nconst filtersToApi = ({\n subscriptionEnd,\n subscriptionIni,\n subscriptionType,\n isActive,\n upToDateWithPayments,\n page,\n rows,\n name,\n trash,\n}: Filters & GetGroupMembersParams): GetGroupMembersParams => {\n const base = {\n isActive,\n upToDateWithPayments,\n ...(page && { page }),\n ...(rows && { rows }),\n ...(name && { name }),\n ...(trash && { trash }),\n };\n\n if (subscriptionType === 'inscription') {\n return {\n ...base,\n inscriptionIni: subscriptionIni,\n inscriptionEnd: subscriptionEnd,\n };\n }\n\n if (subscriptionType === 'unsubscription') {\n return {\n ...base,\n unsubscriptionIni: subscriptionIni,\n unsubscriptionEnd: subscriptionEnd,\n };\n }\n\n if (subscriptionType === 'all') {\n return base;\n }\n\n throw new Error(\n 'subscriptionType must be \"all\", \"inscription\" or \"unsubscription\"',\n );\n};\n\ntype GroupMembersProps = {\n item: Group;\n haveFees: boolean;\n};\n\n/**\n * GroupMembers : list of members for this Group\n */\nexport default function GroupMembers({ item, haveFees }: GroupMembersProps) {\n const cxt = useContext(AppContext)!;\n\n const { downloadFile } = useInteractionsFiles();\n const { translate } = useTranslations();\n\n const classes = useStyles();\n\n const [openGroupMemberDialog, setOpenGroupMemberDialog] = useState(false);\n const [groupMemberDialogId, setGroupMemberDialogId] = useState();\n const [groupMemberTrash, setGroupMemberTrash] = useState();\n const [idPayment, setIdPayment] = useState();\n const [openMshipDialog, setOpenMshipDialog] = useState(false);\n const [selectedMshipId, setSelectedMshipId] = useState();\n\n const groupsService = useGroupsService();\n\n const [filters, setFilters] = useQueryFilters(\n {\n isActive: '0',\n upToDateWithPayments: '0',\n subscriptionType: 'all',\n subscriptionIni: moment().format('YYYY-MM-DD'),\n subscriptionEnd: moment().format('YYYY-MM-DD'),\n trash: false,\n },\n GROUP_MEMBERS,\n );\n\n const queryClient = useQueryClient();\n\n const queryParams = { ...filtersToApi(filters), id: item.id };\n const queryKey = [GROUP_MEMBERS, queryParams];\n\n // Enrollment is group member payment\n function updatePayment(payment: Payment) {\n queryClient.setQueriesData(\n { queryKey },\n (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n rows: old.rows.map((row) =>\n row.enrollment?.id === payment.id\n ? {\n ...row,\n enrollment: {\n ...row.enrollment,\n ...payment,\n },\n }\n : row,\n ),\n };\n },\n );\n }\n\n function updateMship(mship: Mship) {\n queryClient.setQueriesData(\n { queryKey },\n (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n rows: old.rows.map((row) => {\n if (row.user?.mship?.id === mship.id) {\n return {\n ...row,\n user: {\n ...row.user,\n mship: {\n ...row.user.mship,\n ...mship,\n },\n },\n };\n }\n\n return row;\n }),\n };\n },\n );\n }\n\n function download(format: DownloadFileFormat) {\n if (format === 'pdf') {\n downloadFile(\n `/groups/${item.id}/members.pdf`,\n 'application/pdf',\n filtersToApi(filters),\n `${item.name}.${format}`,\n );\n }\n\n if (format === 'csv') {\n downloadFile(\n `/groups/${item.id}/members.csv`,\n 'text/csv',\n filtersToApi(filters),\n `${item.name}.${format}`,\n );\n }\n }\n\n return (\n <>\n {/* @ts-expect-error TS(2739): Type '{ mb: number; fields: { type: string; captio... Remove this comment to see the full error message */}\n {\n setOpenGroupMemberDialog(true);\n setGroupMemberDialogId('create');\n setGroupMemberTrash(false);\n },\n }\n : null\n }\n menu={[\n {\n caption: `${cxt.t('Download')} PDF`,\n onClick: () => download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n menuIcon={}\n onFilter={setFilters}\n trashAction\n />\n {\n const { id, ...params } = value;\n return groupsService.getGroupMembers(id, params);\n }}\n /* @ts-expect-error QueryParams */\n queryParams={queryParams}\n prefetching\n columns={[\n {\n title: cxt.t('Name'),\n type: 'link',\n field: 'name',\n align: 'left',\n value: (row: GroupMember) => (\n <>\n {\n setOpenGroupMemberDialog(true);\n setGroupMemberDialogId(row.id);\n setGroupMemberTrash(row.trash);\n }}\n variant=\"body2\"\n >\n {fullName(row.user)}\n \n {row.notes ? (\n \n {row.notes}\n \n ) : null}\n {row.beneficiaries?.count ? (\n \n }\n defaultExpandIcon={}\n >\n \n {row.beneficiaries.rows?.map(\n (beneficiary) => (\n \n ),\n )}\n \n \n \n ) : null}\n\n
\n \n ),\n },\n {\n title: cxt.t('Inscription'),\n value: (row: GroupMember) =>\n row.enrollment &&\n (row.enrollment.refund ? (\n \n {\n setIdPayment(row.enrollment?.id);\n }}\n >\n {formatPriceByLocale(\n row.enrollment.price,\n cxt.sc?.city?.country?.currency,\n )}\n \n\n \n \n \n\n \n \n ) : (\n \n {\n setIdPayment(row.enrollment?.id);\n }}\n >\n {formatPriceByLocale(\n row.enrollment.price,\n cxt.sc?.city?.country?.currency,\n )}\n \n\n \n \n \n\n \n \n )),\n },\n {\n title: cxt.t('Period'),\n type: 'period',\n value: (row: GroupMember) => ({\n ini: row.ini,\n end: row.end,\n }),\n },\n {\n title: `${cxt.t('PaymentForm')} (${cxt.t('Fee')})`,\n value: (row: GroupMember) =>\n haveFees &&\n ['ABONADOS', 'NORMAL', 'FAMILY'].includes(\n row.group?.type ?? '',\n ) ? (\n \n ) : (\n ''\n ),\n },\n {\n title: '',\n value: (row: GroupMember) =>\n row.discounts && (\n \n ),\n },\n {\n title: '',\n value: (row: GroupMember) => (\n {\n setOpenMshipDialog(true);\n setSelectedMshipId(row.user?.mship?.id);\n }}\n />\n ),\n },\n ]}\n />\n\n {openGroupMemberDialog && (\n {\n setOpenGroupMemberDialog(false);\n setGroupMemberDialogId(null);\n }}\n onUpdateMember={() => {\n queryClient.invalidateQueries({ queryKey });\n setOpenGroupMemberDialog(false);\n setGroupMemberDialogId(null);\n }}\n />\n )}\n\n {idPayment && (\n setIdPayment(undefined)}\n onPay={(payment) => {\n updatePayment(payment);\n }}\n />\n )}\n\n {\n setOpenMshipDialog(false);\n }}\n onSave={updateMship}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext, SttPrivilegeList } from '../../../sporttia/all';\n\n/**\n * Privileges for the user group\n * Group item - A user group as obtained in /group/Group.js\n */\nexport default function GroupPrivileges({ item }) {\n const [privileges, setPrivileges] = useState([]);\n\n const cxt = useContext(AppContext);\n\n // Load privilege list on 'item' change\n useEffect(() => {\n if (item) {\n loadPrivileges();\n }\n }, [item]);\n\n // Load privileges from API\n function loadPrivileges() {\n cxt.api('GET', `/groups/${item.id}/privileges`, {\n params: {\n includeInactive: 1,\n },\n success: (response) => {\n if (response.rows) {\n setPrivileges(response.rows);\n }\n },\n error: console.log,\n });\n }\n\n // Set the privilege to value\n function togglePrivilege({ id, value }) {\n const privilege = privileges.find((prv) => prv.id === id);\n\n if (!privilege) {\n return;\n }\n\n // Asynchronous local update for smoothness. The privilege is not successfully altered until the API call is executed, though\n updateLocally({ id, value });\n\n if (value) {\n cxt.api('POST', `/groups/${item.id}/privileges/${id}`);\n } else {\n cxt.api('DELETE', `/groups/${item.id}/privileges/${id}`);\n }\n }\n\n // Update the list locally to display purported changes\n function updateLocally({ id, value }) {\n const privs = [...privileges];\n const privilege = privs.find((prv) => prv.id === id);\n privs.splice(privs.indexOf(privilege), 1, {\n ...privilege,\n active: value,\n });\n setPrivileges(privs);\n }\n\n return (\n \n );\n}\n","import React, { useState, useContext, Fragment } from 'react';\nimport { Box, CircularProgress, Link, Typography } from '@material-ui/core';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttFeeRow, SttNoResults, SttPagination } from '../../../sporttia/all';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport { fullName, updateElementInArray } from '../../../lib/utils';\nimport useGroupsService from '../../../services/GroupsService';\nimport translations from '../../../translations';\nimport SttError from '../../../components/error/SttError';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport { Group } from '../../../types/api/models';\nimport Payment from '../../../types/models/Payment';\nimport { GetGroupMembers200 } from '../../../types/api/paths/Group';\nimport GroupMember, { Fee } from '../../../types/models/GroupMember';\n\ntype GroupFeesProps = {\n item: Group;\n};\n\n/**\n * GroupFees - List of memers' fees\n * Object item - The group object\n */\nexport default function GroupFees({ item }: GroupFeesProps) {\n const cxt = useContext(AppContext)!;\n const [idPayModal, setIdPayModal] = useState(null);\n\n const queryClient = useQueryClient();\n\n const groupsService = useGroupsService();\n\n const [getGroupMembersPage, setGetGroupMembersPage] = useState(1);\n const [getGroupMembersFilters, setGetGroupMembersFilters] = useState({\n name: '',\n });\n const getGroupMembersQuery = groupsService.useGetGroupMembers(item.id, {\n rows: 25,\n page: getGroupMembersPage,\n ...getGroupMembersFilters,\n });\n\n function updateFeeFromPayment(payment: Payment) {\n queryClient.setQueryData(\n getGroupMembersQuery.queryKey,\n (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n rows: old.rows.map((row) => {\n if (payment.user.id === row.user.id) {\n return {\n ...row,\n fees: updateElementInArray(row.fees, payment, {\n merge: true,\n }),\n };\n }\n\n // When a fee is paid for a child, the payment is made by the parent.\n // Therefore, we search among the children of the payer and add the payment to the child's fees.\n const foundChildrenPayment =\n payment.children?.rows?.find(\n (children) => children.user.id === row.user.id,\n );\n if (row.fees && foundChildrenPayment) {\n return {\n ...row,\n fees: row.fees.map((fee) =>\n fee.id === foundChildrenPayment.id\n ? payment\n : fee,\n ),\n };\n }\n\n return row;\n }),\n };\n },\n );\n }\n\n function deleteFeeFromPayment(payment: Payment) {\n queryClient.setQueryData(\n getGroupMembersQuery.queryKey,\n (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n rows: old.rows.map((row) => {\n if (row.fees && row.user.id === payment.user.id) {\n return {\n ...row,\n fees: row.fees.map((fee) => {\n if (fee.id !== payment.id) {\n return fee;\n }\n\n return {\n ...fee,\n status: null,\n trash: true,\n };\n }),\n };\n }\n\n // When a fee is paid for a child, the payment is made by the parent.\n // Therefore, we search among the children of the payer and add the payment to the child's fees.\n const foundChildrenPayment =\n payment.children?.rows?.find(\n (children) => children.user.id === row.user.id,\n );\n if (row.fees && foundChildrenPayment) {\n return {\n ...row,\n fees: row.fees.map((fee) =>\n fee.id === payment.id\n ? {\n ...fee,\n status: null,\n trash: true,\n }\n : fee,\n ),\n };\n }\n\n return row;\n }),\n };\n },\n );\n }\n\n function onFeeGenerated(\n updatedFee: Fee,\n indexFee: number,\n selectedMember: GroupMember,\n ) {\n if (\n updatedFee === undefined ||\n indexFee === undefined ||\n selectedMember === undefined\n ) {\n return;\n }\n\n queryClient.setQueryData(\n getGroupMembersQuery.queryKey,\n (old) => {\n if (!old) {\n return undefined;\n }\n\n // Copio los miembros.\n const currentMembers = { ...old };\n\n // Copio el miembro que voy actualizar.\n const updatedMember = { ...selectedMember };\n\n // Actualizo la cuota que se ha actualizado.\n updatedMember.fees![indexFee] = {\n ...updatedMember.fees![indexFee],\n ...updatedFee,\n };\n\n // Busco el indice del miembro dentro del array de miembros anterior.\n const memberIndex = currentMembers.rows.findIndex(\n (member) => member.id === updatedMember.id,\n );\n\n // Con el indice anterior sustituyo el miembro antiguo por el actualizado (ya tiene la cuota actualizada).\n currentMembers.rows[memberIndex] = {\n ...currentMembers.rows[memberIndex],\n ...updatedMember,\n };\n\n // Actualizo el objeto de miembros para pintarlo definitivamente en la vista.\n return currentMembers;\n },\n );\n }\n\n if (getGroupMembersQuery.isError) {\n return ;\n }\n\n return (\n <>\n {/* @ts-expect-error: Migrate SttTopFilteringControls */}\n {\n setGetGroupMembersFilters(filters);\n setGetGroupMembersPage(1);\n }}\n />\n\n {getGroupMembersQuery.isLoading && (\n \n \n \n )}\n\n {getGroupMembersQuery.isSuccess &&\n getGroupMembersQuery.data.count > 0 && (\n \n {\n setGetGroupMembersPage(page);\n }}\n />\n \n )}\n\n \n {getGroupMembersQuery.isSuccess &&\n getGroupMembersQuery.data.count > 0 &&\n getGroupMembersQuery.data.rows.map((member) => (\n \n \n \n \n {fullName(member.user)}\n \n \n \n {/* @ts-expect-error: Migrate SttFeeRow */}\n setIdPayModal(id)}\n onGenerated={(fee: Fee, indexFee: number) =>\n onFeeGenerated(fee, indexFee, member)\n }\n />\n \n ))}\n\n {getGroupMembersQuery.data?.count === 0 && }\n \n\n {idPayModal && (\n {\n setIdPayModal(null);\n }}\n onPay={updateFeeFromPayment}\n onSave={updateFeeFromPayment}\n onDeleted={deleteFeeFromPayment}\n onRecovered={updateFeeFromPayment}\n onRefund={deleteFeeFromPayment}\n />\n )}\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Box, Grid, Typography, Chip } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttFormPeriod,\n SttFormTime,\n SttSelectWeekdays,\n} from '../../sporttia/all';\nimport { SttSelectableChips } from '../../sporttia/SttSelectableChips';\nimport { showErrors } from '../../lib/utils';\n\n/**\n * DeviceAuthDialog : Dialog to add device authorizations to groups, ativities, whatever\n * Depending on the spec, the API will respond differently, for ex: idGroup to authorize a group, idEvent for an event, etc.\n * bool open - visibility of the dialog\n * Object item - auth spec to display in the form {[optional]id, dateini, dateend, timeini, timeend, weekdays, [optional]devices}\n * Function onSave - save callback (also called after deletion)\n * Function onClose - close callback\n */\nexport default function DeviceAuthDialog({ open, item, onSave, onClose }) {\n const [auth, setAuth] = useState(item); // the authorization object we're dealing with (if it doesn't contain an id, we're creating one)\n const [devices, setDevices] = useState([]); // available devices for the sports center\n const [deviceIds, setDeviceIds] = useState([]); // device ids associated with the auth object. These are separate since we need additional API calls\n\n // Only for already existing device auths: we use this to keep track of changes, since those must be sent individually to the API\n const [existingDeviceIds, setExistingDeviceIds] = useState([]);\n const [deviceIdsHaveChanged, setDeviceIdsHaveChanged] = useState(false);\n\n const cxt = useContext(AppContext);\n\n // Load devices from API\n function loadDevices() {\n cxt.api('GET', `/scs/${cxt.sc.id}/devices`, {\n params: {},\n success: (result) => {\n if (result.rows) {\n setDevices(result.rows);\n\n if (auth.id) {\n const ids = auth.devices?.map((device) => device.id);\n if (ids) {\n setDeviceIds(ids);\n setExistingDeviceIds(ids);\n }\n }\n }\n },\n });\n }\n\n // Form fields changed\n function handleChange({ name, value }) {\n setAuth({ ...auth, [name]: value });\n }\n\n // Add device, returns a promise for async functions' await mechanics\n function addDevice(authId, deviceId) {\n return new Promise((resolve, reject) => {\n cxt.api('POST', `/devices/auths/${authId}/devices/${deviceId}`, {\n success: (response) => {\n if (response.deviceAuth) {\n resolve();\n } else {\n reject(response);\n }\n },\n error: reject,\n });\n });\n }\n\n // Remove device, returns a promise for async functions' await mechanics\n function removeDevice(authId, deviceId) {\n return new Promise((resolve, reject) => {\n cxt.api('DELETE', `/devices/auths/${authId}/devices/${deviceId}`, {\n success: (response) => {\n if (response.deviceAuth) {\n resolve();\n } else {\n reject(response);\n }\n },\n error: reject,\n });\n });\n }\n\n // Synchronously (weird, I know) add the associated devices with this auth\n async function saveDevices(authId, ids) {\n if (ids.length === 0) {\n return;\n }\n\n let index = 0;\n while (ids[index]) {\n // We wait for each response because the API can fail if we send them too fast\n // eslint-disable-next-line no-await-in-loop\n await addDevice(authId, ids[index]);\n index++;\n }\n }\n\n // Synchronously remove devices from this auth\n async function deleteDevices(ids) {\n if (ids.length === 0) {\n return;\n }\n\n let index = 0;\n while (ids[index]) {\n // We wait for each response because the API can fail if we send them too fast\n // eslint-disable-next-line no-await-in-loop\n await removeDevice(auth.id, ids[index]);\n index++;\n }\n }\n\n // Convenience function to call the save and close callbacks at once\n function saveAndClose() {\n if (typeof onSave === 'function') {\n onSave();\n }\n\n if (typeof onClose === 'function') {\n onClose();\n }\n }\n\n // Create new authorization. Execute additional API calls afterwards.\n function createAuth() {\n cxt.api('POST', `/devices/auths`, {\n params: {\n ...auth,\n },\n success: (response) => {\n if (response.deviceAuth) {\n saveDevices(response.deviceAuth.id, deviceIds).then(() => {\n saveAndClose();\n });\n }\n },\n });\n }\n\n // Update existing authorization. Afterwards, check device ids that must be added and/or deleted and execute the corresponding API calls.\n function updateAuth() {\n cxt.api('PUT', `/devices/auths/${auth.id}`, {\n params: {\n dateini: auth.dateini,\n dateend: auth.dateend,\n timeini: auth.timeini,\n timeend: auth.timeend,\n weekdays: auth.weekdays,\n },\n success: (response) => {\n if (response.deviceAuth) {\n // Handled in state\n if (deviceIdsHaveChanged) {\n // Devices we had but not anymore must be removed\n const devicesToRemove = existingDeviceIds.filter(\n (id) => !deviceIds.includes(id),\n );\n\n // Devices we didn't have but now do, must be added\n const devicesToAdd = deviceIds.filter(\n (id) => !existingDeviceIds.includes(id),\n );\n\n // All this is synchronous\n saveDevices(auth.id, devicesToAdd).then(() => {\n deleteDevices(devicesToRemove).then(() => {\n saveAndClose();\n });\n });\n } else {\n saveAndClose();\n }\n }\n },\n error: (errorWrapper) => {\n showErrors(errorWrapper.error, cxt.showMessage);\n },\n });\n }\n\n // create or update depending on whether we have an id or not\n function save() {\n if (auth.id) {\n updateAuth();\n } else {\n createAuth();\n }\n }\n\n // Delete this auth (we don't care about associated devices because backend)\n function deleteAuth() {\n if (!auth.id) {\n return false;\n }\n\n cxt.api('DELETE', `/devices/auths/${auth.id}`, {\n confirmation: true,\n success: (result) => {\n if (result.deviceAuth) {\n saveAndClose();\n }\n },\n });\n }\n\n const buttons = [\n {\n type: 'save',\n onClick: save,\n },\n ];\n\n if (auth.id) {\n buttons.push({\n type: 'delete',\n onClick: deleteAuth,\n });\n }\n\n // Load available devices\n useEffect(() => {\n loadDevices();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // If devices have changed, check if the current list is different than the old one (existingdeviceIds)\n useEffect(() => {\n const haveChanged =\n existingDeviceIds.sort().join(',') !== deviceIds.sort().join(',');\n setDeviceIdsHaveChanged(haveChanged);\n }, [deviceIds, existingDeviceIds]);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {cxt.t('Weekdays')}:\n \n \n \n \n \n \n {cxt.t('DevicesToAuth')}:\n \n ({\n label: device.name,\n value: device.id,\n }))}\n selected={[...deviceIds]}\n onChange={({ value }) => setDeviceIds(value)}\n />\n \n \n }\n buttons={buttons}\n />\n );\n}\n","import React, { useState } from 'react';\nimport { Box, InputLabel } from '@material-ui/core';\nimport moment from 'moment';\nimport queryStringLib from 'query-string';\nimport { SttFormText } from '../sporttia/forms/SttFormText';\nimport { SttFormTextarea } from '../sporttia/forms/SttFormTextarea';\nimport { SttFormSelect } from '../sporttia/forms/SttFormSelect';\nimport { SttFormDate } from '../sporttia/forms/SttFormDate';\nimport { SttFormCheck } from '../sporttia/forms/SttFormCheck';\nimport { getPath } from '../pages/Pages';\nimport { isErrorResponse, isObject } from '../types/common';\nimport latinizeCharacters from './latinizeCharacters';\nimport constants from '../config/constants';\n\n/**\n * Format a ini,end pair as \"date1 - date2\", \"date, time1 : time2\" etc.\n */\nexport function formatPeriod(ini, end, options, translationFunc) {\n const defaultOptions = {\n dateFormat: 'DD/MM/YYYY',\n timeFormat: 'HH:mm',\n dateLabel: translationFunc ? translationFunc('Date') : 'Fecha',\n periodLabel: translationFunc ? translationFunc('Period') : 'Periodo',\n timeLabel: translationFunc ? translationFunc('Time') : 'Hora',\n scheduleLabel: translationFunc ? translationFunc('Horary') : 'Horario',\n };\n\n const myOptions = options\n ? { ...defaultOptions, ...options }\n : defaultOptions;\n\n const dateIni = moment(ini).format(myOptions.dateFormat);\n const dateEnd = moment(end).format(myOptions.dateFormat);\n const timeIni = moment(ini).format(myOptions.timeFormat);\n const timeEnd = moment(end).format(myOptions.timeFormat);\n\n let dateString = '';\n let timeString;\n let dateLabel = myOptions.periodLabel;\n let timeLabel = myOptions.timetableLabel;\n\n if (dateIni !== dateEnd) {\n dateString = `${dateIni} - ${dateEnd}`;\n } else {\n dateString = dateIni;\n dateLabel = myOptions.dateLabel;\n }\n\n if (timeIni !== timeEnd) {\n timeString = `${timeIni} - ${timeEnd}`;\n } else {\n timeString = timeIni;\n timeLabel = myOptions.scheduleLabel;\n }\n\n const dateTime = `${dateIni} ${timeIni} - ${dateEnd} ${timeEnd}`;\n\n return [dateString, timeString, dateLabel, timeLabel, dateTime];\n}\n\n/**\n * Format price\n */\nexport const formatPrice = (num, currencySymbol = '€') => {\n const result = (Math.round(num * 100) / 100).toFixed(2);\n return `${Number.isNaN(result) ? ' - ' : result} ${currencySymbol}`;\n};\n\n/**\n * Format price by locale\n */\nexport const formatPriceByLocale = (num, currency = 'EUR', locale = 'es-ES') =>\n Number(num).toLocaleString(locale, {\n style: 'currency',\n currency,\n });\n\n/**\n * Parse price into a regular JS float\n */\nexport const parsePrice = (price) => {\n if (price === undefined || price === null || price === '') {\n return null;\n }\n\n const parsedPrice = parseFloat(price.toString().replace(',', '.')).toFixed(\n 2,\n );\n\n return parsedPrice === 'NaN' ? NaN : parsedPrice;\n};\n\n/**\n * It's define\n */\nexport const isDefined = (val) => val != null;\n\n/**\n * Construir un query string\n *\n * Devuelve un string con lo que enviar a una llamada de tipo GET del tipo a=1&b=2&c=82. Tener en cuenta\n * que no devuelve el inicio \"?\".\n *\n * @param {Object} params - Objeto con los parámetros\n * @param {Object} options - Opciones:\n *\n * - bool includeEmpty - Incluye a los que el valor esté vacío o es undefined.\n *\n * @return string - Query string sin \"?\"\n */\nexport const buildQueryString = (params, options = {}) =>\n Object.entries(params)\n .filter(([, value]) => options.includeEmpty || value !== undefined)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n/**\n * Update element in array\n *\n * This function create as well if the element doesn't exist.\n */\nexport function updateElementInArray(\n arr,\n element,\n { key = 'id', merge = false } = {},\n) {\n if (element) {\n const newArray = arr ? [...arr] : [];\n const foundElementIndex = newArray.findIndex(\n (e) => e[key] === element[key],\n );\n\n // Update it\n if (foundElementIndex > -1) {\n newArray[foundElementIndex] = merge\n ? { ...newArray[foundElementIndex], ...element }\n : element;\n\n // Create a new one\n } else {\n newArray.push(element);\n }\n\n return newArray;\n }\n}\n\n/**\n * Delete element from array\n */\nexport function deleteElementFromArray(arr, element) {\n if (arr) {\n const newArray = [...arr];\n newArray.splice(\n newArray.findIndex((e) => e.id === element.id),\n 1,\n );\n return newArray;\n }\n}\n\n/**\n * Sub set object\n *\n * * Object obj\n * * Array|String fields\n */\nexport function subsetObject(obj, fields) {\n let myFields = fields;\n if (typeof myFields === 'string') {\n myFields = myFields.split(',');\n }\n\n const newObj = {};\n myFields.forEach((field) => {\n if (obj[field] !== undefined) {\n newObj[field] = obj[field];\n }\n });\n\n return newObj;\n}\n\n/**\n * Normalize duration\n *\n * Given duration > 60 turns it into h m\n */\nexport function normalizeDuration(duration) {\n // Crear cadena xh ym\n if (duration > 60) {\n const hours = Math.floor(duration / 60);\n const minutes = duration % 60;\n\n return `${hours}h ${minutes > 0 ? `${minutes}m` : ''}`;\n }\n return `${duration}m`;\n}\n\n// Generate 'question' fields for the activity/event forms\nexport function generateFormField(item, onChange, placeholder = false) {\n let field;\n\n switch (item.type) {\n case 'NUMERIC':\n field = (\n \n );\n break;\n case 'STRING':\n field = (\n <>\n {placeholder && (\n <>\n {item.name}\n \n \n )}\n\n \n \n );\n break;\n case 'SELECT':\n field = (\n ({\n caption: opt.name,\n value: opt.value,\n }))}\n onChange={onChange}\n />\n );\n break;\n case 'DATE':\n field = (\n \n );\n break;\n case 'CHECK':\n field = (\n \n onChange({ name, value: +value })\n }\n />\n );\n break;\n default:\n field = null;\n }\n\n return field;\n}\n\n// Given a possibly user object, return its mship.fullName property, its fullName property, or the combination of name, surname1 and surname2 if applicable.\nexport function fullName(userObj) {\n if (!userObj) {\n return '';\n }\n\n if (userObj.mship) {\n if (userObj.mship?.fullName)\n return userObj.mship.fullName.replaceAll('null', '');\n if (\n userObj.mship?.name &&\n userObj.mship?.surname1 &&\n userObj.mship?.surname2\n )\n return `${userObj.mship.name} ${userObj.mship.surname1} ${userObj.mship.surname2}`?.replaceAll(\n 'null',\n '',\n );\n }\n\n if (userObj.displayName) {\n return userObj.displayName.replaceAll('null', '');\n }\n\n return (\n userObj.fullName?.replaceAll('null', '') ||\n (\n userObj.name +\n (userObj.surname1 ? ` ${userObj.surname1}` : '') +\n (userObj.surname2 ? ` ${userObj.surname2}` : '')\n )?.replaceAll('null', '')\n );\n}\n\n// Return an array of values as a comma-separated string, optinally using extractorFunc() to get the values\nexport function commaSeparated(array, extractorFunc) {\n if (!Array.isArray(array)) {\n return null;\n }\n\n return array.reduce(\n (res, val, i) =>\n res +\n (i > 0 ? ',' : '') +\n (extractorFunc ? extractorFunc(val) : val.toString()),\n '',\n );\n}\n\n// Esta función intenta hacer un truqui para cargar el documento en un iframe e imprimir desde allí, pero no funciona (cross-origin)\n// x-frame-options no sirve ya que solo acepta DENY y SAMEORIGIN (no es el caso)\n// No sirve ni con un dataurl ni con url normal. ni siquiera está claro que sea posible mandar desde javascript algo a la cola de impresión\n// Lo dejo aquí para que nuestro yo del futuro no intente implementar de nuevo una cosa imposible.\nexport function print(url) {\n fetch(url)\n .then((response) => response.blob())\n .then(\n (blob) =>\n new Promise((resolve) => {\n const fr = new FileReader();\n fr.onload = () => {\n resolve(fr.result);\n };\n fr.readAsDataURL(blob);\n }),\n )\n .then((dataUrl) => {\n let iframe = document.createElement('iframe');\n document.body.appendChild(iframe);\n\n iframe.style.display = 'none';\n iframe.onload = function handleOnLoad() {\n // print frame 10ms after load\n setTimeout(() => {\n try {\n iframe.focus();\n iframe.contentWindow.print();\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log(err);\n }\n }, 10);\n // kill frame 20ms after load\n setTimeout(() => {\n iframe.blur();\n document.body.removeChild(iframe);\n iframe = null;\n }, 20);\n };\n\n iframe.src = dataUrl;\n });\n}\n\n// Copiar value al portapapeles\nexport function copyToClipboard(value, callback) {\n navigator.clipboard\n .writeText(value)\n .then(() => typeof callback === 'function' && callback(value));\n}\n\n/**\n * The returned object is created with [`query-string`](https://www.npmjs.com/package/query-string).\n */\nexport function getQueryStrings(string, options = {}) {\n return queryStringLib.parse(string, options);\n}\n\n/**\n * Abre una pestaña con la url pasada como parámetro.\n * @param url\n */\nexport function openNewBrowserTab(url) {\n const win = window.open(url, '_blank');\n win.focus();\n}\n\n/**\n * Devuelve un array con solo los valores obtenidos a través de la clave pasada como parámetro.\n * @param key Clave de la que se va a sacar el valor.\n * @param objects Array con los objetos.\n * @returns {[]} Array con los valores.\n */\nexport function getArrayWithOnlyValues(key, objects) {\n const data = [];\n\n objects.forEach((item) => {\n if (key in item) data.push(item[key]);\n });\n\n return data;\n}\n\n/**\n * Realiza el proceso de redireccionar al login y luego redireccionar de nuevo a la página desde\n * donde se inició el redireccionamiento a login.\n * @param history useHistory de la página donde nos encontremos.\n */\nexport function redirectLogin(history) {\n history.push({\n pathname: getPath('login'),\n state: { from: history.location },\n });\n}\n\n/**\n * Comprueba si un @login tiene el string #OFF#taltal que indica que el usuario se dio de baja\n * @param string\n * @returns {boolean}\n */\nexport function checkOffTag(string) {\n let result = false;\n if (string.includes('#OFF#')) {\n result = true;\n }\n return result;\n}\n\n/**\n * Devuelve un objeto al que se le eliminan las claves dadas por \"keys\".\n * @param object Objecto a modificar.\n * @param keys Lista de claves a eliminar.\n * @returns {*}\n */\nexport const objectWithoutKeys = (object, keys = []) => {\n const newObject = { ...object };\n\n keys.map((key) => (newObject[key] ? delete newObject[key] : null));\n\n return newObject;\n};\n\n/**\n * Compara dos objetos si son iguales.\n * @param obj1 Objeto 1.\n * @param obj2 Objecto 2.\n * @returns {boolean} Devuelve true si son iguales y false en otro caso.\n */\nexport const checkObjEqual = (obj1, obj2) => {\n const obj1Length = Object.keys(obj1).length;\n const obj2Length = Object.keys(obj2).length;\n\n if (obj1Length === obj2Length) {\n return Object.keys(obj1).every(\n (key) => key in obj2 && obj2[key] === obj1[key],\n );\n }\n return false;\n};\n\n/**\n * Open an external url in a new tab, simulating a link click.\n * @param url URL to open.\n */\nexport const openUrl = (url) => {\n const link = document.createElement('a');\n link.href = url;\n link.target = '_new';\n link.click();\n};\n\n/**\n * Formats seconds to a string of hours: minutes: seconds.\n * @param duration Seconds.\n * @returns {string} Format string.\n */\nexport const secondsToFormatTime = (duration) => {\n // Hours, minutes and seconds\n // eslint-disable-next-line no-bitwise\n const hrs = ~~(duration / 3600);\n // eslint-disable-next-line no-bitwise\n const mins = ~~((duration % 3600) / 60);\n // eslint-disable-next-line no-bitwise\n const secs = ~~duration % 60;\n\n // Output like \"1:01\" or \"4:03:59\" or \"123:03:59\"\n let ret = '';\n\n if (hrs > 0) {\n ret += `${hrs}:${mins < 10 ? '0' : ''}`;\n }\n\n ret += `${mins}:${secs < 10 ? '0' : ''}`;\n ret += `${secs}`;\n return ret;\n};\n\nexport function shallowEqual(object1, object2) {\n if (object1 && object2) {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const key of keys1) {\n if (\n typeof object1[key] === 'object' &&\n typeof object2[key] === 'object'\n ) {\n if (!shallowEqual(object1[key], object2[key])) {\n return false;\n }\n } else if (object1[key] !== object2[key]) {\n return false;\n }\n }\n\n return true;\n }\n}\n\nexport function showErrors(error, showMessage) {\n function validationErrors() {\n if (error.errors?.length > 0) {\n let errorsFormatted = '';\n error.errors.forEach((err) => {\n errorsFormatted += `Field: ${err.field} - ${err.message}\\n`;\n });\n showMessage('E', errorsFormatted);\n }\n }\n\n if (error) {\n // Temporal filter until http error codes are forwarded to individual components\n if (error.msg === '[[Se ha producido un error de validación.]]') {\n validationErrors();\n }\n }\n}\n\n/**\n * Generic http(s) request that can be self-aborted after a specified timeout.\n * @param method\n * @param uri\n * @param params\n * @param https\n * @param timeoutMillisecs\n * @returns {Promise}\n */\nexport const requestAdHoc = (method, url, params = {}) => {\n const headers = {\n Connection: 'keep-alive',\n 'Cache-Control': 'no-cache',\n 'Content-Type': 'application/json',\n 'X-SOURCE': 'Sporttia',\n };\n\n const METHOD = method.toUpperCase();\n let queryString = '';\n\n if (METHOD === 'GET' && params) {\n if (Object.keys(params).length > 0) {\n // filter null and undefined param values\n const filteredParams = Object.keys(params).reduce(\n (result, param) =>\n params[param] !== undefined && params[param] !== null\n ? {\n ...result,\n [param]: params[param],\n }\n : result,\n {},\n );\n\n // create the querystring\n queryString += Object.keys(filteredParams).reduce(\n (result, param, i) =>\n `${result + (i > 0 ? '&' : '?') + param}=${params[param]}`,\n '',\n );\n }\n }\n\n return new Promise((resolve, reject) => {\n fetch(url + queryString, {\n ...{\n headers,\n method,\n },\n ...((METHOD === 'POST' || METHOD === 'PUT') &&\n params && { body: JSON.stringify(params) }),\n })\n .then((response) => {\n if (response.status === 200) {\n try {\n response.json().then(resolve);\n } catch (error) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({\n error: {\n msg: error,\n },\n });\n }\n } else {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject(`Error ${response.status}`);\n }\n })\n .catch((err) => {\n // Not even a status code\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({\n error: {\n msg:\n err?.message || 'Error de conexión sin especificar',\n log: JSON.stringify(err),\n },\n });\n });\n });\n};\n\nexport const getErrorMessage = (error) =>\n (isObject(error) && typeof error.message === 'string' && error.message) ||\n (isErrorResponse(error) && error.error.msg) ||\n 'Error';\n\nexport const getObjectWithoutEmptyStrings = (obj) =>\n Object.entries(obj)\n .filter(\n ([, value]) => !(typeof value === 'string' && value.trim() === ''),\n )\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});\n\nexport const composeFormData = (form) =>\n form.reduce((result, field) => {\n const fieldValue = field.answer ? field.answer.value : '';\n return { ...result, [field.id]: fieldValue };\n }, {});\n\nexport const latinize = (string) =>\n string.replace(/[^A-Za-z0-9]/g, (a) => latinizeCharacters[a] || a);\n\n/*\n Función para recoger en un objeto los valores que hayan cambiado con respecto al objeto de izquierda\n */\nexport const getObjectDiff = (left, right) => {\n const diffObjectKeys = Object.keys(left).filter((leftKey) => {\n if (left[leftKey] !== undefined) {\n if (right[leftKey] === undefined) return true;\n return right[leftKey] !== left[leftKey];\n }\n return false;\n });\n return diffObjectKeys.reduce(\n (diff, key) => ({ ...diff, [key]: left[key] }),\n {},\n );\n};\n\n/*\n Función para recoger en un objeto los valores que hayan cambiado con respecto al objeto de izquierda\n */\nexport const createObjectWithUpdatedFieldsOnly = (left, right) => {\n if (right) {\n return getObjectDiff(left, right);\n }\n\n return left;\n};\n\nexport const usePrevAndUpdatedStates = (item) => {\n const [prevState, setPrevState] = useState(item);\n const [updatedState, setUpdatedState] = useState({});\n\n return {\n setPrevState,\n setUpdatedState,\n prevState,\n updatedState,\n };\n};\n\n/**\n * Comprueba si la forma de pago requiere una pasarela de pago.\n * Algunos pagos no se confirman de inmediato, sino después de pasar por la pasarela de pago.\n * La confirmación del pago se recibe, por lo general, en el tpv confirmation, cuando el banco notifica.\n * @param paymentForm Forma de pago.\n * @returns {boolean}\n */\nexport const isPaymentFormWithGateway = (paymentForm) =>\n paymentForm === constants.payment.paymentForms.tpv.name ||\n paymentForm === constants.payment.paymentForms.zitycard.name;\n","import React, { useContext } from 'react';\nimport { Chip } from '@material-ui/core';\nimport { AppContext, SttTable, SttTopControls } from '../../sporttia/all';\n\n/**\n * DeviceList List page for device authorizations. Device authorizations can be related to groups, activities, events...\n * Object item - The parent item for this device list, typically a Group, Activity etc.\n * String type - A string like \"idGroup\", \"idActivity\" as defined in /components/devices/DeviceTypes\n * Array auths - list of device auths\n * Function loaderFunction - callback function for loading table data (like every other SttTable)\n * Function onCreate - callback for the +create button\n * Function onSelect - callback for row selection\n */\nexport default function DeviceList({\n item,\n type,\n auths,\n loaderFunction = undefined,\n onCreate,\n onSelect,\n}) {\n const cxt = useContext(AppContext);\n\n // Create a new device auth and pass it to the onCreate callback\n function create() {\n if (typeof onCreate === 'function') {\n onCreate({\n [type]: item.id,\n dateini: item.ini ?? item.dateini,\n dateend: item.end ?? item.dateend,\n timeini: '08:00:00', // default value\n timeend: '22:00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n });\n }\n }\n\n // Select one row in the list\n function select(row) {\n if (typeof onSelect === 'function') {\n onSelect(row);\n }\n }\n\n return (\n <>\n \n\n select(row)}\n columns={[\n {\n title: cxt.t('Period'),\n name: 'period',\n type: 'period',\n value: (row) => ({\n ini: row.dateini,\n end: row.dateend,\n }),\n },\n {\n title: cxt.t('Horary'),\n name: 'schedule',\n type: 'hmRange',\n value: (row) => ({\n ini: `2020-01-01 ${row.timeini}`,\n end: `2020-01-01 ${row.timeend}`,\n }),\n },\n {\n title: cxt.t('Devices'),\n name: 'devices',\n value: (row) => (\n
\n {row.devices &&\n row.devices.map((device) => (\n \n ))}\n
\n ),\n },\n {\n title: cxt.t('WeekDays'),\n name: 'weekdays',\n type: 'weekdays',\n value: (row) => row.weekdays,\n },\n ]}\n />\n \n );\n}\n","export default {\n GROUP: 'idGroup',\n ACTIVITIES: 'idActivity',\n BONO: 'idBono',\n} as const;\n","import React, { useState, useContext } from 'react';\nimport { AppContext } from '../../../sporttia/all';\nimport DeviceAuthDialog from '../../../components/devices/DeviceAuthDialog';\nimport DeviceList from '../../../components/devices/DeviceList';\nimport deviceConstants from '../../../components/devices/deviceConstants';\n\n/**\n * GroupDevices : Group screen devices tab section. Contains the list of authorized devices for this group\n * params:\n * Object item - the group\n */\nexport default function GroupDevices({ item }) {\n const [auths, setAuths] = useState([]); // auth rows\n const [viewAuth, setViewAuth] = useState(null); // auth to open in the DeviceAuthDialog\n\n const cxt = useContext(AppContext);\n\n // Load from API\n function loadAuths() {\n cxt.api('GET', `/groups/${item.id}/devices/auths`, {\n params: { rows: 25, page: 1 },\n success: (result) => {\n if (result.rows) {\n setAuths(result);\n }\n },\n });\n }\n\n return (\n
\n setViewAuth(device)}\n onSelect={(device) => setViewAuth(device)}\n />\n {viewAuth && (\n setViewAuth(null)}\n />\n )}\n
\n );\n}\n","import React, { useState, useContext } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { AppContext, SttFullDialog, SttTabs } from '../../../sporttia/all';\nimport GroupDetails from './GroupDetails';\nimport GroupMembers from './GroupMembers';\nimport GroupPrivileges from './GroupPrivileges';\nimport GroupFees from './GroupFees';\nimport GroupDevices from './GroupDevices';\nimport { useLoader } from '../../../lib/hooks';\nimport { Group as IGroup } from '../../../types/api/models';\nimport useGroupsService from '../../../services/GroupsService';\nimport SttError from '../../../components/error/SttError';\nimport { GetGroup200 } from '../../../types/api/paths/Group';\nimport translations from '../../../translations';\nimport constants from '../../../config/constants';\n\ntype GroupProps = {\n id: number;\n trash: boolean;\n onChange: (group: IGroup) => void;\n onClose: () => void;\n};\n\n/**\n * Group screen\n */\nexport default function Group({ id, trash, onChange, onClose }: GroupProps) {\n const cxt = useContext(AppContext)!;\n const queryClient = useQueryClient();\n\n const [activeFeeTab, setActiveFeeTab] = useState(false);\n\n const groupsService = useGroupsService();\n const getGroupQuery = groupsService.useGetGroup(id, {\n trash,\n });\n const getGroupMembersQuery = groupsService.useGetGroupMembers(\n id,\n { rows: 25, page: 1 },\n {\n onSuccess: (response) => {\n if (response.rows.some((m) => 'fees' in m)) {\n setActiveFeeTab(true);\n } else {\n setActiveFeeTab(false);\n }\n },\n },\n );\n\n const [isLoading, loader] = useLoader([\n getGroupQuery.status,\n getGroupMembersQuery.status,\n ]);\n\n if (isLoading) {\n return loader;\n }\n\n if (getGroupQuery.isError || getGroupMembersQuery.isError) {\n return (\n \n \n \n );\n }\n\n if (!getGroupQuery.isSuccess || !getGroupMembersQuery.isSuccess) {\n return null;\n }\n\n // Mandatory tabs for all groups\n const tabs = [\n {\n caption: cxt.t(translations.generic.detail),\n component: (\n {\n queryClient.setQueryData(\n getGroupQuery.queryKey,\n () => ({\n group: savedGroup,\n }),\n );\n onChange(savedGroup);\n }}\n onDelete={(deletedGroup: IGroup) => {\n onChange(deletedGroup);\n onClose();\n }}\n />\n ),\n },\n {\n caption: cxt.t('sc.group.members'),\n component: (\n \n ),\n },\n {\n caption: cxt.t(translations.generic.fees),\n component: ,\n show:\n getGroupQuery.data.group.type !==\n constants.group.types.sport.name &&\n getGroupQuery.data.group.feePrice !== undefined &&\n getGroupQuery.data.group.feeInterval !== null,\n },\n {\n caption: cxt.t(translations.generic.privileges),\n component: ,\n },\n {\n caption: cxt.t('Devices'),\n component: ,\n },\n ];\n\n // For non-sport groups we also need a 'fees' tab which, inconveniently enough, shows up in the 3rd place.\n if (getGroupQuery.data.group.type !== constants.group.types.sport.name) {\n tabs.splice(2, 0);\n }\n\n return (\n \n \n \n );\n}\n","import { useContext } from 'react';\nimport {\n MutationFunction,\n useMutation,\n UseMutationOptions,\n useQuery,\n UseQueryOptions,\n} from 'react-query';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport useRestService from './RestService';\nimport { GetGroupDiscountsParams } from '../types/api/paths/Group';\nimport {\n CreateActivityRateDiscount200,\n DeleteActivityRateDiscount200,\n GetActivityRateDiscounts200,\n GetActivityRateDiscountsParams,\n} from '../types/api/paths/ActivityRate';\n\n// En realidad /activities/rates es 100% equivalente a /groups\nconst resource = '/activities/rates';\n\nexport const getGetActivityRateDiscountsQueryKey = (\n id: number,\n params?: GetGroupDiscountsParams,\n) => [`${resource}/${id}/discounts`, ...(params ? [params] : [])];\n\n/**\n * Hook to access all 'activities rates' resources.\n * @returns {{getActivityRateStudents: (function(*, *=): Promise)}}\n */\nexport default function useActivityRatesService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /activities/rates/:id/students request.\n * @param id ID parameter of the rates group object from where the students are.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getActivityRateStudents(\n id: number,\n params: Record,\n ) {\n return request('GET', `${resource}/${id}/students`, params);\n }\n\n function useGetActivityRateDiscounts(\n id: number,\n params?: GetActivityRateDiscountsParams,\n queryOptions?: UseQueryOptions<\n GetActivityRateDiscounts200,\n unknown,\n TData\n >,\n ) {\n const queryKey =\n queryOptions?.queryKey ??\n getGetActivityRateDiscountsQueryKey(id, params);\n\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/${id}/discounts`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * POST /activities/rates/:id/discounts/:id request.\n */\n function useCreateActivityRateDiscount(\n mutationOptions?: UseMutationOptions<\n CreateActivityRateDiscount200,\n unknown,\n {\n rateId: number;\n discountId: number;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n CreateActivityRateDiscount200,\n {\n rateId: number;\n discountId: number;\n }\n > = ({ discountId, rateId }) =>\n request('POST', `${resource}/${rateId}/discounts/${discountId}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /groups/:id/discounts/:id request.\n */\n function useDeleteActivityRateDiscount(\n mutationOptions?: UseMutationOptions<\n DeleteActivityRateDiscount200,\n unknown,\n {\n rateId: number;\n discountId: number;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n DeleteActivityRateDiscount200,\n {\n rateId: number;\n discountId: number;\n }\n > = ({ discountId, rateId }) =>\n request('DELETE', `${resource}/${rateId}/discounts/${discountId}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n ...services,\n getActivityRateStudents,\n useGetActivityRateDiscounts,\n useCreateActivityRateDiscount,\n useDeleteActivityRateDiscount,\n };\n}\n","import React, { useContext, useState } from 'react';\nimport { Box, CircularProgress, Dialog, DialogTitle } from '@material-ui/core';\nimport { useQueryClient } from 'react-query';\nimport DiscountList from '../../../components/discounts/DiscountsList';\nimport SttError from '../../../components/error/SttError';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { getErrorMessage } from '../../../lib/utils';\nimport { GetGroupDiscounts200 } from '../../../types/api/paths/Group';\nimport translations from '../../../translations';\nimport useScsService from '../../../services/ScsService';\nimport useActivityRatesService from '../../../services/ActivityRatesService';\nimport { GetActivityRateDiscounts200 } from '../../../types/api/paths/ActivityRate';\n\ntype ActivityRateDiscountListProps = {\n rateId: number;\n};\n\n/**\n * Componente para lista de descuentos en Actividades. Es básicamente lo mismo que GroupDiscountList, ya que por dentro una tarifa de actividad es un 'group'\n * He creado un componente aparte por si el día de mañana se desacoplan tarifas de actividades de la tabla grupos.\n * @param rateId\n * @constructor\n */\nexport default function ActivityRateDiscountList({\n rateId,\n}: ActivityRateDiscountListProps) {\n const cxt = useContext(AppContext)!;\n\n const [openDialog, setOpenDialog] = useState(false);\n\n const queryClient = useQueryClient();\n\n const activityRateService = useActivityRatesService();\n const getActivityRateDiscountsQuery =\n activityRateService.useGetActivityRateDiscounts(\n rateId,\n {\n rows: 1000,\n },\n {\n enabled: !!rateId,\n },\n );\n\n const scsService = useScsService();\n const getScDiscountsQuery = scsService.useGetScsDiscounts(\n cxt.sc!.id,\n { rows: 1000 },\n { enabled: openDialog },\n );\n\n const createGroupDiscountMutation =\n activityRateService.useCreateActivityRateDiscount({\n onSuccess: (result) => {\n queryClient.setQueryData(\n getActivityRateDiscountsQuery.queryKey,\n (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n count: old.count + 1,\n rows: [...old.rows, result.discount],\n };\n },\n );\n\n cxt.showMessage('S', cxt.t(translations.group.discountAdded));\n setOpenDialog(false);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const deleteGroupDiscountMutation =\n activityRateService.useDeleteActivityRateDiscount({\n onSuccess: (result, variables) => {\n queryClient.setQueryData<\n GetActivityRateDiscounts200 | undefined\n >(getActivityRateDiscountsQuery.queryKey, (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n count: old.count - 1,\n rows: old?.rows.filter(\n (row) => row.id !== variables.discountId,\n ),\n };\n });\n\n cxt.showMessage('S', cxt.t(translations.group.discountDeleted));\n setOpenDialog(false);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n if (\n getActivityRateDiscountsQuery.isLoading ||\n createGroupDiscountMutation.isLoading ||\n deleteGroupDiscountMutation.isLoading\n ) {\n return (\n \n \n \n );\n }\n\n if (getActivityRateDiscountsQuery.isError || getScDiscountsQuery.isError) {\n return ;\n }\n\n if (!getActivityRateDiscountsQuery.isSuccess) {\n return null;\n }\n\n return (\n <>\n setOpenDialog(true)}\n onDelete={(discount) => {\n deleteGroupDiscountMutation.mutate({\n discountId: discount.id,\n rateId,\n });\n }}\n />\n\n setOpenDialog(false)}\n open={openDialog}\n fullWidth\n maxWidth=\"xs\"\n >\n {getScDiscountsQuery.isLoading && (\n \n \n \n )}\n\n {getScDiscountsQuery.isSuccess && (\n <>\n \n {cxt.t(translations.generic.discounts)}\n \n \n !getActivityRateDiscountsQuery.data.rows.some(\n (groupDiscount) =>\n groupDiscount.id === scDiscount.id,\n ),\n )}\n onSelect={(discount) => {\n createGroupDiscountMutation.mutate({\n discountId: discount.id,\n rateId,\n });\n }}\n showTitle={false}\n />\n \n )}\n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttFormCheck,\n SttFormPeriod,\n SttFormText,\n SttFormTextarea,\n SttSelectFixedInterval,\n SttFormPrice,\n SttSelectGroup,\n SttFormSelect,\n} from '../../../sporttia/all';\nimport { parsePrice } from '../../../lib/utils';\nimport ActivityRateDiscountList from './ActivityDiscountList';\nimport translations from '../../../translations';\nimport constants from '../../../config/constants';\nimport { useTranslations } from '../../../lib/hooks';\n\n/**\n * ActivityRateDialog - dialog usado para añadir y editar tarifas de actividades\n * bool open - si está abierto o no\n * bool item - la tarifa que estamos viendo (si no contiene id ha de ser una tarifa que estamos creando)\n * int activityId - id de la actividad padre\n * Function onClose - callback al cerrar el dialog\n * Function onSave - callback al crear, guardar o borrar la tarifa actual\n */\nexport default function ActivityRateDialog({\n open,\n item,\n activityId,\n onClose,\n onSave,\n deleteRateEnabled = true,\n}) {\n const [rate, setRate] = useState(item);\n\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n function handleChange({ name, value }) {\n setRate({ ...rate, [name]: value });\n }\n\n function saveAndBye() {\n cxt.showMessage('S', cxt.t('OperationSuccessful'));\n\n onSave();\n onClose();\n }\n\n function saveRate() {\n const params = {\n name: rate.name,\n description: rate.description,\n ini: rate.ini,\n end: rate.end,\n maxStudents: rate.maxStudents,\n onlyCertified: rate.onlyCertified,\n signupOnline: rate.signupOnline,\n enrollment: rate.enrollment && parsePrice(rate.enrollment),\n fee: rate.fee && parsePrice(rate.fee),\n period: rate.period,\n tpvEnabled: rate.tpvEnabled,\n feeTaxConceptCode: rate.feeTaxConceptCode ?? null,\n signupTaxConceptCode: rate.signupTaxConceptCode ?? null,\n maxAge: rate?.maxAge === 0 ? null : rate?.maxAge,\n minAge: rate?.minAge === 0 ? null : rate?.minAge,\n };\n\n if (rate?.mandatory?.id !== undefined) {\n params.mandatory = {\n id: rate.mandatory.id === 0 ? '' : rate.mandatory.id,\n };\n }\n\n if (rate.id) {\n cxt.api('PUT', `/activities/rates/${rate.id}`, {\n params,\n success: () => {\n saveAndBye();\n },\n });\n } else {\n if (!activityId) {\n return;\n }\n\n cxt.api('POST', `/activities/${activityId}/rates`, {\n params,\n success: () => {\n saveAndBye();\n },\n });\n }\n }\n\n function deleteRate() {\n cxt.api('DELETE', `/activities/rates/${rate.id}`, {\n confirmation: true,\n success: () => {\n saveAndBye();\n },\n });\n }\n\n if (!rate) {\n return null;\n }\n\n const buttons = [\n {\n type: 'save',\n onClick: saveRate,\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ];\n\n // si el rate es uno existente, incrustamos el botón borrar entre los otros 2\n if (rate.id && deleteRateEnabled) {\n buttons.splice(1, 0, {\n type: 'delete',\n onClick: deleteRate,\n });\n }\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 handleChange({ name, value });\n }}\n options={[\n {\n label: translate(\n translations.generic.empty,\n ),\n value: 0,\n },\n ...[...Array(90).keys()]\n .slice(1)\n .map((value) => ({\n label: value,\n value,\n })),\n ]}\n />\n \n \n {\n handleChange({ name, value });\n }}\n options={[\n {\n label: translate(\n translations.generic.empty,\n ),\n value: 0,\n },\n ...[...Array(90).keys()]\n .slice(1)\n .map((value) => ({\n label: value,\n value,\n })),\n ]}\n />\n \n {Object.values(constants.orgt.scIds).includes(\n cxt?.sc?.id,\n ) && (\n \n \n \n )}\n {Object.values(constants.orgt.scIds).includes(\n cxt?.sc?.id,\n ) && (\n \n \n \n )}\n \n
\n \n handleChange({ name, value })\n }\n />\n
\n
\n \n handleChange({ name, value })\n }\n />\n
\n
\n \n handleChange({ name, value })\n }\n />\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n }\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport { copyToClipboard } from '../../../lib/utils';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport ActivityRateDialog from './ActivityRateDialog';\n\nexport default function ActivityRates({ item, onSave }) {\n const cxt = useContext(AppContext);\n\n const [rate, setRate] = useState(null);\n\n const rates = item.rates\n ? { count: item.rates.length, rows: item.rates }\n : { rows: [], count: 0 };\n\n return (\n <>\n \n setRate({\n ini: item.ini,\n end: item.end,\n }),\n }}\n />\n ({ label: '#', value: row.id }),\n onClick: (row) => {\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n );\n },\n },\n {\n type: 'link',\n title: cxt.t('Name'),\n field: 'name',\n align: 'left',\n onClick: (row) => setRate(row),\n },\n {\n title: cxt.t('Period'),\n type: 'period',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Enrollment'),\n align: 'right',\n type: 'price',\n field: 'enrollment',\n },\n {\n title: cxt.t('Fees'),\n type: 'enrollment',\n value: (row) => ({\n fee: row.fee,\n interval: row.period,\n }),\n },\n {\n title: cxt.t('Students'),\n type: 'text',\n value: (row) =>\n `${row.numStudents} / ${row.maxStudents || '∞'}`,\n },\n {\n title: cxt.t('SignupOnline'),\n type: 'active',\n field: 'signupOnline',\n },\n {\n title: cxt.t('Mandatory'),\n type: 'text',\n value: (row) =>\n row.mandatory ? row.mandatory.name : null,\n },\n ]}\n />\n\n {rate !== null && (\n {\n setRate(null);\n }}\n onSave={onSave}\n deleteRateEnabled={\n !(rates.count <= 1 || rate?.numStudents >= 1)\n }\n />\n )}\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","import React, { useState, useContext, useRef } from 'react';\nimport {\n Box,\n Grid,\n Button,\n MenuItem,\n IconButton,\n Menu,\n Divider,\n ListItemIcon,\n ButtonGroup,\n FormControlLabel,\n Switch,\n} from '@material-ui/core';\nimport useKey from '@rooks/use-key';\nimport {\n Search as SearchIcon,\n MoreVert as MoreIcon,\n FilterList as FilterListIcon,\n} from '@material-ui/icons';\nimport CloudDownloadIcon from '@material-ui/icons/CloudDownload';\nimport Typography from '@material-ui/core/Typography';\nimport FilterDialog from '../components/filter/FilterDialog';\nimport FilterFields from '../components/filter/FilterFields';\nimport {\n AppContext,\n SttButton,\n SttButtonDelete,\n SttButtonFilter,\n SttButtonNew,\n SttFormSelect,\n} from './all';\nimport SttLoadingBar from './SttLoadingBar';\n\n/**\n * SttTopControls\n * ==============\n *\n * \tComponente para el control genérico en la cabecera de las páginas. Acepta campos para filtrado, opciones de filtro avanzado, etc.\n *\n * Props\n *\n * \t* Function fields: campos para pintar (y filtrar). Ver tipos aceptados en /components/filter/FilterFields.js\n * \t* Function extraFields: si se proporciona, se usarán para rellenar un modal con campos de filtro. El modal se muestra al pulsar el botón \"avanzado\" (setDialogOpen)\n * \t* Function onChange({name, value}): callback general para cambios en cualquier campo. Cada campo puede proporcionar su propio onChange que tiene preferencia sobre este\n * \t* Function onFilter: callback para el botón de búsqueda / aplicar cambios\n *\n * \t* Object filterButton: show filter icon button\n * \t\t- onClick: action\n *\n * \t* Object downloadButton: show download button\n * \t\t- onClick: action\n *\n * \t* bool skipSearchButton\n *\n * \t* Object mainAction: algunas pantallas pueden un botón por defecto que en general es el de añadir depósito, etc.\n *\n * \t\t* onClick\n * \t\t* component\n * \t\t* caption\n * \t\t* options\n * \t\t* type: diferentes posibilidades dependiendo de mainAction.type\n *\n * \t\t* create\n * \t\t- onClick: callback para el botón\n * \t\t* select\n * \t\t- options: opciones para el select\n * \t\t- selected: opción seleccionada por defecto en el select\n * \t\t- onChange: callback para el select\n * \t* delete\n * \t* component: render component in mainAction.component\n *\n * \t* array menu: muestra los \"3 puntos\" para abrir un menú con opciones. Cada compnente del menú tiene:\n * \t\t- boolean show\n * \t\t- string caption:\n * \t\t- function onClick\n * \t\t- Component icon\n * \t\t- boolean divider: si está establecido pondrá un justo arriba del item.\n *\n * \t* Component menuIcon: icono opcional para el menú desplegable (\"3 puntos\" por defecto).\n * \t* Function onToggleTrash: callback for the trash switch. It will be called with the switch value.\n * \t - This is best used alongside the useToggle hook defined in /src/lib/hooks.js\n * \t* array iconButtons: muestra un botón en formato icono que realiza una función:\n * \t\t- icon\n * \t\t- onClick\n * \t\t- caption\n * * boolean loadingData: valor booleano para bloquear el filtrado hasta que se carguen los datos.\n */\n\nexport function SttTopControls({\n fields,\n extraFields,\n onChange,\n onFilter,\n skipSearchButton,\n mainAction,\n menu,\n menuIcon,\n filterButton,\n downloadButton,\n onToggleTrash,\n iconButtons,\n loadingData = false,\n ...rest\n}) {\n const cxt = useContext(AppContext);\n const [buttonMenuDOMiObject, setButtonMenuDOMObject] = useState(null);\n const [dialogOpen, setDialogOpen] = useState(false);\n // const [shouldOnFilterBeCalled, setShouldOnFilterBeCalled] = useState(false);\n\n // Setup relative sizes of the controls\n // TODO: remove filterButton and downloadButton when they're removed from Mship and Report\n const extra =\n extraFields ||\n filterButton ||\n downloadButton ||\n menu ||\n onToggleTrash ||\n iconButtons;\n let sizes;\n if (fields && extra) {\n // Everything's up\n sizes = {\n fields: {\n xs: 12,\n md: 8,\n lg: 10,\n },\n extra: {\n xs: 12,\n md: 4,\n lg: 2,\n },\n };\n } else {\n sizes = {\n fields: {\n xs: 12,\n },\n };\n }\n\n // If the field contains a specific onChange callback use it, otherwise use the generic one provided in the props\n /* function handleChange({name, value}, fieldCallback) {\n\t\tlet callback;\n\t\tif(fieldCallback && fieldCallback.constructor == Function) {\n\t\t\tcallback = fieldCallback;\n\t\t} else if(onChange && onChange.constructor == Function) {\n\t\t\tcallback = onChange;\n\t\t}\n\n\t\tif(callback) {\n\t\t\tcallback({name, value});\n\t\t\tsetShouldOnFilterBeCalled(true);\n\t\t} else {\n\t\t\tconsole.log(`SttTopControls: no callback defined for field ${name}`);\n\t\t}\n\t} */\n\n /**\n * Render fields\n */\n function renderDefaultFields(sizes) {\n if (fields) {\n let content;\n\n // If we only specify a single text field to filter by default, we turn it into a search form text field\n if (fields.length == 1 && fields[0].type == 'text') {\n content = (\n \n );\n } else {\n content = (\n \n );\n }\n\n return (\n \n {content}\n \n );\n }\n }\n\n /**\n * Render main action button\n */\n function renderMainAction() {\n let content;\n\n if (mainAction) {\n switch (mainAction.type) {\n case 'create':\n content = (\n \n );\n break;\n case 'delete':\n content = ;\n break;\n case 'select':\n content = (\n \n mainAction.onChange(value)\n }\n defVal={mainAction.selected}\n />\n );\n break;\n case 'component':\n content = mainAction.component;\n break;\n }\n }\n return content;\n }\n\n function renderExtra(sizes) {\n // Extra components container should grow to take all available space (but should it really?)\n const mustGrow = true; // onToggleTrash && !(extraFields || filterButton || downloadButton || menu)\n\n return (\n \n \n {/* --- Trash --- */}\n {onToggleTrash && (\n \n onToggleTrash(ev.target.checked)\n }\n />\n }\n label={cxt.t('Trash')}\n />\n )}\n\n {/* --- Popup filter --- */}\n {extraFields && (\n setDialogOpen(true)}>\n \n \n )}\n\n {filterButton /* Solo se usa en Report y Mship; TODO: Unificar esos 2 componentes y eliminar esto */ && (\n \n \n \n )}\n\n {downloadButton /* Solo se usa en Report y Mship; TODO: Unificar esos 2 componentes y eliminar esto */ && (\n \n \n \n )}\n\n \n {iconButtons &&\n iconButtons.map((item, idx) => (\n \n \n {item.icon}\n \n {item.caption && (\n \n {item.caption}\n \n )}\n \n ))}\n \n\n {menu && (\n <>\n \n setButtonMenuDOMObject(ev.currentTarget)\n }\n >\n {menuIcon || }\n \n setButtonMenuDOMObject(null)}\n >\n {menu &&\n menu.map((item, idx) => (\n
\n {item.divider && }\n {\n if (\n item.onClick &&\n item.onClick\n .constructor ==\n Function\n ) {\n item.onClick();\n }\n setButtonMenuDOMObject(\n null,\n );\n }}\n >\n {item.icon && (\n \n {item.icon}\n \n )}\n {item.caption}\n \n
\n ))}\n \n \n )}\n
\n
\n );\n }\n\n // Apply filters, but only if there has been at least one change\n function filterClicked() {\n if (\n onFilter &&\n onFilter.constructor === Function /* && shouldOnFilterBeCalled */\n ) {\n onFilter();\n // setShouldOnFilterBeCalled(false);\n }\n }\n\n /**\n * Render menu\n */\n // -----| Render |-----\n return (\n <>\n \n \n {renderDefaultFields(sizes.fields)}\n\n {mainAction && !fields && (\n \n {renderMainAction()}\n \n )}\n\n {extra && renderExtra(sizes.extra)}\n \n \n\n {extraFields && (\n setDialogOpen(false)}\n fields={extraFields}\n onChange={onChange}\n onApply={() => {\n filterClicked();\n setDialogOpen(false);\n }}\n />\n )}\n {loadingData && }\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'NavigateBefore');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'NavigateNext');","import React from 'react';\nimport { Box, IconButton } from '@material-ui/core';\nimport {\n NavigateBefore as NavigateBeforeIcon,\n NavigateNext as NavigateNextIcon,\n} from '@material-ui/icons';\n\ntype SttPaginationProps = {\n page?: number;\n pages?: number;\n count?: number;\n onChangePage: (page: number) => void;\n};\n\nexport function SttPagination({\n page = 0,\n pages = 0,\n count = 0,\n onChangePage,\n}: SttPaginationProps) {\n // -----| Render |-----\n return (\n \n onChangePage(page - 1)}\n >\n \n \n {page} / {pages} [ {count} ]\n = pages}\n onClick={() => onChangePage(page + 1)}\n >\n \n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport Table from '@material-ui/core/Table';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { Box } from '@material-ui/core';\nimport { SttPagination } from './SttPagination';\nimport { AppContext } from './AppContext';\nimport ActivityAssistance from '../types/models/ActivityAssistance';\nimport { GetActivityStudentAssistences200 } from '../types/api/paths/Student';\n\nconst useStyles = makeStyles({\n generalTable: {\n tableLayout: 'fixed',\n },\n tableRightBorder: {\n borderWidth: 1,\n borderColor: '#E0E0E0',\n borderStyle: 'solid',\n },\n firstTableColumn: {\n width: '250px',\n minWidth: '250px',\n },\n tableColumn: {\n fontSize: '12px',\n width: '30px',\n minWidth: '30px',\n },\n tableCell: {\n boxSizing: 'border-box',\n height: 30,\n },\n tableCellData: {\n '&:hover': {\n backgroundColor: 'rgba(33, 150, 243, 0.5)',\n cursor: 'pointer',\n },\n fontWeight: 'bold',\n fontSize: '10px',\n position: 'relative',\n },\n tableCellNoData: {\n backgroundColor: '#e2f1f8',\n },\n tableCellAssit: {\n backgroundColor: '#f8ffd7',\n },\n tableCellMissed: {\n backgroundColor: '#ffddc1',\n },\n tableCellRecoverable: {\n backgroundColor: '#ffffb0',\n },\n tableCellRecovered: {\n backgroundColor: '#f0e2ff',\n },\n tableCellRecoverer: {\n backgroundColor: '#cfffdd',\n },\n notes: {\n position: 'absolute',\n bottom: '0',\n right: '0',\n width: '5px',\n height: '5px',\n backgroundColor: 'red',\n },\n nameCell: {\n height: 30,\n display: 'flex',\n alignItems: 'center',\n padding: '0px 6px',\n },\n name: {\n fontSize: '12px',\n },\n});\n\ntype Column = {\n title: string;\n field: string;\n type: 'text';\n};\n\ntype SttAttendanceTableProps = {\n columns: Column[];\n data: GetActivityStudentAssistences200;\n onClickCell: (row: ActivityAssistance, col: Column) => void;\n onChangePageCallback: (p: number) => void;\n};\n\nexport function SttAttendanceTable({\n columns,\n onChangePageCallback,\n data,\n onClickCell,\n}: SttAttendanceTableProps) {\n const cxt = useContext(AppContext)!;\n const classes = useStyles();\n const [page, setPage] = useState(1);\n const [internalData, setInternalData] = useState<\n GetActivityStudentAssistences200 | undefined\n >(data);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n const onChangePage = (p: number) => {\n setPage(p);\n onChangePageCallback(p);\n };\n /*\n useEffect(() => {\n if (autoload && onFetch) {\n onFetch();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n*/\n useEffect(() => {\n if (data?.rows) {\n setInternalData(data);\n\n if (page === 1 && data?.rows?.length < data?.count) {\n setRowsPerPage(data?.rows.length);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data]);\n\n function getLetterByAttendanceStatus(status: ActivityAssistance['status']) {\n switch (status) {\n case 'ASSIST':\n return 'A';\n case 'MISSED':\n return 'X';\n case 'RECOVERABLE':\n return 'R';\n case 'RECOVERER':\n return 'Rc';\n case 'RECOVERED':\n return 'Rd';\n default:\n return null;\n }\n }\n\n return (\n <>\n \n {\n onChangePage(p);\n }}\n />\n \n\n \n {/* Los nombres de los alumnos se pintan por separado a la izquierda, para que sean independientes del scroll de la tabla de días */}\n \n \n {cxt.t('Name')}\n \n {internalData?.rows &&\n internalData?.rows?.map((row: ActivityAssistance) => (\n
\n \n {row?.user?.fullName}\n \n
\n ))}\n
\n {/* A continuación se pinta la tabla de días */}\n \n \n \n \n \n {columns?.map((col) => (\n \n {col.title}\n \n ))}\n \n \n \n {internalData?.rows &&\n internalData?.rows?.map((row) => (\n \n {columns?.map((col) => {\n const assistenceFound =\n row.assistences.find(\n (assistence) =>\n new Date(\n assistence.class.ini,\n ).getDate() ===\n parseInt(col.field),\n );\n const assistenceLetter =\n assistenceFound\n ? getLetterByAttendanceStatus(\n assistenceFound.status,\n )\n : null;\n return assistenceFound ? (\n \n onClickCell\n ? onClickCell(\n row,\n col,\n )\n : null\n }\n className={`${\n classes.tableRightBorder\n } ${\n classes.tableCell\n } ${\n classes.tableCellData\n }\n ${\n assistenceLetter === 'A'\n ? classes.tableCellAssit\n : ''\n }\n ${\n assistenceLetter === 'X'\n ? classes.tableCellMissed\n : ''\n }\n ${\n assistenceLetter === 'R'\n ? classes.tableCellRecoverable\n : ''\n }\n ${\n assistenceLetter ===\n 'Rd'\n ? classes.tableCellRecovered\n : ''\n }\n ${\n assistenceLetter ===\n 'Rc'\n ? classes.tableCellRecoverer\n : ''\n }`}\n align=\"center\"\n >\n {getLetterByAttendanceStatus(\n assistenceFound.status,\n )}\n {assistenceFound.notes &&\n assistenceFound.notes !==\n '' ? (\n \n ) : (\n ''\n )}\n \n ) : (\n \n {' '}\n \n );\n })}\n \n ))}\n\n {internalData?.count === 0 && (\n \n \n \n {cxt.t('NoResults')}\n \n \n \n )}\n \n \n \n \n
\n\n \n {\n onChangePage(p);\n }}\n />\n \n \n );\n}\n","import { makeStyles } from '@material-ui/core/styles';\nimport { Box, Button, ButtonGroup, Typography, Grid } from '@material-ui/core';\nimport React from 'react';\nimport { ContactsOutlined } from '@material-ui/icons';\n\nconst useStyles = makeStyles({\n labelWrapper: {\n position: 'absolute',\n top: -12,\n left: 8,\n backgroundColor: 'white',\n padding: '2px 6px',\n zIndex: 10,\n borderRadius: 2,\n },\n label: {\n color: 'rgba(0, 0, 0, 0.54)',\n fontSize: '0.75rem',\n },\n /* btnGroup: {\n\t\theight: 40,\n\t} */\n});\n\n/**\n * SttSelectableItems: toggle one or many of a list of simple items. They are rendered as a button group (for the free styling and feedback)\n * bool grid - wrap the component inside a \n * string name - field name\n * string caption - caption for the label\n * Object[] items - array of {label, value} pairs representing the available items\n * array selected - array of selected VALUES, for ex. [0,1,4,5], or ['yes', 'no', 'perhaps']. The values must correlate with the ones in items\n * Function onChange - callback for when an item is selected / deselected. It will be called with the array of selected items AFTER the change.\n * bool exclusive - if true only one item can be selected at a time\n */\nexport function SttSelectableItems({\n grid = false,\n name,\n caption,\n items,\n selected,\n onChange,\n exclusive = false,\n size = 'medium',\n variant = 'contained',\n disabled,\n ...rest\n}) {\n const classes = useStyles();\n\n // sanitize input prop\n const _selected = Array.isArray(selected) ? selected : [selected];\n function select(value, isSelected) {\n if (isSelected) {\n // In exclusive mode, we can only select one item\n if (exclusive) {\n onChange({ name, value });\n } else {\n onChange({ name, value: [..._selected, value] });\n }\n } else if (selected) {\n _selected.splice(_selected.indexOf(value), 1);\n onChange({ name, value: _selected });\n }\n }\n\n const content = (\n \n {caption && (\n
\n {caption}\n
\n )}\n \n {items.map((item, i) => {\n const isSelected = _selected.indexOf(item.value) !== -1;\n return (\n select(item.value, !isSelected)}\n >\n {item.label}\n \n );\n })}\n \n
\n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttFormText } from '../../../sporttia/forms/SttFormText';\nimport { SttFormTextarea } from '../../../sporttia/forms/SttFormTextarea';\nimport { SttSelectableItems } from '../../../sporttia/SttSelectableItems';\n\nconst defaultAttendanceDayChosen = {\n id: '',\n status: 'ASSIST',\n class: {\n id: 0,\n ini: '',\n end: '',\n },\n notes: '',\n};\n\nexport default function AttendanceDialog({\n attendance = null,\n attendanceDay = null,\n open,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const [attendanceChosen, setAttendanceChosen] = useState(attendance);\n const [attendanceDayChosen, setAttendanceDayChosen] = useState(\n defaultAttendanceDayChosen,\n );\n\n useEffect(() => {\n if (attendance && attendanceDay) {\n const assistanceID = attendance.assistences.find(\n (assistance) =>\n new Date(assistance.class.ini).getDate() ===\n parseInt(attendanceDay),\n ).id;\n if (assistanceID) {\n cxt.api('GET', `/classes/assistences/${assistanceID}`, {\n success: (result) => {\n if (result.classAssistence) {\n setAttendanceDayChosen(result.classAssistence);\n }\n },\n });\n } else {\n setAttendanceDayChosen(defaultAttendanceDayChosen);\n }\n setAttendanceChosen(attendance);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [attendance, attendanceDay]);\n\n const saveAttendance = () => {\n if (attendanceDayChosen.id) {\n cxt.api('PUT', `/classes/assistences/${attendanceDayChosen.id}`, {\n params: {\n status: attendanceDayChosen.status,\n notes: attendanceDayChosen.notes,\n },\n success: () => {\n onClose();\n },\n });\n } else {\n const classId = attendance.assistences.find(\n (assistance) =>\n new Date(assistance.class.ini).getDate() ===\n parseInt(attendanceDay),\n ).class.id;\n cxt.api('POST', `/classes/${classId}/assistences`, {\n params: {\n idStudent: attendanceChosen.id,\n status: attendanceDayChosen.status,\n notes: attendanceDayChosen.notes,\n },\n success: () => {\n onClose();\n },\n });\n }\n };\n\n return (\n \n \n \n \n \n {\n setAttendanceDayChosen({\n ...attendanceDayChosen,\n [name]: value,\n });\n }}\n />\n \n \n {\n setAttendanceDayChosen({\n ...attendanceDayChosen,\n [name]: value,\n });\n }}\n />\n \n
\n }\n />\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { AppContext } from '../all';\n\n/**\n * SttSelectActivityRate: draw a onChange(e.target.value)}>\n {options &&\n options.map((op, i) => (\n \n {op.name}\n \n ))}\n \n \n ) : (\n <>\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport moment from 'moment';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport IconButton from '@material-ui/core/IconButton';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { SttSelectUser } from '../../../sporttia/selectors/SttSelectUser';\nimport { SttFormDate } from '../../../sporttia/forms/SttFormDate';\nimport { SttFormTextarea } from '../../../sporttia/forms/SttFormTextarea';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\nimport { SttSelectActivityRate } from '../../../sporttia/selectors/SttSelectActivityRate';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n backgroundColor: theme.palette.background.paper,\n },\n}));\n\n/**\n * Dialog to recover classes.\n * @param open\n * @param onClose\n * @param activityId\n * @returns {JSX.Element}\n */\n\nexport default function RecoverAttendanceDialog({ open, onClose, activityId }) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const [recovery, setRecovery] = useState({ notes: '', date: new Date() });\n const [student, setStudent] = useState(null);\n const [recoverableAssistences, setRecoverableAssistences] = useState();\n const [selectedRecoverableAssistence, setSelectedRecoverableAssistence] =\n useState();\n const [selectedActivityRateId, setSelectedActivityRateId] = useState();\n\n const loadAssistences = () => {\n cxt.api('GET', `/mships/${student.id}/assistences`, {\n params: {\n status: 'RECOVERABLE',\n },\n success: (r) => {\n setRecoverableAssistences(r);\n setSelectedRecoverableAssistence(null);\n },\n });\n };\n\n const recoverAssistence = () => {\n const finalParams = recovery;\n\n finalParams.idActivityRate = selectedActivityRateId;\n\n cxt.api(\n 'POST',\n `/classes/assistences/${selectedRecoverableAssistence.id}/recoveries`,\n {\n params: {\n ...finalParams,\n },\n success: () => {\n closeDialog();\n },\n },\n );\n };\n\n const closeDialog = () => {\n setStudent(null);\n setRecoverableAssistences(null);\n setSelectedRecoverableAssistence(null);\n onClose();\n };\n\n useEffect(() => {\n if (student && student.id) loadAssistences();\n }, [student]);\n return (\n recoverAssistence(),\n },\n {\n type: 'close',\n onClick: () => closeDialog(),\n },\n ]}\n content={\n \n \n setStudent(user)}\n returnMship\n />\n \n \n \n setRecovery({ ...recovery, [name]: value })\n }\n />\n \n \n \n setRecovery({\n ...recovery,\n [name]: value,\n })\n }\n />\n \n \n {\n setSelectedActivityRateId(value);\n }}\n />\n \n \n {/* Aquí tengo que añadir las diferentes fechas posibles a recuperar del usuario. */}\n \n Recuperar{' '}\n {selectedRecoverableAssistence && student\n ? new DateBuilder(\n selectedRecoverableAssistence.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).cdlhm()\n : ''}\n \n\n {student &&\n !selectedRecoverableAssistence &&\n recoverableAssistences &&\n recoverableAssistences.count > 0 ? (\n \n {recoverableAssistences.rows.map(\n (assistence, key) => (\n \n setSelectedRecoverableAssistence(\n assistence,\n )\n }\n >\n \n \n ),\n )}\n \n ) : !selectedRecoverableAssistence && student ? (\n 'No hay resultados'\n ) : (\n ''\n )}\n \n \n }\n />\n );\n}\n","import {\n MutationFunction,\n useMutation,\n UseMutationOptions,\n useQuery,\n UseQueryOptions,\n} from 'react-query';\nimport { useContext } from 'react';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n CreateActivityRateStudent200,\n CreateActivityRateStudentBody,\n CreateDuplicationsActivities200,\n GetActivityRateInscriptions200,\n GetActivityRateInscriptionsParams,\n GetActivityStudentAssistences200,\n GetActivityStudentAssistencesParams,\n CreateDuplicationActivitiesBody,\n GetActivityClasses200,\n} from '../types/api/paths/Student';\nimport Error from '../types/models/Error';\nimport { DefaultListParams } from '../types/api/utils';\n\nconst resource = '/activities';\n\nexport const getActivityRateInscriptionsQueryKey = (\n rateId: number,\n params?: GetActivityRateInscriptionsParams,\n) => [`${resource}/${rateId}/inscriptions`, ...(params ? [params] : [])];\n\nexport const getActivityStudentsAssistencesQueryKey = (\n activityId: number,\n params?: GetActivityStudentAssistencesParams,\n) => [\n `${resource}/${activityId}/students/assistences`,\n ...(params ? [params] : []),\n];\n\nexport const getActivityClassesQueryKey = (\n activityId: number,\n params?: DefaultListParams,\n) => [\n `${resource}/${activityId}/students/assistences`,\n ...(params ? [params] : []),\n];\n/**\n * Hook to access 'activities' resources.\n */\nexport default function useActivitiesService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n function useGetActivityRateInscriptions<\n TData = GetActivityRateInscriptions200,\n >(\n rateId: number,\n params?: GetActivityRateInscriptionsParams,\n queryOptions?: UseQueryOptions<\n GetActivityRateInscriptions200,\n unknown,\n TData\n >,\n ) {\n const queryKey =\n queryOptions?.queryKey ??\n getActivityRateInscriptionsQueryKey(rateId, params);\n\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/rates/${rateId}/inscriptions`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * POST /activities/rates/:idRate/students request.\n */\n function useCreateActivityRateStudent(\n mutationOptions?: UseMutationOptions<\n CreateActivityRateStudent200,\n unknown,\n { idRate: number; params: CreateActivityRateStudentBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n CreateActivityRateStudent200,\n { idRate: number; params: CreateActivityRateStudentBody }\n > = ({ idRate, params }) =>\n request('POST', `/activities/rates/${idRate}/students`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n function useGetActivityStudentAssistences<\n TData = GetActivityStudentAssistences200,\n >(\n activityId: number,\n params?: GetActivityStudentAssistencesParams,\n queryOptions?: UseQueryOptions<\n GetActivityStudentAssistences200,\n unknown,\n TData\n >,\n ) {\n const queryKey =\n queryOptions?.queryKey ??\n getActivityStudentsAssistencesQueryKey(activityId, params);\n\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/${activityId}/students/assistences`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n function useGetActivityClasses(\n activityId: number,\n params?: DefaultListParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey =\n queryOptions?.queryKey ??\n getActivityClassesQueryKey(activityId, params);\n\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/${activityId}/classes`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * POST /activities/duplications request.\n */\n function useCreateDuplicationsActivities(\n mutationOptions?: UseMutationOptions<\n CreateDuplicationsActivities200,\n Error,\n { params: CreateDuplicationActivitiesBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n CreateDuplicationsActivities200,\n { params: CreateDuplicationActivitiesBody }\n > = ({ params }) => request('POST', `/activities/duplications`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n return {\n useGetActivityRateInscriptions,\n useCreateActivityRateStudent,\n useGetActivityStudentAssistences,\n useCreateDuplicationsActivities,\n useGetActivityClasses,\n };\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport Box from '@material-ui/core/Box';\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport { CloudDownload as CloudDownloadIcon } from '@material-ui/icons';\nimport { SttTopControls } from '../SttTopControls';\nimport { useInteractionsFiles } from '../../lib/hooks';\nimport { AppContext } from '../AppContext';\nimport { SttButton } from '../all';\nimport { SttAttendanceTable } from '../SttAttendanceTable';\nimport AttendanceDialog from '../../pages/sc/activities/AttendanceDialog';\nimport RecoverAttendanceDialog from '../../pages/sc/activities/RecoverAttendanceDialog';\nimport translations from '../../translations';\nimport Activity from '../../types/models/Activity';\nimport { DownloadFileFormat } from '../../types/components';\nimport ActivityAssistance from '../../types/models/ActivityAssistance';\nimport useActivitiesService from '../../services/ActivitiesService';\n\ntype DayColumn = {\n title: string;\n field: string;\n type: 'text';\n};\n\ntype SttFormAttendanceProps = {\n activity: Activity;\n};\n\nexport function SttFormAttendance({ activity }: SttFormAttendanceProps) {\n const cxt = useContext(AppContext)!;\n const { downloadFile } = useInteractionsFiles();\n const [filters, setFilters] = useState({\n year: new Date().getFullYear(),\n month: new Date().getMonth() + 1,\n page: 1,\n rows: 10,\n });\n\n const [dayColumns, setDayColumns] = useState([]);\n const [open, setOpen] = useState(false);\n const [selectedAttendance, setSelectedAttendance] =\n useState(null);\n const [selectedAttendanceDay, setSelectedAttendanceDay] = useState<\n string | null\n >(null);\n const [openRecoverDialog, setOpenRecoverDialog] = useState(false);\n\n const getDayColumnsByMonthAndYear = (year: number, month: number) => {\n const daysInMonth = new Date(year, month, 0).getDate();\n const columns: DayColumn[] = [];\n\n for (let i = 1; i <= daysInMonth; i++) {\n columns.push({\n title: i.toString(),\n field: i.toString(),\n type: 'text',\n });\n }\n\n setDayColumns(columns);\n };\n const { useGetActivityStudentAssistences } = useActivitiesService();\n\n const getActivityStudentsAssistencesQuery =\n useGetActivityStudentAssistences(activity.id, filters, {\n enabled: false,\n });\n\n useEffect(() => {\n getDayColumnsByMonthAndYear(filters.year, filters.month);\n }, [filters]);\n\n useEffect(() => {\n if (dayColumns && dayColumns.length > 0) {\n getActivityStudentsAssistencesQuery.refetch();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dayColumns]);\n\n const handleCell = (row: ActivityAssistance, col: DayColumn) => {\n setOpen(true);\n setSelectedAttendance(row);\n setSelectedAttendanceDay(col.field);\n };\n\n function download(format: DownloadFileFormat) {\n if (format === 'pdf') {\n downloadFile(\n `/activities/${activity.id}/students/assistences.pdf`,\n 'application/pdf',\n filters,\n `${activity.name}.${format}`,\n );\n }\n\n if (format === 'csv') {\n downloadFile(\n `/activities/${activity.id}/students/assistences.csv`,\n 'text/csv',\n filters,\n `${activity.name}.${format}`,\n );\n }\n }\n return (\n <>\n \n \n {/* @ts-expect-error: Migrate SttTopControls */}\n }\n onClick={() => {\n setOpenRecoverDialog(true);\n }}\n />\n ),\n }}\n menu={[\n {\n caption: `${cxt.t(\n translations.generic.download,\n )} PDF`,\n onClick: () => download('pdf'),\n },\n {\n caption: `${cxt.t(\n translations.generic.download,\n )} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n menuIcon={}\n onChange={({\n name,\n value,\n }: {\n name: string;\n value: string;\n }) =>\n setFilters({\n ...filters,\n [name]: value,\n })\n }\n onFilter={() =>\n getActivityStudentsAssistencesQuery?.refetch()\n }\n />\n \n \n\n \n \n \n X = {cxt.t('CAS.MISSED')} R ={' '}\n {cxt.t('CAS.RECOVERABLE')} Rc ={' '}\n {cxt.t('CAS.RECOVERER')} y Rd ={' '}\n {cxt.t('CAS.RECOVERED')}\n \n \n \n \n setFilters({ ...filters, page: p })\n }\n />\n \n \n\n {\n setOpen(false);\n getActivityStudentsAssistencesQuery.refetch();\n }}\n // @ts-expect-error Migrate AttendanceDialog\n attendance={selectedAttendance}\n // @ts-expect-error Migrate AttendanceDialog\n attendanceDay={selectedAttendanceDay}\n />\n\n {\n setOpenRecoverDialog(false);\n getActivityStudentsAssistencesQuery.refetch();\n }}\n activityId={activity.id}\n />\n \n );\n}\n","import React, { useContext } from 'react';\nimport { AppContext, SttDialog } from '../../../sporttia/all';\nimport { SttFormAttendance } from '../../../sporttia/forms/SttFormAttendance';\nimport Activity from '../../../types/models/Activity';\nimport translations from '../../../translations';\n\ntype AttendancesDialogProps = {\n activity: Activity;\n open: boolean;\n onClose: () => void;\n};\n\nexport default function AttendancesDialog({\n activity,\n open,\n onClose,\n}: AttendancesDialogProps) {\n const cxt = useContext(AppContext)!;\n\n return (\n }\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport { CheckOutlined } from '@material-ui/icons';\nimport {\n AppContext,\n SttDialog,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttFormTime,\n SttSelectAutocomplete,\n SttSelectWeekdays,\n} from '../../../sporttia/all';\nimport AttendancesDialog from './AttendancesDialog';\n\n/**\n * ActivityClassDialog - Dialog to add / modify classes to an Activity\n * bool open - dialog is open/closed\n * Object item - The class itself. If it contains an id, it's an existing class\n * Object activity - The parent Activity, if any\n * Function onSave - callback when changes are applied or one or more classes are created\n * Function onClose - closing callback\n * Array teachers - array of teaches from this sports center\n */\nexport default function ActivityClassDialog({\n open,\n item,\n activity,\n onSave,\n onClose,\n availableTeachers = [],\n}) {\n const cxt = useContext(AppContext);\n\n // 'class' is a reserved keyword in Javascript, so we use theClass instead\n const [theClass, setTheClass] = useState(item);\n const [teachers, setTeachers] = useState(availableTeachers);\n // Facilities from this sc\n const [facilities, setFacilities] = useState([]);\n const [dialog, setDialog] = useState(false);\n\n // load facilities from API\n function loadFacilities() {\n cxt.api('GET', `/scs/${cxt.sc.id}/facilities`, {\n params: {\n rows: 1000,\n page: 1,\n },\n success: (response) => {\n if (response.rows) {\n setFacilities(response.rows);\n }\n },\n });\n }\n\n function loadTeachers() {\n cxt.api('GET', `/scs/${cxt.sc.id}/teachers`, {\n params: { page: 1, rows: 1000 },\n success: (response) => {\n if (response.rows) {\n setTeachers(response.rows);\n }\n },\n });\n }\n\n // startup\n useEffect(() => {\n loadFacilities();\n if (teachers.length === 0) {\n loadTeachers();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // if the 'item' prop changes, set is as theClass\n useEffect(() => {\n setTheClass(item);\n }, [item]);\n\n if (!theClass) {\n return null;\n }\n\n // apply 'value' to field 'name'\n function handleChange({ name, value }) {\n setTheClass({ ...theClass, [name]: value });\n }\n\n // Select a facility from the list\n function setFacility(id) {\n const facility = facilities.find((f) => f.id === id);\n\n if (facility) {\n setTheClass({\n ...theClass,\n facility: { id: facility.id, name: facility.name },\n });\n } else {\n setTheClass({ ...theClass, facility: null });\n }\n }\n\n // Select a teacher from the list\n function setTeacher(id) {\n const teacher = teachers.find((t) => t.id === id);\n\n if (teacher) {\n setTheClass({\n ...theClass,\n teacher: { id: teacher.id, name: teacher.name },\n });\n } else {\n setTheClass({ ...theClass, teacher: null });\n }\n }\n\n /*\n Set the date(s).\n\n If the class already exists, both ini and end refer to the same day, and the TIME part of the date refers to the class duration.\n For example: 2020-04-07 10:00:00 - 2020-04-07 12:00:00 Means a class on 2020-04-07 that runs from 10:00 to 12:00\n\n If the class doesn't exist (has no id), then ini and end function both as start and end of the date range, as well as start time and end time\n For example: 2020-04-07 10:00:00 - 2020-05-07 12:00:00 means that classes will be created from 2020-04-07 to 2020-05-07 and they\n will each run from 10:00 to 12:00\n\n Weird, but that's how it is.\n */\n function setDate({ name, value }) {\n const current = moment(theClass[name]);\n\n if (theClass.id) {\n setTheClass({\n ...theClass,\n ini: `${moment(value).format('YYYY-MM-DD')} ${current.format(\n 'HH:mm:ss',\n )}`,\n });\n setTheClass({\n ...theClass,\n end: `${moment(value).format('YYYY-MM-DD')} ${current.format(\n 'HH:mm:ss',\n )}`,\n });\n } else {\n setTheClass({\n ...theClass,\n [name]: `${moment(value).format('YYYY-MM-DD')} ${moment(\n current,\n ).format('HH:mm:ss')}`,\n });\n }\n }\n\n // Set the time part of the 'name' date\n function setTime({ name, value }) {\n const current = moment(theClass[name]);\n setTheClass({\n ...theClass,\n [name]: `${current.format('YYYY-MM-DD')} ${value}`,\n });\n }\n\n // Show success message, then call both onSave and onClose\n function saveAndClose() {\n cxt.showMessage('S', cxt.t('OperationSuccessful'));\n onSave?.();\n onClose?.();\n }\n\n // Save via API. Uses PUT or POST depending on whether the class has an id\n function saveClass() {\n const ini = moment(theClass.ini).format('YYYY-MM-DDTHH:mm:ss');\n const end = moment(theClass.end).format('YYYY-MM-DDTHH:mm:ss');\n\n if (theClass.id) {\n cxt.api('PUT', `/classes/${theClass.id}`, {\n params: {\n name: theClass.name,\n notes: theClass.notes,\n status: theClass.status,\n idFacility: theClass.facility\n ? theClass.facility.id\n : undefined,\n idTeacher: theClass.teacher\n ? theClass.teacher.id\n : undefined,\n ini,\n end,\n },\n success: () => {\n saveAndClose();\n },\n });\n } else {\n cxt.api('POST', `/classes`, {\n params: {\n name: theClass.name,\n notes: theClass.notes,\n status: theClass.status,\n idFacility: theClass.facility\n ? theClass.facility.id\n : undefined,\n idTeacher: theClass.teacher\n ? theClass.teacher.id\n : undefined,\n idActivity: activity ? activity.id : undefined,\n ini,\n end,\n weekdays: theClass.weekdays,\n },\n success: () => {\n saveAndClose();\n },\n });\n }\n }\n\n // Delete via API\n function deleteClass() {\n cxt.api('DELETE', `/classes/${theClass.id}`, {\n confirmation: true,\n success: () => {\n saveAndClose();\n },\n });\n }\n\n if (!theClass) {\n return null;\n }\n\n const buttons = [\n {\n type: 'save',\n onClick: saveClass,\n },\n ];\n\n // If the class has an id, we plug the 'delete' button after the 'save' button\n if (theClass.id) {\n buttons.splice(\n 1,\n 0,\n {\n type: 'delete',\n onClick: deleteClass,\n },\n {\n icon: ,\n caption: cxt.t('Assistences'),\n onClick: () => setDialog(true),\n },\n );\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n setFacility(value)}\n />\n \n \n {teachers && (\n \n setTeacher(value)\n }\n />\n )}\n \n \n \n \n {!theClass.id && (\n \n \n \n )}\n \n \n \n \n \n \n {!theClass.id && (\n \n \n \n )}\n \n \n }\n />\n setDialog(false)}\n />\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport moment from 'moment';\nimport { Close } from '@material-ui/icons';\nimport { useQueryClient } from 'react-query';\nimport {\n AppContext,\n SttChipUser,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\nimport ActivityClassDialog from './ActivityClassDialog';\nimport useActivitiesService from '../../../services/ActivitiesService';\nimport DateBuilder from '../../../lib/DateBuilder';\n\n/**\n * ActivityClasses - 'Classes' tab in the Activity screen\n * Object item - The Activity\n * Array teachers - A list of teachers from this Sports Center\n */\nexport default function ActivityClasses({ item, teachers = [] }) {\n const queryClient = useQueryClient();\n\n // Selected class to display in the modal\n const [selected, setSelected] = useState(null);\n\n const cxt = useContext(AppContext);\n const [classesQueryParams, setClassesQueryParams] = useState({\n page: 1,\n rows: 20,\n });\n\n const { useGetActivityClasses } = useActivitiesService();\n\n const classesQuery = useGetActivityClasses(item?.id, classesQueryParams);\n function deleteClasses(rows) {\n if (rows.length > 0) {\n cxt.api('POST', '/batch', {\n confirmation: true,\n params: {\n calls: rows.map((c) => ({\n method: 'DELETE',\n endpoint: `/classes/${c.id}`,\n })),\n },\n success: () => {\n queryClient.invalidateQueries(classesQuery.queryKey);\n },\n });\n }\n }\n\n return (\n <>\n \n setSelected({\n id: null,\n status: 'ACTIVE',\n ini: moment(item.ini).format('YYYY-MM-DD 00:00:00'),\n end: moment(item.end).format('YYYY-MM-DD 23:55:55'),\n weekdays: [],\n }),\n }}\n />\n \n setClassesQueryParams({ ...classesQueryParams, page })\n }\n selection={{\n actions: [\n {\n caption: cxt.t('Delete'),\n icon: ,\n onClick: deleteClasses,\n },\n ],\n }}\n onFetch={() => {}}\n columns={[\n {\n title: cxt.t('Created'),\n name: 'created',\n field: 'created',\n value: (row) =>\n new DateBuilder(\n row.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy(),\n },\n {\n title: cxt.t('Name'),\n name: 'name',\n field: 'name',\n type: 'link',\n onClick: (row) => setSelected(row),\n },\n {\n title: cxt.t('Teacher'),\n name: 'teacher',\n field: 'teacher',\n value: (row) =>\n row.teacher ? (\n \n ) : null,\n },\n {\n title: cxt.t('Facility'),\n name: 'facility',\n type: 'facility',\n field: 'facility',\n },\n {\n title: cxt.t('Day'),\n name: 'day',\n value: (row) => moment(row.ini).format('ddd'),\n },\n {\n title: cxt.t('Date'),\n name: 'date',\n type: 'dmy',\n field: 'ini',\n },\n {\n title: cxt.t('Time'),\n name: 'time',\n type: 'periodTime',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n ]}\n />\n {\n classesQuery.refetch();\n }}\n onClose={() => setSelected(false)}\n availableTeachers={teachers}\n />\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z\"\n}), 'PaymentOutlined');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\n}), 'ExpandLess');","import React, { useContext, useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { SttDialog } from './SttDialog';\nimport { AppContext } from '../AppContext';\nimport { generateFormField } from '../../lib/utils';\n\nexport function SttActivityFillForms({\n open = false,\n onClose,\n onSave,\n rateId,\n activityForms,\n}) {\n const cxt = useContext(AppContext);\n const [forms, setForms] = useState([]);\n\n const handleFormFieldChange = ({ name, value }) => {\n const formsValues = forms.map((l) => ({ ...l }));\n const question = formsValues.find((question) => question.id == name);\n\n formsValues.splice(formsValues.indexOf(question), 1, {\n ...question,\n answer: { value },\n });\n\n setForms(formsValues);\n };\n\n useEffect(() => {\n setForms(activityForms);\n }, [activityForms]);\n\n const save = () => {\n const formsParam = {};\n\n forms.forEach((form) => (formsParam[form.id] = form.answer.value));\n\n onSave(rateId, { form: formsParam });\n };\n\n return (\n (onClose ? onClose() : null)}\n content={\n \n {forms &&\n forms.map((item, i) => (\n \n {generateFormField(item, handleFormFieldChange)}\n \n ))}\n \n }\n buttons={[\n {\n type: 'save',\n onClick: () => save(),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { Box } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport Collapse from '@material-ui/core/Collapse';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport { ExpandLess, ExpandMore } from '@material-ui/icons';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Grid from '@material-ui/core/Grid';\nimport { SttTopControls } from '../SttTopControls';\nimport { AppContext } from '../AppContext';\nimport { SttPagination } from '../SttPagination';\nimport { SttDialog } from './SttDialog';\nimport { SttActivityFillForms } from './SttActivityFillForms';\nimport { SttList } from '../lists/SttList';\nimport { SPORTCENTER_ACTIVITIES_STUDENTS } from '../../lib/queryKeys';\n\nconst useStyles = makeStyles((theme) => ({\n nested: {\n paddingLeft: theme.spacing(6),\n },\n}));\n\n/**\n * Rate selector ordered by activities.\n * @param open boolean Open or close the dialog.\n * @param studentId integer Student id.\n * @param onClose function Method threw when user close the dialog.\n * @returns {JSX.Element} JSX with component.\n */\nexport function SttSelectClassAndRateDialog({\n open = false,\n studentId,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const [activities, setActivities] = useState({});\n const [filter, setFilter] = useState({\n name: '',\n year: new Date().getFullYear(),\n });\n const [openListItem, setOpenListItem] = React.useState([]);\n const [page, setPage] = useState(1);\n const rowsPerPage = 7;\n const [activityForms, setActivityForms] = useState([]);\n const [openActivityFillFormsDialog, setOpenActivityFillFormsDialog] =\n useState(false);\n const [selectedRateId, setSelectedRateId] = useState();\n const queryClient = useQueryClient();\n\n /**\n * Will be load activity forms data and next open fill forms dialog or call changeStudentRate.\n * @param activityId Activity ID.\n * @param rateId Rate ID.\n */\n const changeStudentRateProccess = (activityId, rateId) => {\n cxt.api('GET', `/activities/${activityId}`, {\n params: {\n trash: true,\n },\n success: (response) => {\n if (response && response.activity && response.activity.form) {\n setActivityForms(response.activity.form);\n setOpenActivityFillFormsDialog(true);\n setSelectedRateId(rateId);\n } else {\n changeStudentRate(rateId);\n }\n },\n });\n };\n\n /**\n * Load all activities using sport center id.\n * @param p Search parameters ({page: X, rows: X})\n */\n const loadActivities = (p = { page: 1, rows: 7 }) => {\n cxt.api('GET', `/scs/${cxt.sc.id}/activities`, {\n params: {\n ...filter,\n ...p,\n },\n success: (response) => {\n setActivities(response);\n setOpenListItem(new Array(response.rows.length).fill(false));\n },\n });\n };\n\n /**\n * Load all fees using activity id.\n * @param activityId Activity id.\n */\n const loadFeesByActivity = (activityId) => {\n cxt.api('GET', `/activities/${activityId}`, {\n success: (response) => {\n const newActivities = { ...activities };\n const activityIndex = newActivities.rows.findIndex(\n (x) => x.id === activityId,\n );\n newActivities.rows[activityIndex] = response.activity;\n handleClick(activityIndex);\n setActivities(newActivities);\n },\n });\n };\n\n /**\n * Change student rate.\n * @param idRate integer Rate ID.\n * @param p Params.\n */\n const changeStudentRate = (idRate, p = {}) => {\n cxt.api('PUT', `/students/${studentId}/changeRate`, {\n params: {\n idRate,\n ...p,\n },\n success: (r) => {\n if (onClose) onClose();\n queryClient.invalidateQueries(SPORTCENTER_ACTIVITIES_STUDENTS);\n setOpenActivityFillFormsDialog(false);\n cxt.showMessage('S', cxt.t('Changed'));\n },\n });\n };\n\n /**\n * Will be execute when user press cell list item.\n * Save the status of the list to check if the activity was loaded or not.\n * @param index integer Activity index.\n */\n const handleClick = (index) => {\n const newOpenListItem = [...openListItem];\n newOpenListItem[index] = !newOpenListItem[index];\n setOpenListItem(newOpenListItem);\n };\n\n /**\n * Render activity cell inside SttList.\n * @param activity Activity object.\n * @param index Activity index.\n * @returns {JSX.Element} JSX with activity cell.\n */\n const renderCell = (activity, index) => (\n <>\n {\n activity.hasOwnProperty('rates')\n ? handleClick(index)\n : loadFeesByActivity(activity.id);\n }}\n >\n \n {openListItem[index] ? : }\n \n \n \n {activity.rates &&\n activity.rates.map((rate) => (\n \n changeStudentRateProccess(\n activity.id,\n rate.id,\n )\n }\n >\n \n \n ))}\n \n \n \n );\n\n /**\n * Will be execute when change page.\n * @param page integer Page number.\n */\n const onChangePage = (page) => {\n setPage(page);\n loadActivities({ page, rows: rowsPerPage });\n };\n\n /**\n * When the component is opened we load activities.\n */\n useEffect(() => {\n if (open) loadActivities();\n }, [open]);\n\n /**\n * When \"filter.year\" change we load activities.\n */\n useEffect(() => {\n if (open) loadActivities();\n }, [filter.year]);\n\n // -----| Render |-----\n return (\n <>\n (onClose ? onClose() : null)}\n maxWidth=\"md\"\n content={\n <>\n \n \n loadActivities(),\n },\n {\n caption: cxt.t('Year'),\n type: 'year',\n name: 'year',\n years: {\n future: 1,\n },\n value: filter.year\n ? filter.year\n : '',\n onChange: ({ name, value }) =>\n setFilter({\n ...filter,\n [name]: value || '',\n }),\n },\n ]}\n onChange={({ name, value }) =>\n setFilter({ ...filter, [name]: value })\n }\n />\n \n\n \n onChangePage(page)}\n />\n \n \n\n \n \n ({\n caption: renderCell(\n activity,\n index,\n ),\n }),\n )\n }\n />\n \n \n \n }\n />\n setOpenActivityFillFormsDialog(false)}\n onSave={changeStudentRate}\n rateId={selectedRateId}\n activityForms={activityForms}\n />\n \n );\n}\n","import { useContext } from 'react';\nimport { MutationFunction, UseMutationOptions, useMutation } from 'react-query';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n ChangeRate200,\n ChangeRateBody,\n GenerateStudentEnrollment200,\n UpdateStudent200,\n UpdateStudentBody,\n} from '../types/api/paths/Student';\n\nconst resource = '/students';\n\n/**\n * Hook to access all 'students' resources.\n */\nexport default function useStudentsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n /**\n * PUT /students/id request.\n */\n function useUpdateStudent(\n mutationOptions?: UseMutationOptions<\n UpdateStudent200,\n unknown,\n { id: number; params: UpdateStudentBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdateStudent200,\n { id: number; params: UpdateStudentBody }\n > = ({ id, params }) => request('PUT', `${resource}/${id}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * PUT /students/:idStudent/changeRate request.\n */\n function useChangeRate(\n mutationOptions?: UseMutationOptions<\n ChangeRate200,\n unknown,\n { idStudent: number; params: ChangeRateBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n ChangeRate200,\n { idStudent: number; params: ChangeRateBody }\n > = ({ idStudent, params }) =>\n request('PUT', `${resource}/${idStudent}/changeRate`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * POST /students/:id/enrollment/generate request.\n */\n function useGenerateStudentEnrollment(\n mutationOptions?: UseMutationOptions<\n GenerateStudentEnrollment200,\n unknown,\n { id: number }\n >,\n ) {\n const mutationFn: MutationFunction<\n GenerateStudentEnrollment200,\n { id: number }\n > = ({ id }) => request('POST', `/students/${id}/enrollment/generate`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n useUpdateStudent,\n useChangeRate,\n useGenerateStudentEnrollment,\n };\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Grid, Typography } from '@material-ui/core';\nimport moment from 'moment';\nimport LoopIcon from '@material-ui/icons/Loop';\nimport KeyboardReturnIcon from '@material-ui/icons/KeyboardReturn';\nimport {\n AppContext,\n SttDialog,\n SttTabs,\n SttFormDate,\n SttFormSelect,\n SttFormTextarea,\n SttSelectPForm,\n SttFeeList,\n SttLabelForm,\n SttSelectUser,\n SttFormCheck,\n} from '../../sporttia/all';\nimport { useCrud, useInteractionsFiles, useLoader } from '../../lib/hooks';\nimport {\n generateFormField,\n fullName,\n formatPriceByLocale,\n composeFormData,\n getErrorMessage,\n} from '../../lib/utils';\nimport HandlePaymentsModal from '../../pages/sc/groups/HandlePaymentsModal';\nimport { SttSelectClassAndRateDialog } from '../../sporttia/dialogs/SttSelectClassAndRateDialog';\nimport POSPaymentDialog from './POSPaymentDialog';\nimport POSStripePaymentDialog from '../stripe/POSStripePaymentDialog';\nimport constants from '../../config/constants';\nimport translations from '../../translations';\nimport useStudentsService from '../../services/StudentsService';\nimport useActivitiesService from '../../services/ActivitiesService';\nimport useActivityRatesService from '../../services/ActivityRatesService';\nimport DiscountList from '../discounts/DiscountsList';\n\n/**\n * Student dialog\n */\nexport default function StudentDialog({\n open = false,\n idStudent = null,\n defaultIdRate = null,\n activity = null,\n onSave,\n onClose,\n trash,\n}) {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const [student, setStudent, setProperty, Get, , , Delete] = useCrud();\n const [title, setTitle] = useState(null);\n const [history, setHistory] = useState();\n const [idRate, setIdRate] = useState(defaultIdRate);\n const [openAskingPaymentProcedure, setOpenAskingPaymentProcedure] =\n useState(false);\n const [openChangeClassAndRateDialog, setOpenChangeClassAndRateDialog] =\n useState(false);\n const [posPaymentParams, setPosPaymentParams] = useState(null);\n const [discountsForm, setDiscountsForm] = useState([]);\n const creating = idStudent === 0;\n\n const selectedRate =\n activity?.rates?.find((rate) => rate.id === idRate) ?? student?.rate;\n\n function saveAndClose() {\n onSave();\n onClose();\n }\n\n function handleChangeDiscounts({ name: id, value }) {\n setDiscountsForm((prev) =>\n prev.map((discount) =>\n discount.id === id\n ? {\n ...discount,\n checked: value,\n }\n : discount,\n ),\n );\n }\n\n const loadStudent = () => {\n Get(`/students/${idStudent}`, { trash })\n .then((response) => {\n if (response.student) {\n setStudent(response.student);\n setIdRate(response.student.rate.id);\n }\n })\n .catch(() => {});\n };\n\n const loadHistory = () => {\n Get(`/students/${idStudent}/history`)\n .then((result) => {\n if (result.rows) {\n setHistory(result.rows);\n }\n })\n .catch(() => {});\n };\n\n // Init. If an idStudent is provided load it, otherwise create an 'empty' student for addition\n useEffect(() => {\n if (!creating) {\n setStudent(null);\n loadStudent();\n loadHistory();\n setTitle(cxt.t(translations.generic.student));\n } else {\n // Aquí activity debe existir siempre...\n if (!activity || !selectedRate) {\n return;\n }\n\n const now = moment();\n const then = selectedRate.ini;\n\n setStudent({\n name: '',\n user: null,\n ini: now.isBefore(then)\n ? moment(then).format('YYYY-MM-DD HH:mm:ss')\n : now.format('YYYY-MM-DD 00:00:00'),\n end: moment(selectedRate.end).format('YYYY-MM-DD HH:mm:ss'),\n notes: '',\n rate: selectedRate,\n enrollment: {},\n feePaymentForm: '',\n form: activity.form\n ? activity.form.map((question) => ({\n ...question,\n answer: { value: '' },\n }))\n : null,\n });\n\n setHistory(null);\n }\n // Eliminar useEffect cuando se migre a react-query\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [idStudent]);\n\n const studentsService = useStudentsService();\n const updateStudentMutation = studentsService.useUpdateStudent({\n onSuccess: () => {\n onSave();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const generateStudentEnrollmentMutation =\n studentsService.useGenerateStudentEnrollment({\n onSuccess: () => {\n cxt.showMessage('S', cxt.t('GeneratedEnrollment'));\n loadStudent();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const activitiesService = useActivitiesService();\n const createActivityRateStudentMutation =\n activitiesService.useCreateActivityRateStudent({\n onSuccess: (response) => {\n const { tpv } = response;\n\n if (\n tpv?.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n // params for the POS dialog (datáfono físico)\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n sc: {\n id: tpv?.sc?.id,\n scName: tpv?.sc?.short,\n entityName: tpv?.sc?.customer?.name,\n address: tpv?.sc?.address,\n cif: tpv?.sc?.customer?.cif,\n phone: tpv?.sc?.phonePublic,\n },\n });\n } else {\n saveAndClose();\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const upsertStudent = () => {\n if (!student || !student.user) {\n return;\n }\n let requestBody = {};\n\n if (student.id) {\n const { ini, end, notes, feePaymentForm, enrollment, form } =\n student;\n requestBody = {\n notes,\n ini,\n end,\n feePaymentForm,\n enrollmentPaymentForm: enrollment\n ? enrollment.paymentForm\n : null,\n };\n if (form) {\n requestBody.form = composeFormData(form);\n }\n updateStudentMutation.mutate({\n id: idStudent,\n params: requestBody,\n });\n } else {\n const { user, ini, end, notes, feePaymentForm, enrollment, form } =\n student;\n\n const discountsIdsToSend = discountsForm\n .filter((discount) => discount.checked)\n .map((discount) => discount.id);\n\n requestBody = {\n idUser: user.id,\n notes,\n ini,\n end,\n feePaymentForm,\n enrollmentPaymentForm: enrollment.paymentForm,\n discountsIds: discountsIdsToSend,\n };\n\n if (form) {\n requestBody.form = composeFormData(form);\n }\n\n createActivityRateStudentMutation.mutate({\n idRate,\n params: requestBody,\n });\n }\n };\n\n const activityRateService = useActivityRatesService();\n activityRateService.useGetActivityRateDiscounts(\n selectedRate?.id,\n {\n rows: 1000,\n },\n {\n onSuccess: (response) => {\n setDiscountsForm(\n response.rows.map((discount) => ({\n ...discount,\n checked: false,\n })),\n );\n },\n refetchOnMount: true,\n enabled: creating,\n },\n );\n\n const download = () => {\n downloadFile(\n `/students/${idStudent}.pdf`,\n 'application/pdf',\n null,\n 'student.pdf',\n );\n };\n\n const handleForm = ({ name, value }) => {\n setStudent((prev) => ({ ...prev, [name]: value }));\n };\n\n function handleFormFieldChange({ name, value }) {\n const { form } = student;\n const foundQuestion = form.find(\n (question) => question.id.toString() === name,\n );\n\n form.splice(form.indexOf(foundQuestion), 1, {\n ...foundQuestion,\n answer: { value },\n });\n\n setStudent((prev) => ({ ...prev, form }));\n }\n\n function setEnrollmentPaymentForm(paymentForm) {\n setStudent({\n ...student,\n enrollment: {\n ...student.enrollment,\n paymentForm,\n },\n });\n }\n\n function cancelActivity(deletingPaymentProcedure) {\n let params;\n if (deletingPaymentProcedure !== undefined) {\n params = {\n deletingPaymentAction: deletingPaymentProcedure,\n };\n }\n Delete(`/students/${idStudent}`, params).then(() => {\n setOpenAskingPaymentProcedure(false);\n saveAndClose();\n });\n }\n\n const deleteInscription = () => {\n cxt.api('DELETE', `/activities/students/${student.id}`, {\n confirmation: true,\n success: () => {\n cxt.showMessage('S', 'Deleted');\n onClose();\n },\n });\n };\n\n const [isMutationsLoading, mutationsLoader] = useLoader([\n createActivityRateStudentMutation.status,\n updateStudentMutation.status,\n generateStudentEnrollmentMutation.status,\n ]);\n\n if (isMutationsLoading) {\n return mutationsLoader;\n }\n\n if (!student) {\n return null;\n }\n\n const hasTutor = student.user?.mship?.tutor;\n\n const discounts = creating ? discountsForm : student.discounts;\n\n const showDiscountsSelection =\n (selectedRate?.fee > 0 || selectedRate?.enrollment > 0) &&\n creating &&\n discounts?.length > 0;\n\n const showDiscountsList =\n selectedRate?.fee > 0 && !creating && discounts?.length > 0;\n\n const tabStudent = (\n \n <>\n {student.id ? (\n \n ) : (\n {\n if (mship) {\n setProperty({\n name: 'user',\n value: {\n ...mship.user,\n mship,\n },\n });\n } else {\n setProperty({\n name: 'user',\n value: undefined,\n });\n }\n }}\n returnMship\n />\n )}\n\n {hasTutor && (\n \n )}\n\n \n\n \n\n \n\n {\n if (activity?.rates) {\n return activity.rates.map((rate) => ({\n caption: rate.name,\n value: rate.id,\n }));\n }\n\n if (student?.rate) {\n return [\n {\n caption: student.rate.name,\n value: student.rate.id,\n },\n ];\n }\n\n return [];\n })()}\n onChange={({ value }) => setIdRate(value)}\n />\n\n {/* --- Payment form - signup --- */}\n setEnrollmentPaymentForm(value)}\n activePFs={[\n '',\n constants.payment.paymentForms.purse.name,\n constants.payment.paymentForms.cash.name,\n constants.payment.paymentForms.bank.name,\n cxt?.sc?.dataphoneConnected\n ? constants.payment.paymentForms.dataphoneConnected\n .name\n : constants.payment.paymentForms.dataphone.name,\n constants.payment.paymentForms.receipt.name,\n constants.payment.paymentForms.free.name,\n ]}\n />\n\n {/* --- Payment form - fee --- */}\n {selectedRate?.fee > 0 && (\n \n )}\n\n {showDiscountsSelection && (\n \n \n {discounts.map((discount) => (\n \n \n \n ))}\n \n \n )}\n\n {showDiscountsList && (\n \n \n \n )}\n\n {history && (\n \n \n \n \n \n \n\n {history.map((item) => (\n \n \n {moment(item.ini).format(\n 'DD MMM YYYY, HH:mm',\n )}\n \n \n {moment(item.end).format(\n 'DD MMM YYYY, HH:mm',\n )}\n \n \n ))}\n \n \n )}\n \n \n );\n\n const tabFees = student.fees ? (\n \n ) : (\n {cxt.t(translations.generic.noFees)}\n );\n\n const tabForm = student.form && (\n \n {student?.form?.map((item) => (\n \n {generateFormField(item, handleFormFieldChange)}\n \n ))}\n \n );\n\n const availableTabs = [\n {\n caption: cxt.t('Student'),\n component: tabStudent,\n },\n {\n caption: cxt.t(translations.generic.fees),\n component: tabFees,\n show: !!student.id,\n },\n {\n caption: cxt.t('Form'),\n component: tabForm,\n show: !!student.form,\n },\n ];\n\n return (\n <>\n }\n buttons={[\n student.id && {\n caption: `${cxt.t(translations.generic.delete)} ${cxt.t(\n translations.generic.inscription,\n )}`,\n icon: ,\n onClick: () => deleteInscription(),\n },\n student.id && {\n caption: cxt.t('ChangeClassAndRate'),\n icon: ,\n onClick: () => setOpenChangeClassAndRateDialog(true),\n },\n !student.enrollment &&\n selectedRate?.enrollment > 0 && {\n caption: cxt.t('popup.student.generateSignup'),\n onClick: () => {\n generateStudentEnrollmentMutation.mutate({\n id: student.id,\n });\n },\n },\n {\n type: 'save',\n onClick: () => upsertStudent(),\n disabled: !student || (!student.id && !student.user),\n },\n student.id && {\n type: 'unsubscribe',\n onClick: () => setOpenAskingPaymentProcedure(true),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n menu={[\n {\n caption: `${cxt.t(translations.generic.download)} PDF`,\n onClick: () => download(),\n },\n ]}\n />\n\n setOpenAskingPaymentProcedure(false)}\n options={[\n {\n caption: cxt.t('associatedPayments.doNothing'),\n value: '0',\n },\n {\n caption: cxt.t('associatedPayments.delete'),\n value: '1',\n },\n {\n caption: cxt.t('associatedPayments.pending'),\n value: '2',\n },\n ]}\n onAccept={(option) => {\n switch (option) {\n case '0':\n cancelActivity();\n break; // PBM: 'do nothing' case was missing\n case '1':\n cancelActivity(1);\n break;\n case '2':\n cancelActivity(2);\n break;\n default:\n }\n }}\n />\n\n {/* Rate selector. Opened when user click in 'ChangeClassAndRate' button. */}\n {\n setOpenChangeClassAndRateDialog(false);\n onClose();\n }}\n />\n\n {cxt.sc?.sporttiaStripeLocationId && posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n saveAndClose();\n }}\n />\n ) : (\n setPosPaymentParams(null)}\n onSuccess={() => {\n saveAndClose();\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Box, Chip, Tooltip, Grid, Link } from '@material-ui/core';\nimport moment from 'moment';\nimport PersonOutlineOutlinedIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { PaymentOutlined, Replay } from '@material-ui/icons';\nimport { useQueryClient } from 'react-query';\nimport {\n AppContext,\n SttSelectableItems,\n SttFeeRow,\n SttChipPForm,\n} from '../../../sporttia/all';\nimport {\n fullName,\n updateElementInArray,\n formatPriceByLocale,\n isDefined,\n} from '../../../lib/utils';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport StudentDialog from '../../../components/dialogs/StudentDialog';\nimport { useInteractionsFiles, useQueryFilters } from '../../../lib/hooks';\nimport SttMshipDialog from '../../../sporttia/dialogs/SttMshipDialog';\nimport { SPORTCENTER_ACTIVITIES_STUDENTS } from '../../../lib/queryKeys';\nimport useActivityRatesService from '../../../services/ActivityRatesService';\nimport SttCachedTable from '../../../sporttia/SttCachedTable';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport DiscountTooltip from '../../../components/discounts/DiscountTooltip';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nconst useStyles = makeStyles({\n infoButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n\nexport default function ActivityStudents({\n item,\n onSave,\n onPayment,\n onGenerateFee,\n}) {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const classes = useStyles();\n const activityRateService = useActivityRatesService();\n const [idPayModal, setIdPayModal] = useState(null);\n const [viewStudentId, setViewStudentId] = useState(null);\n const [mode, setMode] = useState('STUDENTS');\n const [selectedMshipId, setSelectedMshipId] = useState(null);\n const queryClient = useQueryClient();\n const [filters, setFilters] = useQueryFilters(\n {},\n SPORTCENTER_ACTIVITIES_STUDENTS,\n );\n\n const activeFilter = 'ACTIVE_AND_FUTURE';\n const idRate = item?.rates?.[0]?.id ?? null;\n\n const queryKey = [SPORTCENTER_ACTIVITIES_STUDENTS, filters];\n\n function generateEnrollment(studentId) {\n cxt.api('POST', `/students/${studentId}/enrollment/generate`, {\n success: () => {\n cxt.showMessage('S', cxt.t('GeneratedEnrollment'));\n queryClient.invalidateQueries(SPORTCENTER_ACTIVITIES_STUDENTS);\n },\n });\n }\n\n function updatePayment(payment) {\n queryClient.setQueriesData({ queryKey }, (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n rows: old.rows.map((row) => {\n // It is an inscription payment\n if (row.enrollment?.id === payment.id) {\n return {\n ...row,\n enrollment: {\n ...row.enrollment,\n ...payment,\n },\n };\n }\n\n // It is a fee payment\n // Since we are iterating through all existing fees, we need to find the user fee owner\n if (row.fees && payment.user.id === row.user.id) {\n return {\n ...row,\n fees: updateElementInArray(row.fees, payment),\n };\n }\n\n // When a fee is paid for a child, the payment is made by the parent.\n // Therefore, we search among the children of the payer and add the payment to the child's fees.\n const foundChildrenPayment = payment.children?.rows?.find(\n (children) => children.user.id === row.user.id,\n );\n if (row.fees && foundChildrenPayment) {\n return {\n ...row,\n fees: row.fees.map((fee) =>\n fee.id === foundChildrenPayment.id\n ? payment\n : fee,\n ),\n };\n }\n\n return row;\n }),\n };\n });\n }\n\n function updateMship(mship) {\n queryClient.setQueriesData({ queryKey }, (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n rows: old.rows.map((row) => {\n if (row.user?.mship?.id === mship.id) {\n return {\n ...row,\n user: {\n ...row.user,\n mship: {\n ...row.user.mship,\n ...mship,\n },\n },\n };\n }\n\n return row;\n }),\n };\n });\n }\n\n function onFeeGenerated(fee, index, student) {\n queryClient.setQueriesData({ queryKey }, (old) => {\n if (!old) {\n return undefined;\n }\n\n return {\n ...old,\n rows: old.rows.map((oldRow) => {\n if (oldRow.id === student.id) {\n return {\n ...oldRow,\n // Update by index, since non-generated fees don't have an id\n fees: oldRow.fees.map(\n (oldRowFee, oldRowFeeIndex) =>\n oldRowFeeIndex === index ? fee : oldRowFee,\n ),\n };\n }\n\n return oldRow;\n }),\n };\n });\n }\n\n if (!item) {\n return null;\n }\n\n let tableColumns;\n\n if (mode === 'STUDENTS') {\n tableColumns = [\n {\n title: cxt.t('Name'),\n align: 'left',\n field: 'name',\n value: (row) => (\n \n setViewStudentId(row.id)}>\n {fullName(row.user)}\n \n {row?.status === 'PAYING' && (\n \n \n \n )}\n \n ),\n },\n {\n title: cxt.t('Created'),\n field: 'created',\n value: (row) =>\n new DateBuilder(\n row?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy(),\n },\n {\n title: cxt.t('Form'),\n value: (row) =>\n row.form?.map(\n (rowFormItem) =>\n rowFormItem.answer?.value && (\n \n \n \n ),\n ),\n },\n {\n width: 165,\n title: cxt.t('Enrollment'),\n value: (row) => {\n let value;\n if (row.enrollment) {\n if (row.enrollment.refund) {\n value = (\n \n \n setIdPayModal(row.enrollment.id)\n }\n >\n {formatPriceByLocale(\n row.enrollment.price,\n cxt.sc?.city?.country?.currency,\n )}\n \n \n \n \n \n \n );\n } else {\n value = (\n \n \n setIdPayModal(row.enrollment.id)\n }\n >\n {formatPriceByLocale(\n row.enrollment.price,\n cxt.sc?.city?.country?.currency,\n )}\n \n \n \n \n \n \n );\n }\n } else if (row.rate.enrollment > 0) {\n value = (\n \n generateEnrollment(row.id)}\n >\n {cxt.t('Generate')}\n \n \n );\n }\n\n return value;\n },\n },\n {\n title: '',\n value: (row) =>\n row.discounts && (\n \n ),\n },\n {\n title: cxt.t('Period'),\n type: 'period',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Fees'),\n value: (row) => {\n if (row.fees) {\n return ;\n }\n return null;\n },\n },\n {\n title: '',\n value: (row) => (\n {\n setSelectedMshipId(row?.user?.mship?.id);\n }}\n />\n ),\n },\n ];\n } else if (mode === 'FEES') {\n tableColumns = [\n {\n value: (row) => (\n
\n \n setViewStudentId(row.id)}>\n {row.user ? fullName(row.user) : row.name}\n \n \n {\n onGenerateFee();\n onFeeGenerated(fee, index, row);\n }}\n onFeeClicked={(id) => setIdPayModal(id)}\n />\n
\n ),\n },\n ];\n }\n\n function download(format) {\n const formatedFilters = { ...filters };\n const type = format === 'pdf' ? 'application/pdf' : 'text/csv';\n\n if (!isDefined(formatedFilters.name)) {\n formatedFilters.name = '';\n }\n const { rate: rateId } = formatedFilters;\n const inTime = !!(\n formatedFilters?.onlyActive || formatedFilters?.onTime\n );\n\n delete formatedFilters.rate;\n // Migración a formato inTime,inPast,inFuture https://wiki.sporttia.com/index.php/Gesti%C3%B3n_de_fechas,_tiempos_y_zonas_horarias\n delete formatedFilters.onlyActive;\n delete formatedFilters.onTime;\n\n downloadFile(\n `/activities/rates/${rateId}/students.${format}`,\n type,\n { inTime, ...formatedFilters },\n `${item.name} - ${cxt.t('Students')}.${format}`,\n );\n }\n\n return (\n <>\n ({\n caption: rate.name,\n value: rate.id,\n })),\n },\n {\n name: 'activeFilter',\n type: 'select',\n mandatory: true,\n caption: cxt.t('Active'),\n value: activeFilter,\n options: [\n {\n caption: cxt.t(\n 'page.sc.classes.onlyActiveStudents',\n ),\n value: 'ACTIVE_AND_FUTURE',\n },\n {\n caption: cxt.t(\n 'page.sc.classes.activeAndPastStudents',\n ),\n value: 'PAST',\n },\n ],\n },\n {\n name: 'name',\n type: 'search',\n caption: cxt.t('Name'),\n value: filters.name,\n },\n ]}\n menu={[\n {\n caption: `${cxt.t('Download')} PDF`,\n onClick: () => download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n mainAction={\n mode === 'STUDENTS'\n ? {\n type: 'create',\n onClick: () => setViewStudentId(0),\n }\n : null\n }\n onFilter={({ activeFilter: currentFilter, ...restFilters }) => {\n let inTime = null;\n\n if (idRate) {\n if (currentFilter === 'ACTIVE_AND_FUTURE') {\n inTime = true;\n } else if (currentFilter === 'PAST') {\n inTime = false;\n }\n }\n\n setFilters({ ...restFilters, inTime });\n }}\n trashAction\n />\n {/* --- Students or fees--- */}\n \n \n setMode(value)}\n />\n \n \n \n activityRateService.getActivityRateStudents(id, params)\n }\n queryParams={{ ...filters }}\n prefetching={false}\n columns={tableColumns}\n />\n {idPayModal && (\n setIdPayModal(null)}\n onPay={(payment) => {\n updatePayment(payment);\n onPayment();\n }}\n onDeleted={() => {\n queryClient.invalidateQueries(\n SPORTCENTER_ACTIVITIES_STUDENTS,\n );\n onPayment();\n }}\n onRecovered={() => {\n queryClient.invalidateQueries(\n SPORTCENTER_ACTIVITIES_STUDENTS,\n );\n onPayment();\n }}\n onRefund={() => {\n queryClient.invalidateQueries(\n SPORTCENTER_ACTIVITIES_STUDENTS,\n );\n onPayment();\n }}\n onSave={() => {\n queryClient.invalidateQueries(\n SPORTCENTER_ACTIVITIES_STUDENTS,\n );\n onPayment();\n }}\n />\n )}\n {viewStudentId !== null && (\n {\n setViewStudentId(null);\n }}\n onSave={() => {\n setViewStudentId(null);\n queryClient.invalidateQueries(\n SPORTCENTER_ACTIVITIES_STUDENTS,\n );\n onSave();\n }}\n trash={filters.trash}\n />\n )}\n {\n setSelectedMshipId(null);\n }}\n onSave={updateMship}\n />\n \n );\n}\n","import React, { useEffect, useContext, useState } from 'react';\nimport { Grid, Box, IconButton } from '@material-ui/core';\nimport { Delete as DeleteIcon } from '@material-ui/icons';\nimport {\n AppContext,\n SttButton,\n SttDialog,\n SttFormCheck,\n SttFormSelect,\n SttFormText,\n} from '../../sporttia/all';\nimport { useCrud } from '../../lib/hooks';\n\nconst types = ['STRING', 'NUMERIC', 'DATE', 'SELECT', 'CHECK'];\n\n/**\n * FormQuestionDialog: Diálogo para añadir o editar preguntas de formulario\n * string parentCategory: 'activities', 'events', etc.\n * int idParent: id de la actividad, el evento, etc.\n * Object item: la pregunta (objeto existente o vacío para nuevas preguntas)\n * Function onSave\n * Function onClose\n */\nexport default function FormQuestionDialog({\n parentCategory,\n idParent,\n item,\n onSave,\n onDelete,\n onClose,\n}) {\n const [question, setQuestion, setProperty, , Post, Put, Delete] = useCrud();\n const [existingOptions, setExistingOptions] = useState();\n\n useEffect(() => {\n setQuestion(item);\n setExistingOptions(\n item?.options?.map((option) => ({\n name: option.name,\n value: option.value,\n })),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n\n const cxt = useContext(AppContext);\n\n function addOption() {\n const options = question.options || [];\n setQuestion({\n ...question,\n options: options.concat([{ name: '', value: '' }]),\n });\n }\n\n function removeOption(option) {\n const { options } = question;\n\n options.splice(options.indexOf(option), 1);\n setQuestion({ ...question, options });\n }\n\n function setOption(option, name, value) {\n const { options } = question;\n // eslint-disable-next-line no-param-reassign\n option[name] = value;\n\n options.splice(options.indexOf(option), 1, option);\n\n setQuestion({ ...question, options });\n }\n\n // Create/save question depending on parent (activity, event, etc) and parent id\n function saveQuestion() {\n const params = {\n name: question.name,\n type: question.type,\n mandatory: !!question.mandatory,\n options:\n question.type === 'SELECT'\n ? question.options.map((option) => ({\n name: option.name,\n value: option.value,\n }))\n : null,\n };\n\n // Save existing question\n if (question.id) {\n Put(`/questions/${question.id}`, params)\n .then(({ question }) => {\n question && onSave && onSave(question);\n onClose();\n })\n .catch(console.log);\n } else {\n // Create new question, calling apis like /events/{id}/questions\n Post(`/${parentCategory}/${idParent}/questions`, params)\n .then(({ question }) => {\n question && onSave && onSave(question);\n onClose();\n })\n .catch(console.log);\n }\n }\n\n function deleteQuestion() {\n Delete(`/questions/${question.id}`)\n .then(() => {\n if (onDelete) onDelete(question);\n onClose();\n })\n .catch();\n }\n\n if (!question) {\n return null;\n }\n\n return (\n \n \n \n \n \n ({\n caption: cxt.t(`PT.${option}`),\n value: option,\n }))}\n defVal={question.type}\n onChange={setProperty}\n />\n \n {question.type === 'SELECT' && (\n \n \n {question.options &&\n // eslint-disable-next-line no-shadow\n question.options.map((item, i) => (\n // eslint-disable-next-line react/no-array-index-key\n \n \n \n \n \n \n setOption(\n item,\n name,\n value,\n )\n }\n />\n \n \n \n setOption(\n item,\n name,\n value,\n )\n }\n />\n \n \n \n \n \n removeOption(item)\n }\n >\n \n \n \n \n \n ))}\n \n \n \n )}\n \n \n setProperty({ name, value: +value })\n }\n />\n \n \n }\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport FormQuestionDialog from '../../../components/dialogs/FormQuestionDialog';\n\n// Pestaña 'Formulario' para las actividades\nexport default function ActivityForm({ item, onChange }) {\n const [questions, setQuestions] = useState(null);\n const [viewQuestion, setViewQuestion] = useState(null);\n\n const cxt = useContext(AppContext);\n\n // Si cambia el item, recargamos el form (necesario al actualizar)\n useEffect(() => {\n if (item.form) {\n setQuestions({ count: item.form.count, rows: item.form });\n }\n }, [item]);\n\n function deleteForm(form) {\n setQuestions({\n rows: questions.rows.filter(\n (currentQuestion) => currentQuestion?.id !== form?.id,\n ),\n });\n }\n\n return (\n <>\n setViewQuestion({}),\n }}\n />\n setViewQuestion(row),\n },\n {\n title: cxt.t('Type'),\n type: 'text',\n field: 'typeLang',\n },\n {\n title: cxt.t('Mandatory'),\n type: 'active',\n value: (row) => !!row.mandatory,\n },\n ]}\n />\n setViewQuestion(null)}\n />\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { AppContext } from '../../../sporttia/all';\nimport DeviceAuthDialog from '../../../components/devices/DeviceAuthDialog';\nimport DeviceList from '../../../components/devices/DeviceList';\nimport deviceConstants from '../../../components/devices/deviceConstants';\n\n/* 'Devices' tab for the Activity page. Uses DeviceList with type=DeviceTypes.ACTIVITIES for rendering.\n * props:\n * Object item : the Activity objec*t\n */\nexport default function ActivityDevices({ item }) {\n const cxt = useContext(AppContext);\n\n const [viewAuth, setViewAuth] = useState(null); // auth to open in the DeviceAuthDialog\n const [auths, setAuths] = useState([]);\n\n function loadAuths(params = { rows: 20, page: 1 }) {\n cxt.api('GET', `/activities/${item.id}/devices/auths`, {\n params,\n success: (response) => {\n if (response.count) {\n setAuths(response);\n }\n },\n });\n }\n\n return (\n
\n setViewAuth(device)}\n onSelect={(device) => setViewAuth(device)}\n />\n {viewAuth && (\n setViewAuth(null)}\n />\n )}\n
\n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h4.05l1.83-2h4.24l1.83 2H20v12zM12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0 8c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z\"\n}), 'CameraAltOutlined');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\n}), 'OpenInNewOutlined');","import React, { useContext } from 'react';\nimport moment from 'moment';\nimport { AppContext } from '../all';\n\n/**\n *\tLabel weekday list\n *\t==================\n *\n * Renders all weekdays as localized letters, with a darker color for those passed in the weekdays prop.\n * For ex. passing [1, 3, 4] will yield (in spanish) L M X J V S D, with L, X and J in black and the rest in gray.\n *\n * Props\n * \t\t* integer[] weekdays\n */\nexport function SttLabelWeekdays({ weekdays = [] }) {\n const cxt = useContext(AppContext);\n\n // Render\n return (\n
\n {weekdays.length === 7\n ? cxt.t('Everyday')\n : [1, 2, 3, 4, 5, 6, 0].map((wd) => (\n {` ${cxt.t(`weekday.${wd}.letter`)}`}\n ))}\n
\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport {\n Box,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n} from '@material-ui/core';\nimport Grid from '@material-ui/core/Grid';\nimport AddIcon from '@material-ui/icons/Add';\nimport IconButton from '@material-ui/core/IconButton';\nimport LocalOfferIcon from '@material-ui/icons/LocalOffer';\nimport Typography from '@material-ui/core/Typography';\nimport { SttLabelWeekdays } from '../labels/SttLabelWeekdays';\nimport { SttList } from './SttList';\nimport { AppContext } from '../AppContext';\nimport { useCrud } from '../../lib/hooks';\nimport { SttFormText } from '../forms/SttFormText';\nimport { SttButton } from '../buttons/SttButton';\n\nexport default function SttTagsList({ activity }) {\n const cxt = useContext(AppContext);\n\n const [openAddingTag, setOpenAddingTag] = useState(false);\n const [, , , Get, Post, Put, Delete] = useCrud();\n const [scTags, setScTags] = useState();\n const [tags, setTags] = useState();\n const [newTag, setNewTag] = useState('');\n\n const getSportCenterTags = () => {\n if (cxt.sc?.id)\n Get(`/scs/${cxt.sc.id}/tags`).then((response) =>\n setScTags(response),\n );\n };\n\n const addSportCenterTag = () => {\n if (cxt.sc?.id)\n Post(`/scs/tags`, { name: newTag, description: newTag }).then(\n (response) => {\n getSportCenterTags();\n },\n );\n };\n\n const getActivityTags = () => {\n if (cxt.sc?.id && activity)\n Get(`/activities/${activity.id}`, { trash: true }).then(\n (response) => setTags(response?.activity?.tags),\n );\n };\n\n const addActivityTag = (tagId) => {\n Post(`/scs/activities/${activity.id}/tags/${tagId}`).then(\n (response) => {\n getActivityTags();\n },\n );\n };\n\n const deleteActivityTag = (tagId) => {\n Delete(`/scs/activities/${activity.id}/tags/${tagId}`).then(\n (response) => {\n getActivityTags();\n },\n );\n };\n\n useEffect(() => {\n if (openAddingTag) getSportCenterTags();\n }, [openAddingTag]);\n\n useEffect(() => {\n setTags(activity?.tags);\n }, [activity]);\n\n return (\n <>\n setOpenAddingTag(true)}\n onDelete={(tag) => deleteActivityTag(tag.id)}\n // onSelect={slot => console.log(`Selecciono slot: ${JSON.stringify(slot)}`)}\n data={tags?.map((tag) => ({\n caption: (\n \n {tag.name}\n \n ),\n objToSelect: tag,\n }))}\n />\n\n setOpenAddingTag(false)}\n open={openAddingTag}\n >\n {cxt.t('Tags')}\n \n \n \n setNewTag(tag.value)}\n />\n \n\n \n addSportCenterTag()}\n >\n \n \n \n \n \n {scTags &&\n scTags.rows.map((scTag, idx) => (\n addActivityTag(scTag.id)}\n >\n \n \n \n \n \n ))}\n \n \n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport {\n CameraAltOutlined,\n CheckCircleOutline,\n OpenInNewOutlined,\n} from '@material-ui/icons';\nimport moment from 'moment';\nimport { useHistory } from 'react-router-dom';\nimport {\n AppContext,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttSportSelector,\n SttFormTime,\n SttFormPeriod,\n SttFormCheck,\n SttButtonSave,\n SttButtonDelete,\n SttButton,\n SttLabelForm,\n SttButtonRecover,\n} from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport AttendancesDialog from './AttendancesDialog';\nimport { useCrud } from '../../../lib/hooks';\nimport SttTagsList from '../../../sporttia/lists/SttTagsList';\nimport { getObjectDiff } from '../../../lib/utils';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function ActivityDetails({\n item,\n teachers = [],\n onSave,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const [activity, setActivity, setProperty, , Post, Put, Delete] =\n useCrud(item);\n const [currentActivityState, setCurrentActivityState] = useState(activity);\n const [dialog, setDialog] = useState(false);\n const [saveLoading, setSaveLoading] = useState(false);\n const [deleteLoading, setDeleteLoading] = useState(false);\n\n const history = useHistory();\n function setInscDate(name, date) {\n if (!moment(date).isValid()) {\n return;\n }\n\n const current = moment(activity[name]);\n\n setProperty({\n name,\n value: `${moment(date).format('YYYY-MM-DD')} ${current.format(\n 'HH:mm:ss',\n )}`,\n });\n }\n\n function setInscTime(name, time) {\n const current = moment(activity[name]);\n\n setProperty({ name, value: `${current.format('YYYY-MM-DD')} ${time}` });\n }\n\n function setSport(sport) {\n setProperty({\n name: 'sport',\n value: { id: sport.id, name: sport.name },\n });\n }\n\n function setTeacher(teacherId) {\n if (!teacherId) {\n setProperty({\n name: 'teacher',\n value: {\n id: null,\n },\n });\n } else {\n const teacher = teachers.find((t) => t.id === teacherId);\n\n setProperty({\n name: 'teacher',\n value: { id: teacher.id, name: teacher.name },\n });\n }\n }\n\n function saveActivity() {\n setSaveLoading(true);\n\n if (activity.id) {\n const updatedActivityFields = getObjectDiff(\n activity,\n currentActivityState,\n );\n\n Put(`/activities/${activity.id}`, {\n name: updatedActivityFields.name,\n description: updatedActivityFields.description,\n status: updatedActivityFields.status,\n type: updatedActivityFields.type,\n idSport: updatedActivityFields.sport?.id,\n idTeacher: updatedActivityFields.teacher?.id,\n maxStudents: updatedActivityFields.maxStudents,\n inscIni: updatedActivityFields.inscIni,\n inscEnd: updatedActivityFields.inscEnd,\n ini: updatedActivityFields.ini,\n end: updatedActivityFields.end,\n showSignedUsers: updatedActivityFields.showSignedUsers,\n minAge: updatedActivityFields.minAge,\n maxAge: updatedActivityFields.maxAge,\n })\n .then((response) => {\n if (response.activity) {\n setActivity(response.activity);\n setCurrentActivityState(response?.activity);\n\n onSave(response.activity);\n }\n setSaveLoading(false);\n })\n .catch(() => {\n setActivity(currentActivityState);\n setSaveLoading(false);\n })\n .finally(() => {\n setSaveLoading(false);\n });\n } else {\n const newActivity = {\n name: activity.name,\n description: activity.description,\n status: activity.status,\n type: activity.type,\n idSport: activity.sport ? activity.sport.id : null,\n maxStudents: activity.maxStudents,\n inscIni: activity.inscIni,\n inscEnd: activity.inscEnd,\n ini: activity.ini,\n end: activity.end,\n showSignedUsers: activity.showSignedUsers,\n minAge: activity.minAge,\n maxAge: activity.maxAge,\n };\n\n if (activity?.teacher) {\n newActivity.idTeacher = activity.teacher.id;\n }\n\n Post(`/activities`, newActivity)\n .then((response) => {\n if (response.activity) {\n setActivity(response.activity);\n onSave(response.activity);\n }\n setSaveLoading(false);\n })\n .catch(() => {\n setSaveLoading(false);\n })\n .finally(() => {\n setSaveLoading(false);\n });\n }\n }\n\n function deleteActivity() {\n setDeleteLoading(true);\n Delete(`/activities/${activity.id}`)\n .then((response) => {\n if (response.activity) {\n setActivity({ ...activity, trash: true });\n onDelete(response.activity);\n }\n setDeleteLoading(false);\n })\n .catch(() => {\n setDeleteLoading(false);\n })\n .finally(() => {\n setDeleteLoading(false);\n });\n }\n\n function duplicate() {\n Post(`/activities/${activity.id}/duplicate`)\n .then((response) => {\n if (response.activity) {\n setActivity(response.activity);\n onSave(response.activity);\n }\n })\n .catch(() => {})\n .finally(() => {});\n }\n\n function recoverActivity() {\n Put(`/activities/${activity.id}/recover`).then((response) => {\n if (response.activity) {\n setActivity(response.activity);\n onSave(response.activity);\n }\n });\n }\n\n return (\n \n \n \n \n \n setSport(sport)}\n />\n \n \n \n \n \n \n \n \n \n \n\n {/* --- Description --- */}\n \n \n \n\n \n ({\n caption: teacher.fullName,\n value: teacher.id,\n }))}\n onChange={({ value }) => setTeacher(value)}\n cleanable\n />\n \n \n \n \n \n setInscDate(name, value)}\n />\n \n \n setInscTime(name, value)}\n />\n \n \n setInscDate(name, value)}\n />\n \n \n setInscTime(name, value)}\n timeRangeOptions={{ includeMaxTime: true }}\n />\n \n \n \n \n\n \n \n \n {/* Desactivado componente hasta que se realicen los endpoints correspondientes. */}\n {activity.id && (\n \n \n \n )}\n {!!activity.id && !activity.trash && (\n <>\n \n }\n onClick={duplicate}\n />\n \n \n }\n onClick={() => setDialog(true)}\n />\n \n \n }\n onClick={() =>\n history.push(\n getPath('activityPublic', { id: item.id }),\n )\n }\n />\n \n \n )}\n \n \n {!activity.trash && (\n \n \n \n )}\n {!!activity.id && !activity.trash && (\n \n \n \n )}\n {!!activity.trash && (\n \n \n \n )}\n \n \n setDialog(false)}\n />\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttFormCheck,\n SttFormText,\n SttFormTextarea,\n SttFormTime,\n} from '../../../sporttia/all';\nimport { useCrud } from '../../../lib/hooks';\n\n// TODO: Convertir este componente en el auténtico SttFileDialog\nexport default function ModalFile({\n item,\n onSave,\n onDelete,\n onDownload,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const [file, setFile, setProperty] = useCrud(item);\n const [strippedName, setStrippedName] = useState();\n const [extension, setExtension] = useState();\n\n // On component load, separate file name and extension\n useEffect(() => {\n const parts = item.name.split('.');\n setExtension(parts[parts.length - 1]);\n setStrippedName(\n parts.reduce(\n (res, part, index) =>\n res +\n (index > 0 && index < parts.length - 1 ? `.${part}` : ''),\n parts[0],\n ),\n );\n }, []);\n\n // Idiot-proof file extension handling\n function setFileName(value) {\n setStrippedName(value);\n setProperty({ name: 'name', value: `${value}.${extension}` });\n }\n\n return (\n \n \n \n setFileName(value)\n }\n />\n \n \n \n \n \n \n \n \n \n \n \n }\n buttons={[\n {\n type: 'download',\n onClick: () => onDownload(file),\n },\n {\n type: 'delete',\n onClick: () => onDelete(file),\n },\n {\n type: 'save',\n onClick: () => onSave(file),\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext, useRef } from 'react';\nimport { AttachFile, Check } from '@material-ui/icons';\nimport { Box } from '@material-ui/core';\nimport {\n AppContext,\n SttButton,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\nimport { useCrud, useInteractionsFiles } from '../../../lib/hooks';\nimport ModalFile from '../events/ModalFile';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function ActivityDocuments({ activity }) {\n const cxt = useContext(AppContext);\n const { uploadFile, downloadFile } = useInteractionsFiles();\n const inputFile = useRef(null);\n const [uploading, setUploading] = useState(false);\n const [_activity, setActivity] = useState(activity);\n const [files, setFiles, , Get, Post, Put, Delete] = useCrud();\n const [file, setFile] = useState();\n const [forceUpdate, setforceUpdate] = useState(false);\n\n function loadFiles() {\n Get(`/activities/${_activity.id}/files`)\n .then((response) => {\n if (response.rows) {\n setFiles(response);\n }\n })\n .catch(console.log);\n }\n\n function openSelectFile() {\n inputFile.current.click();\n }\n\n function onFileSelected(files) {\n if (files) {\n const signatureType = '';\n const file = files[0];\n\n setUploading(true);\n\n uploadFile(\n {\n name: file.name,\n type: 'ACTIVITY_DOC',\n idActivity: _activity.id,\n },\n file,\n )\n .then(() => {\n setUploading(false);\n cxt.showMessage('S', cxt.t('Uploaded'));\n loadFiles();\n })\n .catch(console.log);\n }\n }\n\n function saveFile(file) {\n const { name, description } = file;\n const isPublic = file.public;\n\n Put(`/files/${file.id}`, { name, description, public: isPublic })\n .then((response) => {\n if (response.file) {\n setFiles({\n ...files,\n rows: files.rows.map((f) =>\n f.id === file.id ? response.file : f,\n ),\n });\n setFile(null);\n }\n })\n .catch(console.log);\n }\n\n function deleteFile(file) {\n Delete(`/files/${file.id}`).then((response) => {\n setFiles({\n count: files.count - 1,\n rows: files.rows.filter((f) => f.id !== file.id),\n });\n setFile(null);\n });\n }\n\n function downloadFiles(file) {\n const parts = file.name.split('.');\n const extension = parts[parts.length - 1];\n\n if (file.hasOwnProperty('url') && file.url != '') {\n downloadFile(file.url, file.format, {}, file.name);\n } else if (extension in ['jpg', 'jpeg', 'png']) {\n downloadFile(\n `/images/${file.id}.${extension}`,\n file.format,\n {},\n file.name,\n );\n } else {\n downloadFile(\n `/files/${file.id}.${extension}`,\n file.format,\n {},\n file.name,\n );\n }\n }\n\n function setPoster(file) {\n Put(`/activities/${_activity.id}`, { idPoster: file.id })\n .then((response) => {\n if (response.activity) {\n setActivity(response.activity);\n setforceUpdate(!forceUpdate);\n }\n })\n .catch(console.log);\n }\n\n return (\n <>\n onFileSelected(_event.target.files)}\n />\n }\n onClick={openSelectFile}\n />\n ),\n }}\n />\n \n new DateBuilder(\n row?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy(),\n },\n {\n title: cxt.t('Name'),\n type: 'link',\n field: 'name',\n onClick: (row) => setFile(row),\n align: 'left',\n },\n {\n align: 'right',\n value: (row) => {\n if (\n _activity.poster &&\n _activity.poster.id === row.id\n ) {\n return (\n \n \n {cxt.t('pages.events.poster')}\n \n \n \n );\n }\n return (\n setPoster(row)}>\n {cxt.t('pages.events.selectPoster')}\n \n );\n },\n },\n ]}\n />\n {file && (\n setFile(null)}\n item={file}\n onSave={saveFile}\n onDelete={deleteFile}\n onDownload={downloadFiles}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper, Box } from '@material-ui/core';\nimport moment from 'moment';\nimport { AppContext, SttFullDialog, SttTabs } from '../../../sporttia/all';\nimport ActivityRates from './ActivityRates';\nimport ActivityClasses from './ActivityClasses';\nimport ActivityStudents from './ActivityStudents';\nimport ActivityForm from './ActivityForm';\nimport ActivityDevices from './ActivityDevices';\nimport ActivityDetails from './ActivityDetails';\nimport { useCrud } from '../../../lib/hooks';\nimport ActivityDocuments from './ActivityDocuments';\n\nexport default function Activity({ id, trash, onChange, onClose }) {\n const cxt = useContext(AppContext);\n const [activity, setActivity, , Get] = useCrud();\n const [teachers, setTeachers] = useState([]);\n\n function loadTeachers() {\n return Get(`/scs/${cxt.sc.id}/teachers`, { page: 1, rows: 1000 }).then(\n (response) => {\n if (response.rows) {\n setTeachers(response.rows);\n }\n },\n );\n }\n\n function loadActivity() {\n return Get(`/activities/${id}`, { trash }).then((response) => {\n if (response.activity) {\n setActivity(response.activity);\n }\n });\n }\n\n function loadRates(idActivity) {\n const idParam = activity.id || idActivity || id;\n cxt.api('GET', `/activities/${idParam}/rates`, {\n success: (response) => {\n if (response.activityRates) {\n setActivity({\n ...activity,\n rates: response.activityRates,\n });\n }\n },\n });\n }\n\n useEffect(() => {\n loadTeachers();\n // load\n if (!Number.isNaN(parseInt(id))) {\n Promise.all([loadActivity()]).finally(() => {});\n }\n // creating\n else if (id === 'create') {\n setActivity({\n name: '',\n description: '',\n status: null,\n type: null,\n idSport: null,\n idTeacher: null,\n maxStudents: 0,\n inscIni: moment().format('YYYY-MM-DD 07:00:00'),\n inscEnd: moment().format('YYYY-12-31 23:59:59'),\n ini: moment().format('YYYY-MM-DD 00:00:00'),\n end: moment().format('YYYY-12-31 23:59:59'),\n });\n }\n // offload\n else {\n setActivity(null);\n setTeachers([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n useEffect(() => {\n if (activity && activity.id && !activity.rates) {\n loadRates(activity.id);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activity]);\n\n if (!activity) {\n return null;\n }\n\n // Tabs\n const tabs = [\n {\n caption: cxt.t('Detail'),\n component: (\n {\n setActivity(activityToSave);\n onChange(activityToSave);\n }}\n onDelete={(activityToDelete) => {\n onChange(activityToDelete);\n onClose();\n }}\n />\n ),\n },\n {\n show: !!activity.id,\n caption: cxt.t('Rates'),\n component: ,\n },\n {\n show: !!activity.id,\n caption: cxt.t('Classes'),\n component: ,\n },\n {\n show: !!activity.id,\n caption: cxt.t('Students'),\n component: (\n {\n onChange();\n }}\n onPayment={() => {\n onChange();\n }}\n onGenerateFee={() => {\n onChange();\n }}\n />\n ),\n },\n {\n show: !!activity.id,\n caption: cxt.t('Form'),\n component: ,\n },\n {\n show: !!activity.id,\n caption: cxt.t('Devices'),\n component: ,\n },\n {\n show: !!activity.id,\n caption: cxt.t('Documents'),\n component: ,\n },\n ];\n\n return (\n \n \n \n \n \n \n \n );\n}\n","// Source from https://github.com/alitaheri/normalize-scroll-left\nvar cachedType;\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default | 0 | 100 | 100\n * negative (spec*) | -100 | 0 | 0\n * reverse | 100 | 0 | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE 11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\n\nexport function detectScrollType() {\n if (cachedType) {\n return cachedType;\n }\n\n var dummy = document.createElement('div');\n var container = document.createElement('div');\n container.style.width = '10px';\n container.style.height = '1px';\n dummy.appendChild(container);\n dummy.dir = 'rtl';\n dummy.style.fontSize = '14px';\n dummy.style.width = '4px';\n dummy.style.height = '1px';\n dummy.style.position = 'absolute';\n dummy.style.top = '-1000px';\n dummy.style.overflow = 'scroll';\n document.body.appendChild(dummy);\n cachedType = 'reverse';\n\n if (dummy.scrollLeft > 0) {\n cachedType = 'default';\n } else {\n dummy.scrollLeft = 1;\n\n if (dummy.scrollLeft === 0) {\n cachedType = 'negative';\n }\n }\n\n document.body.removeChild(dummy);\n return cachedType;\n} // Based on https://stackoverflow.com/a/24394376\n\nexport function getNormalizedScrollLeft(element, direction) {\n var scrollLeft = element.scrollLeft; // Perform the calculations only when direction is rtl to avoid messing up the ltr bahavior\n\n if (direction !== 'rtl') {\n return scrollLeft;\n }\n\n var type = detectScrollType();\n\n switch (type) {\n case 'negative':\n return element.scrollWidth - element.clientWidth + scrollLeft;\n\n case 'reverse':\n return element.scrollWidth - element.clientWidth - scrollLeft;\n\n default:\n return scrollLeft;\n }\n}","function easeInOutSin(time) {\n return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\n\nexport default function animate(property, element, to) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var cb = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {};\n var _options$ease = options.ease,\n ease = _options$ease === void 0 ? easeInOutSin : _options$ease,\n _options$duration = options.duration,\n duration = _options$duration === void 0 ? 300 : _options$duration;\n var start = null;\n var from = element[property];\n var cancelled = false;\n\n var cancel = function cancel() {\n cancelled = true;\n };\n\n var step = function step(timestamp) {\n if (cancelled) {\n cb(new Error('Animation cancelled'));\n return;\n }\n\n if (start === null) {\n start = timestamp;\n }\n\n var time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n\n if (time >= 1) {\n requestAnimationFrame(function () {\n cb(null);\n });\n return;\n }\n\n requestAnimationFrame(step);\n };\n\n if (from === to) {\n cb(new Error('Element already at target position'));\n return cancel;\n }\n\n requestAnimationFrame(step);\n return cancel;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nvar styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\n\nexport default function ScrollbarSize(props) {\n var onChange = props.onChange,\n other = _objectWithoutProperties(props, [\"onChange\"]);\n\n var scrollbarHeight = React.useRef();\n var nodeRef = React.useRef(null);\n\n var setMeasurements = function setMeasurements() {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n\n React.useEffect(function () {\n var handleResize = debounce(function () {\n var prevHeight = scrollbarHeight.current;\n setMeasurements();\n\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n window.addEventListener('resize', handleResize);\n return function () {\n handleResize.clear();\n window.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(function () {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n style: styles,\n ref: nodeRef\n }, other));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n root: {\n position: 'absolute',\n height: 2,\n bottom: 0,\n width: '100%',\n transition: theme.transitions.create()\n },\n colorPrimary: {\n backgroundColor: theme.palette.primary.main\n },\n colorSecondary: {\n backgroundColor: theme.palette.secondary.main\n },\n vertical: {\n height: '100%',\n width: 2,\n right: 0\n }\n };\n};\n/**\n * @ignore - internal component.\n */\n\nvar TabIndicator = /*#__PURE__*/React.forwardRef(function TabIndicator(props, ref) {\n var classes = props.classes,\n className = props.className,\n color = props.color,\n orientation = props.orientation,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"color\", \"orientation\"]);\n\n return /*#__PURE__*/React.createElement(\"span\", _extends({\n className: clsx(classes.root, classes[\"color\".concat(capitalize(color))], className, orientation === 'vertical' && classes.vertical),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabIndicator.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n * The color of the tab indicator.\n */\n color: PropTypes.oneOf(['primary', 'secondary']).isRequired,\n\n /**\n * The tabs orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired\n} : void 0;\nexport default withStyles(styles, {\n name: 'PrivateTabIndicator'\n})(TabIndicator);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/* eslint-disable jsx-a11y/aria-role */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n width: 40,\n flexShrink: 0,\n opacity: 0.8,\n '&$disabled': {\n opacity: 0\n }\n },\n\n /* Styles applied to the root element if `orientation=\"vertical\"`. */\n vertical: {\n width: '100%',\n height: 40,\n '& svg': {\n transform: 'rotate(90deg)'\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {}\n};\n\nvar _ref = /*#__PURE__*/React.createElement(KeyboardArrowLeft, {\n fontSize: \"small\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(KeyboardArrowRight, {\n fontSize: \"small\"\n});\n\nvar TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(props, ref) {\n var classes = props.classes,\n classNameProp = props.className,\n direction = props.direction,\n orientation = props.orientation,\n disabled = props.disabled,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"direction\", \"orientation\", \"disabled\"]);\n\n return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n component: \"div\",\n className: clsx(classes.root, classNameProp, disabled && classes.disabled, orientation === 'vertical' && classes.vertical),\n ref: ref,\n role: null,\n tabIndex: null\n }, other), direction === 'left' ? _ref : _ref2);\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Which direction should the button indicate?\n */\n direction: PropTypes.oneOf(['left', 'right']).isRequired,\n\n /**\n * If `true`, the element will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * The tabs orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTabScrollButton'\n})(TabScrollButton);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport debounce from '../utils/debounce';\nimport ownerWindow from '../utils/ownerWindow';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport withStyles from '../styles/withStyles';\nimport TabIndicator from './TabIndicator';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport useTheme from '../styles/useTheme';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden',\n minHeight: 48,\n WebkitOverflowScrolling: 'touch',\n // Add iOS momentum scrolling.\n display: 'flex'\n },\n\n /* Styles applied to the root element if `orientation=\"vertical\"`. */\n vertical: {\n flexDirection: 'column'\n },\n\n /* Styles applied to the flex container element. */\n flexContainer: {\n display: 'flex'\n },\n\n /* Styles applied to the flex container element if `orientation=\"vertical\"`. */\n flexContainerVertical: {\n flexDirection: 'column'\n },\n\n /* Styles applied to the flex container element if `centered={true}` & `!variant=\"scrollable\"`. */\n centered: {\n justifyContent: 'center'\n },\n\n /* Styles applied to the tablist element. */\n scroller: {\n position: 'relative',\n display: 'inline-block',\n flex: '1 1 auto',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the tablist element if `!variant=\"scrollable\"`\b\b\b. */\n fixed: {\n overflowX: 'hidden',\n width: '100%'\n },\n\n /* Styles applied to the tablist element if `variant=\"scrollable\"`. */\n scrollable: {\n overflowX: 'scroll',\n // Hide dimensionless scrollbar on MacOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n\n }\n },\n\n /* Styles applied to the `ScrollButtonComponent` component. */\n scrollButtons: {},\n\n /* Styles applied to the `ScrollButtonComponent` component if `scrollButtons=\"auto\"` or scrollButtons=\"desktop\"`. */\n scrollButtonsDesktop: _defineProperty({}, theme.breakpoints.down('xs'), {\n display: 'none'\n }),\n\n /* Styles applied to the `TabIndicator` component. */\n indicator: {}\n };\n};\nvar Tabs = /*#__PURE__*/React.forwardRef(function Tabs(props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledBy = props['aria-labelledby'],\n action = props.action,\n _props$centered = props.centered,\n centered = _props$centered === void 0 ? false : _props$centered,\n childrenProp = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$indicatorColor = props.indicatorColor,\n indicatorColor = _props$indicatorColor === void 0 ? 'secondary' : _props$indicatorColor,\n onChange = props.onChange,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,\n _props$ScrollButtonCo = props.ScrollButtonComponent,\n ScrollButtonComponent = _props$ScrollButtonCo === void 0 ? TabScrollButton : _props$ScrollButtonCo,\n _props$scrollButtons = props.scrollButtons,\n scrollButtons = _props$scrollButtons === void 0 ? 'auto' : _props$scrollButtons,\n selectionFollowsFocus = props.selectionFollowsFocus,\n _props$TabIndicatorPr = props.TabIndicatorProps,\n TabIndicatorProps = _props$TabIndicatorPr === void 0 ? {} : _props$TabIndicatorPr,\n TabScrollButtonProps = props.TabScrollButtonProps,\n _props$textColor = props.textColor,\n textColor = _props$textColor === void 0 ? 'inherit' : _props$textColor,\n value = props.value,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'standard' : _props$variant,\n other = _objectWithoutProperties(props, [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"classes\", \"className\", \"component\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\"]);\n\n var theme = useTheme();\n var scrollable = variant === 'scrollable';\n var isRtl = theme.direction === 'rtl';\n var vertical = orientation === 'vertical';\n var scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n var start = vertical ? 'top' : 'left';\n var end = vertical ? 'bottom' : 'right';\n var clientSize = vertical ? 'clientHeight' : 'clientWidth';\n var size = vertical ? 'height' : 'width';\n\n if (process.env.NODE_ENV !== 'production') {\n if (centered && scrollable) {\n console.error('Material-UI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n }\n }\n\n var _React$useState = React.useState(false),\n mounted = _React$useState[0],\n setMounted = _React$useState[1];\n\n var _React$useState2 = React.useState({}),\n indicatorStyle = _React$useState2[0],\n setIndicatorStyle = _React$useState2[1];\n\n var _React$useState3 = React.useState({\n start: false,\n end: false\n }),\n displayScroll = _React$useState3[0],\n setDisplayScroll = _React$useState3[1];\n\n var _React$useState4 = React.useState({\n overflow: 'hidden',\n marginBottom: null\n }),\n scrollerStyle = _React$useState4[0],\n setScrollerStyle = _React$useState4[1];\n\n var valueToIndex = new Map();\n var tabsRef = React.useRef(null);\n var tabListRef = React.useRef(null);\n\n var getTabsMeta = function getTabsMeta() {\n var tabsNode = tabsRef.current;\n var tabsMeta;\n\n if (tabsNode) {\n var rect = tabsNode.getBoundingClientRect(); // create a new object with ClientRect class props + scrollLeft\n\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, theme.direction),\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n }\n\n var tabMeta;\n\n if (tabsNode && value !== false) {\n var _children = tabListRef.current.children;\n\n if (_children.length > 0) {\n var tab = _children[valueToIndex.get(value)];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!tab) {\n console.error([\"Material-UI: The value provided to the Tabs component is invalid.\", \"None of the Tabs' children match with `\".concat(value, \"`.\"), valueToIndex.keys ? \"You can provide one of the following values: \".concat(Array.from(valueToIndex.keys()).join(', '), \".\") : null].join('\\n'));\n }\n }\n\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n }\n }\n\n return {\n tabsMeta: tabsMeta,\n tabMeta: tabMeta\n };\n };\n\n var updateIndicatorState = useEventCallback(function () {\n var _newIndicatorStyle;\n\n var _getTabsMeta = getTabsMeta(),\n tabsMeta = _getTabsMeta.tabsMeta,\n tabMeta = _getTabsMeta.tabMeta;\n\n var startValue = 0;\n\n if (tabMeta && tabsMeta) {\n if (vertical) {\n startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n } else {\n var correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n startValue = tabMeta.left - tabsMeta.left + correction;\n }\n }\n\n var newIndicatorStyle = (_newIndicatorStyle = {}, _defineProperty(_newIndicatorStyle, start, startValue), _defineProperty(_newIndicatorStyle, size, tabMeta ? tabMeta[size] : 0), _newIndicatorStyle);\n\n if (isNaN(indicatorStyle[start]) || isNaN(indicatorStyle[size])) {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n var dStart = Math.abs(indicatorStyle[start] - newIndicatorStyle[start]);\n var dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n\n var scroll = function scroll(scrollValue) {\n animate(scrollStart, tabsRef.current, scrollValue);\n };\n\n var moveTabsScroll = function moveTabsScroll(delta) {\n var scrollValue = tabsRef.current[scrollStart];\n\n if (vertical) {\n scrollValue += delta;\n } else {\n scrollValue += delta * (isRtl ? -1 : 1); // Fix for Edge\n\n scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n }\n\n scroll(scrollValue);\n };\n\n var handleStartScrollClick = function handleStartScrollClick() {\n moveTabsScroll(-tabsRef.current[clientSize]);\n };\n\n var handleEndScrollClick = function handleEndScrollClick() {\n moveTabsScroll(tabsRef.current[clientSize]);\n };\n\n var handleScrollbarSizeChange = React.useCallback(function (scrollbarHeight) {\n setScrollerStyle({\n overflow: null,\n marginBottom: -scrollbarHeight\n });\n }, []);\n\n var getConditionalElements = function getConditionalElements() {\n var conditionalElements = {};\n conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/React.createElement(ScrollbarSize, {\n className: classes.scrollable,\n onChange: handleScrollbarSizeChange\n }) : null;\n var scrollButtonsActive = displayScroll.start || displayScroll.end;\n var showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === 'desktop' || scrollButtons === 'on');\n conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/React.createElement(ScrollButtonComponent, _extends({\n orientation: orientation,\n direction: isRtl ? 'right' : 'left',\n onClick: handleStartScrollClick,\n disabled: !displayScroll.start,\n className: clsx(classes.scrollButtons, scrollButtons !== 'on' && classes.scrollButtonsDesktop)\n }, TabScrollButtonProps)) : null;\n conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/React.createElement(ScrollButtonComponent, _extends({\n orientation: orientation,\n direction: isRtl ? 'left' : 'right',\n onClick: handleEndScrollClick,\n disabled: !displayScroll.end,\n className: clsx(classes.scrollButtons, scrollButtons !== 'on' && classes.scrollButtonsDesktop)\n }, TabScrollButtonProps)) : null;\n return conditionalElements;\n };\n\n var scrollSelectedIntoView = useEventCallback(function () {\n var _getTabsMeta2 = getTabsMeta(),\n tabsMeta = _getTabsMeta2.tabsMeta,\n tabMeta = _getTabsMeta2.tabMeta;\n\n if (!tabMeta || !tabsMeta) {\n return;\n }\n\n if (tabMeta[start] < tabsMeta[start]) {\n // left side of button is out of view\n var nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n scroll(nextScrollStart);\n } else if (tabMeta[end] > tabsMeta[end]) {\n // right side of button is out of view\n var _nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n\n scroll(_nextScrollStart);\n }\n });\n var updateScrollButtonState = useEventCallback(function () {\n if (scrollable && scrollButtons !== 'off') {\n var _tabsRef$current = tabsRef.current,\n scrollTop = _tabsRef$current.scrollTop,\n scrollHeight = _tabsRef$current.scrollHeight,\n clientHeight = _tabsRef$current.clientHeight,\n scrollWidth = _tabsRef$current.scrollWidth,\n clientWidth = _tabsRef$current.clientWidth;\n var showStartScroll;\n var showEndScroll;\n\n if (vertical) {\n showStartScroll = scrollTop > 1;\n showEndScroll = scrollTop < scrollHeight - clientHeight - 1;\n } else {\n var scrollLeft = getNormalizedScrollLeft(tabsRef.current, theme.direction); // use 1 for the potential rounding error with browser zooms.\n\n showStartScroll = isRtl ? scrollLeft < scrollWidth - clientWidth - 1 : scrollLeft > 1;\n showEndScroll = !isRtl ? scrollLeft < scrollWidth - clientWidth - 1 : scrollLeft > 1;\n }\n\n if (showStartScroll !== displayScroll.start || showEndScroll !== displayScroll.end) {\n setDisplayScroll({\n start: showStartScroll,\n end: showEndScroll\n });\n }\n }\n });\n React.useEffect(function () {\n var handleResize = debounce(function () {\n updateIndicatorState();\n updateScrollButtonState();\n });\n var win = ownerWindow(tabsRef.current);\n win.addEventListener('resize', handleResize);\n return function () {\n handleResize.clear();\n win.removeEventListener('resize', handleResize);\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n var handleTabsScroll = React.useCallback(debounce(function () {\n updateScrollButtonState();\n }));\n React.useEffect(function () {\n return function () {\n handleTabsScroll.clear();\n };\n }, [handleTabsScroll]);\n React.useEffect(function () {\n setMounted(true);\n }, []);\n React.useEffect(function () {\n updateIndicatorState();\n updateScrollButtonState();\n });\n React.useEffect(function () {\n scrollSelectedIntoView();\n }, [scrollSelectedIntoView, indicatorStyle]);\n React.useImperativeHandle(action, function () {\n return {\n updateIndicator: updateIndicatorState,\n updateScrollButtons: updateScrollButtonState\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n var indicator = /*#__PURE__*/React.createElement(TabIndicator, _extends({\n className: classes.indicator,\n orientation: orientation,\n color: indicatorColor\n }, TabIndicatorProps, {\n style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n }));\n var childIndex = 0;\n var children = React.Children.map(childrenProp, function (child) {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"Material-UI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n\n var childValue = child.props.value === undefined ? childIndex : child.props.value;\n valueToIndex.set(childValue, childIndex);\n var selected = childValue === value;\n childIndex += 1;\n return /*#__PURE__*/React.cloneElement(child, {\n fullWidth: variant === 'fullWidth',\n indicator: selected && !mounted && indicator,\n selected: selected,\n selectionFollowsFocus: selectionFollowsFocus,\n onChange: onChange,\n textColor: textColor,\n value: childValue\n });\n });\n\n var handleKeyDown = function handleKeyDown(event) {\n var target = event.target; // Keyboard navigation assumes that [role=\"tab\"] are siblings\n // though we might warn in the future about nested, interactive elements\n // as a a11y violation\n\n var role = target.getAttribute('role');\n\n if (role !== 'tab') {\n return;\n }\n\n var newFocusTarget = null;\n var previousItemKey = orientation !== \"vertical\" ? 'ArrowLeft' : 'ArrowUp';\n var nextItemKey = orientation !== \"vertical\" ? 'ArrowRight' : 'ArrowDown';\n\n if (orientation !== \"vertical\" && theme.direction === 'rtl') {\n // swap previousItemKey with nextItemKey\n previousItemKey = 'ArrowRight';\n nextItemKey = 'ArrowLeft';\n }\n\n switch (event.key) {\n case previousItemKey:\n newFocusTarget = target.previousElementSibling || tabListRef.current.lastChild;\n break;\n\n case nextItemKey:\n newFocusTarget = target.nextElementSibling || tabListRef.current.firstChild;\n break;\n\n case 'Home':\n newFocusTarget = tabListRef.current.firstChild;\n break;\n\n case 'End':\n newFocusTarget = tabListRef.current.lastChild;\n break;\n\n default:\n break;\n }\n\n if (newFocusTarget !== null) {\n newFocusTarget.focus();\n event.preventDefault();\n }\n };\n\n var conditionalElements = getConditionalElements();\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, vertical && classes.vertical),\n ref: ref\n }, other), conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(classes.scroller, scrollable ? classes.scrollable : classes.fixed),\n style: scrollerStyle,\n ref: tabsRef,\n onScroll: handleTabsScroll\n }, /*#__PURE__*/React.createElement(\"div\", {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n className: clsx(classes.flexContainer, vertical && classes.flexContainerVertical, centered && !scrollable && classes.centered),\n onKeyDown: handleKeyDown,\n ref: tabListRef,\n role: \"tablist\"\n }, children), mounted && indicator), conditionalElements.scrollButtonEnd);\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: refType,\n\n /**\n * The label for the Tabs as a string.\n */\n 'aria-label': PropTypes.string,\n\n /**\n * An id or list of ids separated by a space that label the Tabs.\n */\n 'aria-labelledby': PropTypes.string,\n\n /**\n * If `true`, the tabs will be centered.\n * This property is intended for large views.\n */\n centered: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Determines the color of the indicator.\n */\n indicatorColor: PropTypes.oneOf(['primary', 'secondary']),\n\n /**\n * Callback fired when the value changes.\n *\n * @param {object} event The event source of the callback\n * @param {any} value We default to the index of the child (number)\n */\n onChange: PropTypes.func,\n\n /**\n * The tabs orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\n /**\n * The component used to render the scroll buttons.\n */\n ScrollButtonComponent: PropTypes.elementType,\n\n /**\n * Determine behavior of scroll buttons when tabs are set to scroll:\n *\n * - `auto` will only present them when not all the items are visible.\n * - `desktop` will only present them on medium and larger viewports.\n * - `on` will always present them.\n * - `off` will never present them.\n */\n scrollButtons: PropTypes.oneOf(['auto', 'desktop', 'off', 'on']),\n\n /**\n * If `true` the selected tab changes on focus. Otherwise it only\n * changes on activation.\n */\n selectionFollowsFocus: PropTypes.bool,\n\n /**\n * Props applied to the tab indicator element.\n */\n TabIndicatorProps: PropTypes.object,\n\n /**\n * Props applied to the [`TabScrollButton`](/api/tab-scroll-button/) element.\n */\n TabScrollButtonProps: PropTypes.object,\n\n /**\n * Determines the color of the `Tab`.\n */\n textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n\n /**\n * The value of the currently selected `Tab`.\n * If you don't want any selected `Tab`, you can set this property to `false`.\n */\n value: PropTypes.any,\n\n /**\n * Determines additional display behavior of the tabs:\n *\n * - `scrollable` will invoke scrolling properties and allow for horizontally\n * scrolling (or swiping) of the tab bar.\n * -`fullWidth` will make the tabs grow to use all the available space,\n * which should be used for small views, like on mobile.\n * - `standard` will render the default state.\n */\n variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTabs'\n})(Tabs);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport unsupportedProp from '../utils/unsupportedProp';\nexport var styles = function styles(theme) {\n var _extends2;\n\n return {\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.button, (_extends2 = {\n maxWidth: 264,\n minWidth: 72,\n position: 'relative',\n boxSizing: 'border-box',\n minHeight: 48,\n flexShrink: 0,\n padding: '6px 12px'\n }, _defineProperty(_extends2, theme.breakpoints.up('sm'), {\n padding: '6px 24px'\n }), _defineProperty(_extends2, \"overflow\", 'hidden'), _defineProperty(_extends2, \"whiteSpace\", 'normal'), _defineProperty(_extends2, \"textAlign\", 'center'), _defineProperty(_extends2, theme.breakpoints.up('sm'), {\n minWidth: 160\n }), _extends2)),\n\n /* Styles applied to the root element if both `icon` and `label` are provided. */\n labelIcon: {\n minHeight: 72,\n paddingTop: 9,\n '& $wrapper > *:first-child': {\n marginBottom: 6\n }\n },\n\n /* Styles applied to the root element if the parent [`Tabs`](/api/tabs/) has `textColor=\"inherit\"`. */\n textColorInherit: {\n color: 'inherit',\n opacity: 0.7,\n '&$selected': {\n opacity: 1\n },\n '&$disabled': {\n opacity: 0.5\n }\n },\n\n /* Styles applied to the root element if the parent [`Tabs`](/api/tabs/) has `textColor=\"primary\"`. */\n textColorPrimary: {\n color: theme.palette.text.secondary,\n '&$selected': {\n color: theme.palette.primary.main\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n },\n\n /* Styles applied to the root element if the parent [`Tabs`](/api/tabs/) has `textColor=\"secondary\"`. */\n textColorSecondary: {\n color: theme.palette.text.secondary,\n '&$selected': {\n color: theme.palette.secondary.main\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n },\n\n /* Pseudo-class applied to the root element if `selected={true}` (controlled by the Tabs component). */\n selected: {},\n\n /* Pseudo-class applied to the root element if `disabled={true}` (controlled by the Tabs component). */\n disabled: {},\n\n /* Styles applied to the root element if `fullWidth={true}` (controlled by the Tabs component). */\n fullWidth: {\n flexShrink: 1,\n flexGrow: 1,\n flexBasis: 0,\n maxWidth: 'none'\n },\n\n /* Styles applied to the root element if `wrapped={true}`. */\n wrapped: {\n fontSize: theme.typography.pxToRem(12),\n lineHeight: 1.5\n },\n\n /* Styles applied to the `icon` and `label`'s wrapper element. */\n wrapper: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n flexDirection: 'column'\n }\n };\n};\nvar Tab = /*#__PURE__*/React.forwardRef(function Tab(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n fullWidth = props.fullWidth,\n icon = props.icon,\n indicator = props.indicator,\n label = props.label,\n onChange = props.onChange,\n onClick = props.onClick,\n onFocus = props.onFocus,\n selected = props.selected,\n selectionFollowsFocus = props.selectionFollowsFocus,\n _props$textColor = props.textColor,\n textColor = _props$textColor === void 0 ? 'inherit' : _props$textColor,\n value = props.value,\n _props$wrapped = props.wrapped,\n wrapped = _props$wrapped === void 0 ? false : _props$wrapped,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"]);\n\n var handleClick = function handleClick(event) {\n if (onChange) {\n onChange(event, value);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var handleFocus = function handleFocus(event) {\n if (selectionFollowsFocus && !selected && onChange) {\n onChange(event, value);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n focusRipple: !disableFocusRipple,\n className: clsx(classes.root, classes[\"textColor\".concat(capitalize(textColor))], className, disabled && classes.disabled, selected && classes.selected, label && icon && classes.labelIcon, fullWidth && classes.fullWidth, wrapped && classes.wrapped),\n ref: ref,\n role: \"tab\",\n \"aria-selected\": selected,\n disabled: disabled,\n onClick: handleClick,\n onFocus: handleFocus,\n tabIndex: selected ? 0 : -1\n }, other), /*#__PURE__*/React.createElement(\"span\", {\n className: classes.wrapper\n }, icon, label), indicator);\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes = {\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the tab will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * @ignore\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The icon element.\n */\n icon: PropTypes.node,\n\n /**\n * @ignore\n * For server-side rendering consideration, we let the selected tab\n * render the indicator.\n */\n indicator: PropTypes.node,\n\n /**\n * The label element.\n */\n label: PropTypes.node,\n\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * @ignore\n */\n selectionFollowsFocus: PropTypes.bool,\n\n /**\n * @ignore\n */\n textColor: PropTypes.oneOf(['secondary', 'primary', 'inherit']),\n\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any,\n\n /**\n * Tab labels appear in a single row.\n * They can use a second line if needed.\n */\n wrapped: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTab'\n})(Tab);","import React, { useState, Fragment, ReactNode } from 'react';\nimport { Paper, Tabs, Tab } from '@material-ui/core';\nimport { makeStyles, Theme } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme: Theme) => ({\n tab: {\n maxWidth: (props: { maxWidth: number | string }) => props.maxWidth,\n minWidth: 120,\n '&:focus': {\n outline: 'none',\n },\n },\n fullTab: {\n flex: 1,\n minWidth: 120,\n maxWidth: 'none',\n '&:focus': {\n outline: 'none',\n },\n },\n tabContent: {\n marginBottom: theme.spacing(3),\n padding: theme.spacing(3),\n },\n}));\n\ntype TabList = {\n caption: string;\n component: ReactNode;\n show?: boolean;\n icon?: JSX.Element;\n};\n\ntype SttTabsProps = {\n tabs: TabList[];\n fullWidth?: boolean;\n grow?: boolean;\n};\n\n/**\n *\tEl contenido de las pestañas se cargan cuando se muestra la primera vez, una vez cargada ya no se vuelve a cargar.\n */\nexport function SttTabs({ tabs, fullWidth, grow }: SttTabsProps) {\n const classes = useStyles({\n maxWidth: grow ? 'auto' : 180,\n });\n const [currTabIndex, setCurrTabIndex] = useState(0);\n const [loadedTabIndexes, setLoadedTabIndexes] = useState([0]);\n\n const handleSelectTab = (tabIndex: number) => {\n setCurrTabIndex(tabIndex);\n\n if (!loadedTabIndexes.includes(tabIndex)) {\n setLoadedTabIndexes([...loadedTabIndexes, tabIndex]);\n }\n };\n\n return (\n <>\n handleSelectTab(Number(val))}\n variant=\"scrollable\"\n scrollButtons=\"auto\"\n >\n {tabs\n ?.filter((tab) => tab.show ?? true)\n .map((tab, i) => (\n \n ))}\n \n\n {tabs\n ?.filter((tab) => tab.show ?? true)\n .map((tab, idx) =>\n loadedTabIndexes.includes(idx) ? (\n \n {tab.component}\n \n ) : null,\n )}\n \n );\n}\n","import React, { useEffect, useContext } from 'react';\nimport { Box, Grid, Divider } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { OpenInNewOutlined } from '@material-ui/icons';\nimport { useCrud } from '../../../lib/hooks';\nimport {\n AppContext,\n SttButton,\n SttButtonCancel,\n SttButtonDelete,\n SttButtonRecover,\n SttButtonSave,\n SttFormCheck,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttFormTime,\n SttSelectSport,\n} from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\n\nexport default function EventDetails({ item, onSave, onDelete }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [event, setEvent, setProperty, , Post, Put, Delete] = useCrud(item);\n\n useEffect(() => {\n if (item) {\n setEvent(item);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n\n function saveEvent() {\n const params = {\n name: event.name,\n description: event.description,\n kind: event.kind,\n difficulty: event.difficulty,\n status: event.status,\n maxParticipants: event.maxParticipants,\n onlyCertified: event.onlyCertified,\n showParticipants: event.showParticipants,\n signupOnline: event.signupOnline,\n maxPlayers: event.maxPlayers,\n type: event.type,\n idSport: event.sport.id,\n idPoster: event?.poster?.id || null,\n inscIni: event.inscIni,\n inscEnd: event.inscEnd,\n ini: event.ini,\n end: event.end,\n paymentForms: event.paymentForms,\n };\n\n if (event.id) {\n Put(`/events/${event.id}`, params).then((response) => {\n if (response.event) {\n if (onSave && onSave.constructor === Function) {\n onSave({\n ...response.event,\n categories: event?.categories,\n });\n }\n }\n });\n } else {\n Post(`/events`, params).then((response) => {\n if (response.event) {\n if (onSave && onSave.constructor === Function) {\n onSave(response.event);\n }\n }\n });\n }\n }\n\n function deleteEvent() {\n Delete(`/events/${event.id}`).then((response) => {\n if (response.event) {\n if (onDelete && onDelete.constructor === Function) {\n onDelete(response.event);\n }\n }\n });\n }\n\n function recoverEvent() {\n Put(`/events/${event.id}/recover`).then((response) => {\n if (response.event) {\n if (onSave && onSave.constructor === Function) {\n onSave(response.event);\n }\n }\n });\n }\n\n function setDate({ name, value }) {\n const finalDate = `${moment(value).format('YYYY-MM-DD')} ${moment(\n event[name],\n ).format('HH:mm:ss')}`;\n\n setProperty({\n name,\n value: moment(finalDate).isValid()\n ? moment(finalDate)\n : moment().format('YYYY-MM-DD 23:30:00'),\n });\n }\n\n function setTime({ name, value }) {\n setProperty({\n name,\n value: moment(event[name]).format(`YYYY-MM-DD ${value}:00`),\n });\n }\n\n function togglePaymentForm(type) {\n const found =\n event.paymentForms?.find((pf) => pf === type) !== undefined;\n\n setProperty({\n name: 'paymentForms',\n value: found\n ? event.paymentForms?.filter((pf) => pf !== type)\n : [...event.paymentForms, type],\n });\n }\n\n if (!event) {\n return null;\n }\n\n const checkRowStyle = { paddingTop: 0, paddingBottom: 0 };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setProperty({ name, value: { id: value } })\n }\n />\n {/*\n\t\t\t\t\t\t setSport(sport)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t*/}\n \n \n \n \n \n \n \n \n {event.type === 'TOURNAMENT' ? (\n \n ) : (\n \n )}\n \n\n {/* INSCRIPTION DATE START-DATE, TIME -- END-DATE, TIME */}\n \n \n \n \n \n \n \n \n \n \n \n \n\n {/* INSCRIPTION DATE START-DATE, TIME -- END-DATE, TIME */}\n \n \n \n \n \n \n \n \n \n \n \n \n\n {/* CHECK BOXES */}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n pf === '') !==\n undefined\n }\n onChange={() => togglePaymentForm('')}\n disabled={!event.signupOnline}\n />\n \n \n pf === 'PURSE',\n ) !== undefined\n }\n onChange={() => togglePaymentForm('PURSE')}\n disabled={!event.signupOnline}\n />\n \n \n pf === 'TPV',\n ) !== undefined\n }\n onChange={() => togglePaymentForm('TPV')}\n disabled={!event.signupOnline}\n />\n \n \n \n \n {!event.trash && (\n \n \n \n )}\n\n {!event.id && (\n \n \n \n )}\n\n {event.id && !event.trash && (\n \n \n \n )}\n\n {event.id && !event.trash && (\n \n }\n onClick={() =>\n history.push(\n getPath('eventPublic', { id: item.id }),\n )\n }\n />\n \n )}\n\n {event.trash && (\n \n \n \n )}\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, InputAdornment } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttFormText,\n SttSelectGroup,\n} from '../../../sporttia/all';\nimport { useCrud } from '../../../lib/hooks';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function ModalCategory({\n item,\n eventName,\n teamable,\n onClose,\n onSave,\n onDelete,\n onRecover,\n}) {\n const [category, setCategory, setProperty] = useCrud(item);\n\n const cxt = useContext(AppContext);\n\n useEffect(() => {\n setCategory(item);\n }, [item]);\n\n if (!category) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n {cxt.sc?.city?.country?.currencySymbol\n ? cxt.sc?.city?.country\n ?.currencySymbol\n : '€'}\n \n ),\n }}\n />\n \n \n {teamable ? (\n \n ) : (\n \n )}\n \n \n \n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: () => onSave(category),\n },\n category.id &&\n (category.trash\n ? {\n type: 'recover',\n onClick: () => onRecover(category),\n }\n : {\n type: 'delete',\n onClick: () => onDelete(category),\n }),\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport { useCrud, useToggle } from '../../../lib/hooks';\nimport ModalCategory from './ModalCategory';\nimport { copyToClipboard, parsePrice } from '../../../lib/utils';\n\nexport default function EventCategories({ items, onChange, event }) {\n const [categories, setCategories, , Get, Post, Put, Delete] = useCrud();\n const [selectedCat, setSelectedCat] = useState();\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadCategories();\n });\n\n const cxt = useContext(AppContext);\n\n useEffect(() => {\n if (items) {\n setCategories({\n count: items.length,\n rows: items,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n function loadCategories(params = { page: 1, rows: 25 }) {\n Get(`/events/${event.id}/categories`, { ...params, trash }).then(\n (result) => {\n if (result.rows) {\n setCategories(result);\n }\n },\n );\n }\n\n function saveCategory(category) {\n const params = {\n name: category.name,\n description: category.description,\n enrollment: category.enrollment\n ? parsePrice(category.enrollment)\n : 0,\n maxParticipants: category.maxParticipants\n ? parseInt(category.maxParticipants, 10)\n : null,\n maxTeams: category.maxTeams\n ? parseInt(category.maxTeams, 10)\n : null,\n idMandatory: category?.mandatory ? category.mandatory.id : null,\n };\n\n // Put or Post depending on existing id\n if (category.id) {\n Put(`/events/categories/${category.id}`, params)\n .then((response) => {\n const cat = response.category;\n const newCategories = {\n ...categories,\n rows: categories.rows.map((c) =>\n c.id === cat.id ? cat : c,\n ),\n };\n setCategories(newCategories);\n setSelectedCat(null);\n if (onChange) {\n onChange(newCategories.rows);\n }\n })\n .catch(() => {});\n } else {\n Post(`/events/${event.id}/categories`, params)\n .then((response) => {\n const cat = response.category;\n const newCategories = {\n ...categories,\n rows: [...categories.rows, cat],\n };\n setCategories(newCategories);\n setSelectedCat(null);\n if (onChange) {\n onChange(newCategories.rows);\n }\n })\n .catch(() => {});\n }\n }\n\n function deleteCategory(category) {\n Delete(`/events/categories/${category.id}`)\n .then(() => {\n setSelectedCat(null);\n loadCategories();\n if (onChange) {\n onChange(\n categories.rows.filter((row) => row.id !== category.id),\n );\n }\n })\n .catch(() => {});\n }\n\n function recoverCategory(cat) {\n Put(`/events/categories/${cat.id}/recover`)\n .then(() => {\n const newCategories = {\n ...categories,\n rows: categories.rows.map((c) =>\n c.id === cat.id ? { ...c, trash: false } : c,\n ),\n };\n setCategories(newCategories);\n setSelectedCat(null);\n if (onChange) {\n onChange(newCategories.rows);\n }\n })\n .catch(() => {});\n }\n\n if (!categories) {\n return null;\n }\n\n return (\n <>\n \n setSelectedCat({\n category: {\n id: 0,\n },\n }),\n }}\n onToggleTrash={toggleTrash}\n pl={0}\n />\n ({ label: '#', value: row.id }),\n onClick: (row) => {\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n );\n },\n },\n {\n title: cxt.t('Name'),\n type: 'link',\n field: 'name',\n align: 'left',\n onClick: (row) => setSelectedCat(row),\n },\n {\n title: cxt.t('Enrollment'),\n type: 'price',\n field: 'enrollment',\n align: 'center',\n },\n {\n title: event.teamable\n ? cxt.t('Teams')\n : cxt.t('Participants'),\n value: (row) =>\n event.teamable\n ? `${row.numTeams} / ${row.maxTeams || '∞'}`\n : `${row.numParticipants} / ${\n row.maxParticipants || '∞'\n }`,\n },\n {\n title: cxt.t('MandatoryGroup'),\n value: (row) => row.mandatory && row.mandatory.name,\n align: 'right',\n },\n ]}\n />\n setSelectedCat(null)}\n onSave={saveCategory}\n onDelete={deleteCategory}\n onRecover={recoverCategory}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, Box, InputAdornment, Link } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttFormCheck,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttSelectPForm,\n SttSelectUser,\n SttTabs,\n} from '../../../sporttia/all';\nimport { useCrud } from '../../../lib/hooks';\nimport { fullName, generateFormField } from '../../../lib/utils';\nimport SttMshipDialog from '../../../sporttia/dialogs/SttMshipDialog';\nimport translations from '../../../translations';\n\nexport default function ModalParticipant({\n item,\n event,\n category,\n teams,\n onClose,\n onSave,\n onDelete,\n disableFieldsForParticipantWithUser = false,\n}) {\n const [participant, setParticipant, setProperty] = useCrud(item);\n const [participantCreator, setParticipantCreator] = useState({});\n const [openCreator, setOpenCreator] = useState(false);\n\n const cxt = useContext(AppContext);\n\n function handleFormFieldChange({ name, value }) {\n const { form } = participant;\n const question = form.find((q) => q.id === Number(name));\n\n form.splice(form.indexOf(question), 1, {\n ...question,\n answer: { value },\n });\n setParticipant({ ...participant, form });\n }\n\n const getCreatorData = () => {\n cxt.api('GET', `/users/${participant.creator.id}`, {\n params: {},\n success: (result) => {\n if (result.user) {\n cxt.api('GET', `/mships/${result.user.mship.id}`, {\n params: {},\n success: (response) => {\n if (response.mship) {\n setParticipantCreator(response.mship);\n }\n },\n });\n }\n },\n });\n };\n\n const participantData = (\n \n \n {participant && participant.user ? (\n {\n if (mship)\n setProperty({\n name: 'user',\n value: {\n fullName: mship.fullName,\n id: mship.user.id,\n },\n });\n else\n setProperty({\n name: 'user',\n value: {\n fullName: ' ',\n },\n });\n }}\n returnMship\n />\n ) : (\n \n )}\n {participant && participant.id && participantCreator && (\n \n {cxt.t('SignedBy')}: \n setOpenCreator(true)}>\n {fullName(participantCreator)}\n \n \n )}\n \n \n \n \n \n \n \n \n \n \n {event.teamable && teams ? (\n <>\n \n ({\n caption: team.name,\n value: team.id,\n })),\n )}\n onChange={({ value }) =>\n setProperty({\n name: 'team',\n value: {\n id: value,\n name:\n value !== '0'\n ? teams.find(\n (team) =>\n team.id === value,\n ).name\n : cxt.t('CreateNewTeam'),\n },\n })\n }\n />\n \n \n {(!participant.team || participant.team.id === '0') && (\n {\n setProperty({\n name: 'team',\n value: { id: '0', name: value },\n });\n }}\n />\n )}\n \n \n \n \n \n ) : null}\n\n {category.enrollment &&\n (!event.teamable ||\n (event.teamable &&\n participant.team &&\n parseInt(participant.team.id) === 0)) ? (\n <>\n \n \n {category.enrollmentShape?.currency}\n \n ),\n }}\n />\n \n \n \n \n \n ) : null}\n \n );\n\n const form = (\n \n {participant.form?.map((f) => (\n \n {generateFormField(\n {\n ...event.form.find((itm) => itm.id === f.id),\n answer: f.answer,\n },\n handleFormFieldChange,\n )}\n \n ))}\n \n );\n\n useEffect(() => {\n if (participant.creator) {\n getCreatorData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <>\n 0,\n component: form,\n },\n ]}\n />\n ) : (\n participantData\n )\n }\n buttons={[\n {\n type: 'save',\n onClick: () => onSave(participant),\n },\n participant.id &&\n !participant.trash && {\n type: 'delete',\n onClick: () => onDelete(participant),\n },\n {\n type: 'cancel',\n onClick: onClose,\n },\n ]}\n />\n\n {\n setOpenCreator(false);\n }}\n />\n \n );\n}\n","import { useContext } from 'react';\nimport {\n MutationFunction,\n UseMutationOptions,\n UseQueryOptions,\n useMutation,\n useQuery,\n} from 'react-query';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n GetEventTeam200,\n GetEventTeamQueryParams200,\n} from '../types/api/paths/EventTeams';\n\nconst resource = '/events';\n\n/**\n * Hook to access all 'events' resources.\n */\nexport default function useEventsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n /**\n * PUT /events/participants/:id request.\n */\n function useUpdateParticipant(\n mutationOptions?: UseMutationOptions<\n unknown,\n unknown,\n {\n participantId: number;\n params: Record;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n unknown,\n {\n participantId: number;\n params: Record;\n }\n > = ({ participantId, params }) =>\n request('PUT', `${resource}/participants/${participantId}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /events/participants/:id request.\n */\n function useDeleteParticipant(\n mutationOptions?: UseMutationOptions<\n unknown,\n unknown,\n { participantId: number }\n >,\n ) {\n const mutationFn: MutationFunction<\n unknown,\n { participantId: number }\n > = ({ participantId }) =>\n request('DELETE', `${resource}/participants/${participantId}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * POST /events/categories/:categoryId/participants request.\n */\n function useCreateEventCategoryParticipant(\n mutationOptions?: UseMutationOptions<\n unknown,\n unknown,\n {\n categoryId: number;\n params: Record;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n unknown,\n {\n categoryId: number;\n params: Record;\n }\n > = ({ categoryId, params }) =>\n request(\n 'POST',\n `${resource}/categories/${categoryId}/participants`,\n params,\n );\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n // GET events/categories/:id/teams\n\n function useGetEventTeamsByCategoryId(\n id: number,\n params?: GetEventTeamQueryParams200,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey = queryOptions?.queryKey ?? [\n `${resource}/${id}/discounts`,\n ...(params ? [params] : []),\n ];\n const queryFn = () =>\n request(\n 'GET',\n `${resource}/categories/${id}/teams`,\n params,\n );\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n return {\n useUpdateParticipant,\n useDeleteParticipant,\n useCreateEventCategoryParticipant,\n useGetEventTeamsByCategoryId,\n };\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Chip, Tooltip, Box, makeStyles, Link } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n CheckCircleOutline,\n CloudDownload,\n HighlightOff,\n} from '@material-ui/icons';\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport PersonOutlineOutlinedIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport {\n useCrud,\n useInteractionsFiles,\n useLoader,\n useToggle,\n} from '../../../lib/hooks';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport {\n composeFormData,\n formatPriceByLocale,\n fullName,\n getErrorMessage,\n} from '../../../lib/utils';\nimport ModalParticipant from './ModalParticipant';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport colors from '../../../styles/Colors';\nimport SttMshipDialog from '../../../sporttia/dialogs/SttMshipDialog';\nimport POSPaymentDialog from '../../../components/dialogs/POSPaymentDialog';\nimport POSStripePaymentDialog from '../../../components/stripe/POSStripePaymentDialog';\nimport useEventsService from '../../../services/EventsService';\nimport constants from '../../../config/constants';\n\nconst useStyles = makeStyles(() => ({\n formField: {\n marginLeft: 4,\n marginRight: 4,\n marginTop: 2,\n marginBottom: 2,\n },\n infoButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n}));\n\nexport default function EventParticipants({ event }) {\n const classes = useStyles();\n\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n\n const [participants, setParticipants, , Get] = useCrud();\n const [category, setCategory] = useState(event.categories?.[0]);\n const [participant, setParticipant] = useState(null);\n const [openMshipDialog, setOpenMshipDialog] = useState(false);\n const [selectedMshipId, setSelectedMshipId] = useState(null);\n const [filters, setFilters] = useState({\n name: '',\n });\n const [paymentId, setPaymentId] = useState(null);\n\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadParticipants();\n });\n\n // POS (datafono)\n const [posPaymentParams, setPosPaymentParams] = useState(null);\n\n useEffect(() => {\n if (event?.categories) {\n setCategory(event.categories[0]);\n }\n }, [event]);\n\n useEffect(() => {\n if (category.id) {\n // eslint-disable-next-line no-use-before-define\n loadParticipants();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [category]);\n\n function loadParticipants(params = { page: 1, rows: 25 }) {\n Get(`/events/categories/${category.id}/participants`, {\n ...params,\n ...filters,\n trash,\n }).then((result) => {\n if (result.rows) {\n setParticipants(result);\n }\n });\n }\n\n function download(mode) {\n const type = mode === 'pdf' ? 'application/pdf' : 'text/csv';\n downloadFile(\n `/events/categories/${category.id}/participants.${mode}`,\n type,\n { ...filters, trash },\n `${event.name}_${category.name}_${cxt.t('Participants')}.${mode}`,\n );\n }\n\n function updateParticipants(payment) {\n if (payment === undefined) {\n return;\n }\n\n setParticipants({\n ...participants,\n rows: participants.rows.map((row) =>\n !row.enrollment || row.enrollment?.id !== paymentId\n ? row\n : { ...row, enrollment: payment },\n ),\n });\n }\n\n const eventsService = useEventsService();\n const updateParticipantMutation = eventsService.useUpdateParticipant({\n onSuccess: (response) => {\n const { participant: participantResponse, tpv } = response;\n\n if (participantResponse) {\n setParticipant(null);\n loadParticipants();\n } else if (\n tpv?.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n // params for the POS dialog (datáfono físico)\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n sc: {\n id: tpv?.sc?.id,\n scName: tpv?.sc?.short,\n entityName: tpv?.sc?.customer?.name,\n address: tpv?.sc?.address,\n cif: tpv?.sc?.customer?.cif,\n phone: tpv?.sc?.phonePublic,\n },\n });\n }\n },\n onError: (error) => {\n setParticipant(null);\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const createEventCategoryParticipantMutation =\n eventsService.useCreateEventCategoryParticipant({\n onSuccess: (response) => {\n const { participant: participantResponse, tpv } = response;\n\n if (participantResponse) {\n setParticipant(null);\n loadParticipants();\n } else if (\n tpv?.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n // params for the POS dialog (datáfono físico)\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n sc: {\n id: tpv?.sc?.id,\n scName: tpv?.sc?.short,\n entityName: tpv?.sc?.customer?.name,\n address: tpv?.sc?.address,\n cif: tpv?.sc?.customer?.cif,\n phone: tpv?.sc?.phonePublic,\n },\n });\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const deleteParticipantMutation = eventsService.useDeleteParticipant({\n onSuccess: () => {\n setParticipant(null);\n loadParticipants();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n function saveParticipant(participantToSave) {\n const {\n name,\n mobile,\n email,\n notes,\n user,\n team,\n admin,\n paymentForm,\n form,\n } = participantToSave;\n const idTeamExists = team && team.id && team.id !== '0';\n const params = {\n name,\n mobile: mobile || undefined,\n email: email || undefined,\n notes: notes || undefined,\n idUser: user?.id,\n paymentForm:\n paymentForm || paymentForm === '' ? paymentForm : undefined,\n idTeam: idTeamExists ? team.id : null,\n teamName: team && !idTeamExists ? team.name : null,\n admin: idTeamExists ? admin : null,\n form: form ? composeFormData(form) : null,\n };\n\n delete params.team;\n delete params.user;\n delete params.category;\n\n if (participantToSave.id) {\n const putParams = {\n name: params?.name,\n email: params?.email,\n notes: params?.notes,\n mobile: params?.mobile,\n admin: params?.admin,\n form: params?.form,\n };\n\n updateParticipantMutation.mutate({\n participantId: participantToSave.id,\n params: putParams,\n });\n } else {\n createEventCategoryParticipantMutation.mutate({\n categoryId: category.id,\n params,\n });\n }\n }\n\n const [isMutationsLoading, mutationsLoader] = useLoader([\n updateParticipantMutation.status,\n createEventCategoryParticipantMutation.status,\n deleteParticipantMutation.status,\n ]);\n\n return (\n <>\n {mutationsLoader}\n\n {\n setParticipant({\n user: {\n id: 0,\n name: '',\n },\n mobile: '',\n email: '',\n notes: '',\n form: event.form ? [...event.form] : [],\n });\n },\n }}\n menu={[\n {\n caption: `${cxt.t('Download')} PDF`,\n onClick: () => download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n menuIcon={}\n fields={[\n {\n caption: cxt.t('Category'),\n name: 'category',\n type: 'select',\n value: category.id,\n options:\n event.categories &&\n event.categories.map((cat) => ({\n label: cat.name,\n value: cat.id,\n })),\n onChange: ({ value }) => {\n setCategory(\n event.categories &&\n event.categories.find(\n (cat) => cat.id === value,\n ),\n );\n },\n },\n {\n caption: cxt.t('Name'),\n name: 'name',\n type: 'text',\n value: filters.name,\n onEnterKey: loadParticipants,\n },\n ]}\n onChange={({ name, value }) =>\n setFilters({ ...filters, [name]: value })\n }\n onFilter={loadParticipants}\n onToggleTrash={toggleTrash}\n />\n \n fullName({\n ...row.user,\n name: row.name,\n surname1: row.surname1,\n surname2: row.surname2,\n displayName: row.displayName,\n }),\n onClick: (row) => setParticipant(row),\n },\n {\n title: cxt.t('SignedBy'),\n type: 'text',\n align: 'left',\n value: (row) => fullName(row.creator),\n },\n {\n title: cxt.t('Form'),\n value: (row) =>\n row.form &&\n row.form.map(\n (item) =>\n item.answer?.value && (\n \n {\n if (item.type !== 'CHECK') {\n return item.answer\n ?.value;\n }\n\n // En caso de tipo check, usar icono SI/NO (el estilo es una ñapilla para que salga centrado verticalmente)\n if (item.answer.value) {\n return (\n \n );\n }\n\n return (\n \n );\n })()}\n />\n \n ),\n ),\n },\n {\n title: cxt.t('Inscription'),\n value: (row) =>\n row.enrollment && (\n \n
\n {row.enrollment.paymentDate &&\n moment(\n row.enrollment.paymentDate,\n ).format('D MMM YYYY')}\n
\n \n {row.enrollment.paymentFormLang}\n \n {row.enrollment.status ===\n constants.payment.status.paid.name ? (\n \n setPaymentId(row.enrollment.id)\n }\n >\n {formatPriceByLocale(\n row.enrollment.price,\n cxt.sc.city.country.currency,\n )}\n \n ) : (\n \n setPaymentId(row.enrollment.id)\n }\n >\n {formatPriceByLocale(\n row.enrollment.price,\n cxt.sc.city.country.currency,\n )}\n \n )}\n\n {'refund' in row.enrollment &&\n row.enrollment.refund ? (\n \n ) : (\n ''\n )}\n \n ),\n },\n {\n title: '',\n value: (row) => (\n {\n setOpenMshipDialog(true);\n setSelectedMshipId(row.user.mship.id);\n }}\n />\n ),\n },\n ]}\n />\n\n {!isMutationsLoading && event && category && participant && (\n {\n setParticipant(participantToSave);\n saveParticipant(participantToSave);\n }}\n onClose={() => {\n setParticipant(null);\n }}\n onDelete={(participantToDelete) => {\n deleteParticipantMutation.mutate({\n participantId: participantToDelete.id,\n });\n }}\n disableFieldsForParticipantWithUser\n />\n )}\n\n {paymentId && (\n setPaymentId(null)}\n onPay={updateParticipants}\n onRefund={updateParticipants}\n onRecovered={updateParticipants}\n onDeleted={updateParticipants}\n />\n )}\n\n {\n setOpenMshipDialog(false);\n loadParticipants();\n }}\n />\n\n {cxt.sc?.sporttiaStripeLocationId && posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n setParticipant(null);\n loadParticipants();\n }}\n />\n ) : (\n setPosPaymentParams(null)}\n onSuccess={() => {\n setParticipant(null);\n loadParticipants();\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Typography,\n makeStyles,\n Tooltip,\n Chip,\n IconButton,\n Link,\n} from '@material-ui/core';\nimport moment from 'moment';\nimport {\n CheckCircleOutline,\n NavigateBefore as NavigateBeforeIcon,\n NavigateNext as NavigateNextIcon,\n} from '@material-ui/icons';\nimport { useCrud, useInteractionsFiles, useToggle } from '../../../lib/hooks';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport { formatPriceByLocale, fullName } from '../../../lib/utils';\nimport ModalParticipant from './ModalParticipant';\nimport { useParticipantFuncs } from './ParticipantFunctions';\nimport colors from '../../../styles/Colors';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport translations from '../../../translations';\n\nconst useStyles = makeStyles(() => ({\n teamName: {\n color: '#000',\n fontSize: 18,\n },\n}));\n\nconst rowsPerPage = 20;\n\nexport default function EventTeams({ event }) {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const classes = useStyles();\n\n const [teams, setTeams, , Get, , , Delete] = useCrud({\n count: 0,\n rows: [],\n });\n const [saveParticipant, deleteParticipant] = useParticipantFuncs();\n const [participant, setParticipant] = useState();\n const [category, setCategory] = useState(\n event.categories && event.categories[0],\n );\n const [page, setPage] = useState(1);\n const [filters, setFilters] = useState({\n name: '',\n });\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadTeams();\n });\n const [idPayModal, setIdPayModal] = useState(null);\n\n function loadTeams(params = { page, rows: rowsPerPage }) {\n Get(`/events/categories/${category.id}/teams`, {\n ...params,\n trash,\n }).then((result) => {\n if (result.rows) {\n setTeams(result);\n }\n });\n }\n\n useEffect(() => {\n if (category.id) {\n loadTeams({ page, rows: rowsPerPage });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [page, category]);\n\n function download(mode) {\n const type = mode === 'pdf' ? 'application/pdf' : 'text/plain';\n downloadFile(\n `/events/categories/${category.id}/participants.${mode}`,\n type,\n { page, ...filters, trash },\n `${event.name}_${category.name}_${cxt.t('Teams')}.${mode}`,\n );\n }\n\n function deleteTeam(team) {\n Delete(`/events/teams/${team.id}`).then(() => {\n const filteredTeams = teams.rows.filter((t) => t.id !== team.id);\n setTeams({\n count: filteredTeams.length,\n rows: filteredTeams,\n });\n });\n }\n\n function Pagination({ page: receivedPage, perPage, total }) {\n return (\n \n {(receivedPage - 1) * perPage + 1} -{' '}\n {receivedPage * perPage > total\n ? total\n : receivedPage * perPage}{' '}\n {cxt.t('of')} {total}\n {\n setPage(receivedPage - 1);\n }}\n >\n \n \n {\n setPage(receivedPage + 1);\n }}\n >\n \n \n \n );\n }\n\n return (\n <>\n ({\n label: cat.name,\n value: cat.id,\n })),\n onChange: ({ value }) => {\n setCategory(\n event.categories.find(\n (cat) => cat.id === value,\n ),\n );\n },\n },\n ]}\n mainAction={{\n type: 'create',\n onClick: () => {\n setParticipant({\n user: {\n id: 0,\n name: '',\n },\n team: {\n id: '0', // \"0\" instead of 0 or null or whatever because material-ui can't handle falsy values properly as options\n },\n mobile: '',\n email: '',\n notes: '',\n form: event.form ? event.form : [],\n admin: false,\n });\n },\n }}\n menu={[\n {\n caption: `${cxt.t(translations.generic.download)} PDF`,\n onClick: () => {\n download('pdf');\n },\n },\n {\n caption: `${cxt.t(translations.generic.download)} CSV`,\n onClick: () => {\n download('csv');\n },\n },\n ]}\n onChange={({ name, value }) => {\n setFilters({ ...filters, [name]: value });\n }}\n onFilter={loadTeams}\n onToggleTrash={toggleTrash}\n />\n \n {teams && (\n \n )}\n \n \n {teams.rows.map((team) => (\n \n \n \n {team.name}\n \n deleteTeam(team)}\n >\n [{cxt.t('Delete')}]\n \n \n {team.participants && (\n \n fullName({\n ...row.user,\n name: row.name,\n surname1: row.surname1,\n surname2: row.surname2,\n displayName: row.displayName,\n }),\n onClick: (row) => {\n setParticipant(row);\n },\n style: { width: 330 },\n },\n {\n title: cxt.t('SignedBy'),\n type: 'text',\n align: 'left',\n value: (row) => fullName(row.creator),\n style: { width: 120 },\n },\n {\n title: cxt.t('Admin'),\n type: 'active',\n field: 'admin',\n style: { width: 100 },\n },\n {\n title: cxt.t('Form'),\n value: (row) =>\n row.form?.map(\n (item) =>\n item.answer?.value && (\n \n {\n let label;\n\n if (\n item.type ===\n 'DATE'\n ) {\n label =\n moment(\n item\n .answer\n .value,\n ).format(\n 'DD-MM-YYYY',\n );\n } else if (\n item.type ===\n 'CHECK'\n ) {\n label =\n (\n \n );\n } else {\n label =\n item\n .answer\n .value;\n }\n\n return label;\n })()}\n />\n \n ),\n ),\n style: { width: 300 },\n },\n {\n title: cxt.t('Inscription'),\n value: (row) =>\n row.enrollment && (\n \n
\n {row.enrollment\n .paymentDate &&\n moment(\n row.enrollment\n .paymentDate,\n ).format(\n 'D MMM YYYY',\n )}\n
\n \n {\n row.enrollment\n .paymentFormLang\n }\n \n {\n setIdPayModal(\n row.enrollment\n .id,\n );\n }}\n style={{\n flex: 1,\n color:\n row.enrollment\n .status ===\n 'PAID'\n ? colors.green\n : colors.red,\n }}\n >\n {formatPriceByLocale(\n row.enrollment\n .price,\n cxt.sc.city.country\n .currency,\n )}\n \n \n ),\n },\n ]}\n />\n )}\n
\n ))}\n
\n\n {event && category && participant && (\n {\n saveParticipant(participantToSave, category.id)\n .then(() => {\n setParticipant(null);\n loadTeams();\n })\n .catch(() => {});\n }}\n onClose={() => {\n setParticipant(null);\n }}\n onDelete={(participantToDelete) => {\n deleteParticipant(participantToDelete)\n .then(() => {\n setParticipant(null);\n loadTeams();\n })\n .catch(() => {});\n }}\n />\n )}\n\n {idPayModal && (\n {\n setIdPayModal(null);\n }}\n />\n )}\n \n );\n}\n","import { useCrud } from '../../../lib/hooks';\n\nexport function useParticipantFuncs() {\n const [, , , , Post, Put, Delete] = useCrud();\n\n function composeFormData(form) {\n return form.reduce((result, field) => {\n // eslint-disable-next-line no-param-reassign\n result[field.id] = field.answer ? field.answer.value : '';\n return result;\n }, {});\n }\n\n function saveParticipant(participant, categoryId) {\n return new Promise((resolve, reject) => {\n const {\n name,\n mobile,\n email,\n notes,\n user,\n team,\n admin,\n paymentForm,\n form,\n } = participant;\n const idTeamExists = team && team.id && team.id !== '0';\n\n const params = {\n name,\n mobile,\n email,\n notes,\n idUser: user.id,\n paymentForm: paymentForm || '',\n idTeam: idTeamExists ? team.id : null,\n teamName: team && !idTeamExists ? team.name : null,\n admin: idTeamExists ? +admin : null,\n form: form ? composeFormData(form) : null,\n };\n\n delete params.team;\n delete params.user;\n delete params.category;\n\n if (participant.id) {\n Put(`/events/participants/${participant.id}`, params)\n .then(resolve)\n .catch(reject)\n .finally(() => {});\n } else {\n Post(`/events/categories/${categoryId}/participants`, params)\n .then(resolve)\n .catch(reject)\n .finally(() => {});\n }\n });\n }\n\n function deleteParticipant(participant) {\n return new Promise((resolve, reject) => {\n Delete(`/events/participants/${participant.id}`)\n .then(resolve)\n .catch(reject);\n });\n }\n\n return [saveParticipant, deleteParticipant];\n}\n","import React, { useContext } from 'react';\nimport moment from 'moment';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttFormTime,\n SttSelectFacility,\n SttSelectWeekdays,\n} from '../../../sporttia/all';\nimport { useCrud } from '../../../lib/hooks';\n\nexport default function ModalPeriod({ item, onClose, onSave, onDelete }) {\n const [period, , setProperty] = useCrud(item);\n\n const cxt = useContext(AppContext);\n\n let subtitle;\n if (item.id) {\n subtitle = `${period.name}, ${moment(period.ini).format(\n 'dddd',\n )}, ${moment(period.ini).format('D MMM YYYY')}, ${moment(\n period.ini,\n ).format('HH:mm')} - ${moment(period.end).format('HH:mm')}`;\n } else {\n subtitle = `${cxt.t('NewPeriod')}, ${period.name}`;\n }\n\n function setDate({ name, value }) {\n setProperty({\n name,\n value: `${moment(value).format('YYYY-MM-DD')} ${moment(\n period[name],\n ).format('HH:mm:ss')}`,\n });\n }\n\n function setTime({ name, value }) {\n setProperty({\n name,\n value: moment(period[name]).format(`YYYY-MM-DD ${value}:00`),\n });\n }\n\n return (\n \n \n \n \n \n \n \n \n \n setProperty({\n name: 'idFacility',\n value: facility.id,\n })\n }\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {!item.id && (\n \n \n \n )}\n \n }\n buttons={[\n {\n type: 'accept',\n onClick: () => onSave(period),\n },\n period.id && {\n type: 'delete',\n onClick: () => onDelete(period),\n },\n {\n type: 'cancel',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport moment from 'moment';\nimport { SttTopControls } from '../../../sporttia/SttTopControls';\nimport { AppContext, SttTable } from '../../../sporttia/all';\nimport { useCrud, useToggle } from '../../../lib/hooks';\nimport ModalPeriod from './ModalPeriod';\n\nexport default function EventPeriods({ event }) {\n const cxt = useContext(AppContext);\n const [periods, setPeriods, , Get, Post, Put, Delete] = useCrud();\n const [period, setPeriod] = useState();\n const [trash, toggleTrash] = useToggle(() => {\n // loadPeriods\n });\n\n function loadPeriods(params = { page: 1, rows: 25 }) {\n Get(`/events/${event.id}/periods`).then((response) => {\n if (response.rows) {\n setPeriods(response);\n }\n });\n }\n\n function savePeriod(period) {\n if (period.id) {\n const { name, notes, idFacility, status } = period;\n Put(`/events/periods/${period.id}`, {\n name,\n notes,\n idFacility,\n status,\n })\n .then((response) => {\n setPeriod(null);\n loadPeriods();\n })\n .catch(console.log);\n } else {\n const { name, notes, idFacility, status, ini, end, weekdays } =\n period;\n Post(`/events/${event.id}/periods`, {\n name,\n notes,\n idFacility,\n status,\n ini,\n end,\n weekdays,\n })\n .then((response) => {\n setPeriod(null);\n loadPeriods();\n })\n .catch(console.log);\n /*\n\t\t\tidFacility, status, notes, ini, end, weekdays, name\n\t\t\t*/\n }\n }\n\n function deletePeriod(period) {\n Delete(`/events/periods/${period.id}`)\n .then((response) => {\n setPeriod(null);\n loadPeriods();\n })\n .catch(console.log);\n }\n\n return (\n <>\n {\n setPeriod({\n name: event.name,\n ini: event.ini,\n end: event.end,\n weekdays: [],\n });\n },\n }}\n // onToggleTrash={toggleTrash}\n pl={0}\n />\n setPeriod(row),\n },\n {\n title: cxt.t('Facility'),\n type: 'facility',\n field: 'facility',\n },\n {\n title: cxt.t('Day'),\n type: 'text',\n value: (row) => moment(row.ini).format('dddd'),\n },\n {\n title: cxt.t('Date'),\n type: 'dmy',\n field: 'ini',\n },\n {\n title: cxt.t('Time'),\n type: 'hmRange',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n ]}\n />\n {period && (\n setPeriod(null)}\n onSave={savePeriod}\n onDelete={deletePeriod}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport FormQuestionDialog from '../../../components/dialogs/FormQuestionDialog';\n\n// Pestaña 'Formulario' para los eventos\nexport default function EventForm({ event, onChange }) {\n const [questions, setQuestions] = useState({ rows: [] });\n const [viewQuestion, setViewQuestion] = useState(null);\n\n const cxt = useContext(AppContext);\n\n // Si cambia el event, recargamos el form (necesario al actualizar)\n useEffect(() => {\n if (event.form) {\n setQuestions({ count: event.form.count, rows: event.form });\n }\n }, [event]);\n\n return (\n <>\n setViewQuestion({}),\n }}\n />\n setViewQuestion(row),\n },\n {\n title: cxt.t('Type'),\n type: 'text',\n field: 'typeLang',\n },\n {\n title: cxt.t('Mandatory'),\n type: 'active',\n value: (row) => !!row.mandatory,\n },\n ]}\n />\n {\n if (\n questions.rows.find((q) => q.id === question.id) ===\n undefined\n ) {\n onChange([...questions.rows, question]);\n } else {\n onChange(\n questions.rows.map((q) =>\n q.id === question.id ? question : q,\n ),\n );\n }\n }}\n onDelete={(question) => {\n onChange(\n questions.rows.filter((q) => q.id !== question.id),\n );\n }}\n onClose={() => setViewQuestion(null)}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext, useRef } from 'react';\nimport { AttachFile, Check } from '@material-ui/icons';\nimport { Box } from '@material-ui/core';\nimport {\n AppContext,\n SttButton,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\nimport { useCrud, useInteractionsFiles } from '../../../lib/hooks';\nimport ModalFile from './ModalFile';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function EventDocuments({ event }) {\n const cxt = useContext(AppContext);\n const { uploadFile, downloadFile, checkFileSignature } =\n useInteractionsFiles();\n const inputFile = useRef(null);\n const [uploading, setUploading] = useState(false);\n const [_event, setEvent] = useState(event);\n const [files, setFiles, , Get, Post, Put, Delete] = useCrud();\n const [file, setFile] = useState();\n const [forceUpdate, setforceUpdate] = useState(false);\n\n useEffect(() => {\n console.log(_event.poster);\n }, [_event]);\n\n function loadFiles() {\n Get(`/events/${_event.id}/files`)\n .then((response) => {\n if (response.rows) {\n setFiles(response);\n }\n })\n .catch(console.log);\n }\n\n function openSelectFile() {\n inputFile.current.click();\n }\n\n function onFileSelected(files) {\n if (files) {\n const fileSignature = '';\n const file = files[0];\n\n setUploading(true);\n\n uploadFile(\n {\n name: file.name,\n type: 'EVENT_DOC',\n idEvent: _event.id,\n },\n file,\n )\n .then(() => {\n setUploading(false);\n cxt.showMessage('S', cxt.t('Uploaded'));\n loadFiles();\n })\n .catch(console.log);\n }\n }\n\n function saveFile(file) {\n const { name, description } = file;\n const isPublic = file.public;\n\n Put(`/files/${file.id}`, { name, description, public: isPublic })\n .then((response) => {\n if (response.file) {\n setFiles({\n ...files,\n rows: files.rows.map((f) =>\n f.id === file.id ? response.file : f,\n ),\n });\n setFile(null);\n }\n })\n .catch(console.log);\n }\n\n function deleteFile(file) {\n Delete(`/files/${file.id}`).then((response) => {\n setFiles({\n count: files.count - 1,\n rows: files.rows.filter((f) => f.id !== file.id),\n });\n setFile(null);\n });\n }\n\n function downloadFiles(file) {\n const parts = file.name.split('.');\n const extension = parts[parts.length - 1];\n let downloadPath = '';\n\n if (extension == 'jpg' || extension == 'png' || extension == 'jpeg') {\n downloadPath = '/images/';\n } else if (extension == 'pdf') {\n downloadPath = '/files/';\n }\n\n downloadFile(\n `${downloadPath}${file.id}.${extension}`,\n file.format,\n {},\n file.name,\n );\n }\n\n function setPoster(file) {\n Put(`/events/${_event.id}`, { idPoster: file.id })\n .then((response) => {\n if (response.event) {\n setEvent(response.event);\n setforceUpdate(!forceUpdate);\n }\n })\n .catch(console.log);\n }\n\n return (\n <>\n onFileSelected(_event.target.files)}\n />\n }\n onClick={openSelectFile}\n />\n ),\n }}\n />\n \n new DateBuilder(\n r?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang.key,\n ).dmy(),\n },\n {\n title: cxt.t('Name'),\n type: 'link',\n field: 'name',\n onClick: (row) => setFile(row),\n align: 'left',\n },\n {\n align: 'right',\n value: (row) => {\n if (_event.poster && _event.poster.id === row.id) {\n return (\n \n \n {cxt.t('pages.events.poster')}\n \n \n \n );\n }\n return (\n setPoster(row)}>\n {cxt.t('pages.events.selectPoster')}\n \n );\n },\n },\n ]}\n />\n {file && (\n setFile(null)}\n item={file}\n onSave={saveFile}\n onDelete={deleteFile}\n onDownload={downloadFiles}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport moment from 'moment';\nimport ActivityDetails from '../activities/Activity';\nimport { getPath } from '../../Pages';\nimport { SttTabs } from '../../../sporttia/SttTabs';\nimport { AppContext, SttFullDialog } from '../../../sporttia/all';\nimport { useCrud } from '../../../lib/hooks';\nimport EventDetails from './EventDetails';\nimport EventCategories from './EventCategories';\nimport EventParticipants from './EventParticipants';\nimport EventTeams from './EventTeams';\nimport EventPeriods from './EventPeriods';\nimport EventForm from './EventForm';\nimport EventDocuments from './EventDocuments';\n\nexport default function Event({ id, trash, onChange, onClose }) {\n const cxt = useContext(AppContext);\n const [event, setEvent, , Get] = useCrud();\n\n useEffect(() => {\n if (!isNaN(parseInt(id))) {\n loadEvent();\n } else if (id === 'create') {\n setEvent({\n name: '',\n kind: '',\n teamable: false,\n inscIni: moment().format('YYYY-MM-DD 08:00:00'),\n inscEnd: moment().format('YYYY-MM-DD 23:30:00'),\n ini: moment().format('YYYY-MM-DD 08:00:00'),\n end: moment().format('YYYY-MM-DD 23:30:00'),\n paymentForms: [],\n sport: {\n id: 0,\n },\n });\n } else {\n setEvent(null);\n }\n }, [id]);\n\n function loadEvent() {\n Get(`/events/${id}`, { trash })\n .then((response) => {\n if (response.event) {\n setEvent(response.event);\n cxt.setHeader({\n title: response.event?.name,\n urlBack: getPath('events'),\n });\n }\n })\n .catch(console.log);\n }\n\n if (!event) {\n return null;\n }\n\n // Tabs\n const tabs = [\n {\n caption: cxt.t('Detail'),\n component: (\n {\n const _event = {\n ...newEvent,\n categories: newEvent.categories || event.categories,\n };\n setEvent(_event);\n onChange(_event);\n }} /* BUG with PUT /events: el event devuelto no contiene 'categories' */\n onDelete={(newEvent) => {\n const _event = {\n ...newEvent,\n trash: 1,\n categories: newEvent.categories || event.categories,\n };\n onChange(_event);\n onClose && onClose();\n }}\n />\n ),\n },\n {\n caption: cxt.t('Categories'),\n component: (\n {\n setEvent({ ...event, categories });\n }}\n event={event}\n />\n ),\n show: (event && event.id) || false,\n },\n {\n caption: cxt.t('Participants'),\n component: ,\n show: (event && event.id && !event.teamable) || false,\n },\n {\n caption: cxt.t('Teams'),\n component: ,\n show: (event && event.id && event.teamable) || false,\n },\n {\n caption: cxt.t('Timetables'),\n component: ,\n show: (event && event.id) || false,\n },\n {\n caption: cxt.t('Form'),\n component: (\n {\n setEvent({ ...event, form });\n onChange({ ...event, form });\n }}\n />\n ),\n show: (event && event.id) || false,\n },\n {\n caption: cxt.t('Documents'),\n component: ,\n show: (event && event.id) || false,\n },\n /* {caption: cxt.t('Rates'), component: },\n\t\t{caption: cxt.t('Classes'), component: },\n\t\t{caption: cxt.t('Students'), component: },\n\t\t{caption: cxt.t('Form'), component: },\n\t\t{caption: cxt.t('Devices'), component: }, */\n ];\n\n return (\n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { useCrud } from '../../../lib/hooks';\nimport {\n AppContext,\n SttButtonCancel,\n SttButtonDelete,\n SttButtonRecover,\n SttButtonSave,\n SttFacilityList,\n SttFormCheck,\n SttFormDate,\n SttFormPrice,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttFormTime,\n SttSelectFixedInterval,\n SttSelectGroup,\n SttSelectWeekdays,\n SttSelectInterval,\n} from '../../../sporttia/all';\nimport { parsePrice, subsetObject } from '../../../lib/utils';\n\nexport default function BonoDetails({ item, onSave, onDelete }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [bono, setBono, setProperty, Get, Post, Put, Delete] = useCrud(item);\n const [tpvEnabled, setTpvEnabled] = useState();\n\n useEffect(() => {\n setTpvEnabled(item && item.purchasePFs.includes('TPV'));\n }, [item]);\n\n /**\n * Create / update bono\n */\n function saveBono() {\n const p = subsetObject(\n bono,\n 'name,description,price,amount,type,duration,dateini,dateend,timeini,timeend,weekdays,expiration,transferable',\n );\n p.price = parsePrice(p.price);\n p.paymentForms = tpvEnabled ? ['PURSE', 'TPV'] : ['PURSE'];\n p.onlinePurchase = bono.purchaseOnline;\n\n if (bono.mandatoryGroup && bono.mandatoryGroup?.name != 'Ningún grupo')\n p.idMandatoryGroup = bono.mandatoryGroup.id;\n else p.idMandatoryGroup = null;\n\n // Fix with default expiration value for bonos, force the field to be null\n if (p.expiration == '0000-00-00 00:00:00') {\n p.expiration = null;\n }\n // Updating\n if (bono.id !== 'create') {\n Put(`/bonos/${bono.id}`, p).then(({ bono }) => {\n setBono(bono);\n onSave && onSave(bono);\n });\n // Creating\n } else {\n Post(`/scs/${cxt.sc.id}/bonos`, p).then(({ bono }) => {\n setBono(bono);\n onSave && onSave(bono);\n });\n }\n }\n\n /**\n * Delete bono\n */\n function deleteBono() {\n Delete(`/bonos/${bono.id}`).then(({ bono }) => {\n onDelete && onDelete(bono);\n });\n }\n\n /**\n * Recover bono\n */\n function recoverBono() {\n Put(`/bonos/${bono.id}/recover`, {}, true).then(() => {\n const _bono = {\n ...bono,\n trash: false,\n };\n setBono(_bono);\n onSave && onSave(_bono);\n });\n }\n\n /**\n * Add facility to a bono\n */\n function addFacility(facility) {\n Post(`/bonos/${bono.id}/facilities/${facility.id}`).then(() => {\n setBono({\n ...bono,\n facilities: bono.facilities.concat([facility]),\n });\n });\n }\n\n /**\n * Delete facility from a bono\n */\n function deleteFacility(facility) {\n Delete(`/bonos/${bono.id}/facilities/${facility.id}`).then(() => {\n setBono({\n ...bono,\n facilities: bono.facilities.filter(\n (fct) => fct.id !== facility.id,\n ),\n });\n });\n }\n\n // Turn 90 into 01:30 etc.\n function minutesToString(minutes) {\n const duration = moment.duration(minutes, 'minutes');\n const durationString = `${duration\n .hours()\n .toString()\n .padStart(2, '0')}:${duration\n .minutes()\n .toString()\n .padStart(2, '0')}`;\n return durationString;\n }\n\n if (!bono) {\n return false;\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ({\n caption: item.label,\n value: item.id,\n }),\n )}\n onChange={setProperty}\n />\n \n\n {/* --- Duration --- */}\n \n \n setProperty({ name: 'duration', value })\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 setTpvEnabled(value)\n }\n />\n
\n
\n \n
\n
\n
\n
\n \n {bono.facilities && (\n \n )}\n \n
\n\n \n \n {!bono.trash && (\n \n \n \n )}\n\n {!bono.id && (\n \n \n \n )}\n\n {bono.id && !bono.trash && (\n \n \n \n )}\n\n {bono.trash && (\n \n \n \n )}\n \n \n \n );\n}\n","import constants from '../config/constants';\nimport { PaymentForm } from '../types/payment';\n// Retorna paymentForm basandose en el valor trash del pago y teniendo en cuenta que LATER ahora es ''\nexport function getPaymentForm(payment: {\n paymentForm: PaymentForm | '';\n trash: boolean;\n}) {\n // Si existe la forma de pago y es distinto de '', retornamos\n if (payment?.paymentForm) return payment?.paymentForm;\n // Si el pago es pendiente y no esta eliminado, retornamos LATER\n if (\n payment?.paymentForm === constants.payment.pendingPaymentForm &&\n !payment.trash\n )\n return constants.payment.paymentForms.later.name;\n\n return null;\n}\n","import React, { useState, useContext } from 'react';\nimport moment from 'moment';\nimport { CloudDownload } from '@material-ui/icons';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport PersonOutlineOutlinedIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport { Link } from '@material-ui/core';\nimport SttMshipDialog from '../../../sporttia/dialogs/SttMshipDialog';\nimport { fullName } from '../../../lib/utils';\nimport BoletoDialog from '../../../components/dialogs/BoletoDialog';\nimport {\n useToggle,\n useTuples,\n useCrud,\n useInteractionsFiles,\n} from '../../../lib/hooks';\nimport {\n AppContext,\n SttTable,\n SttTopControls,\n SttLabelPayment,\n} from '../../../sporttia/all';\nimport { getPaymentForm } from '../../../lib/paymentHelper';\n\nconst useStyles = makeStyles({\n infoButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n\nexport default function BonoBoletos({ item }) {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const classes = useStyles();\n\n const [boletos, setBoletos, , Get] = useCrud();\n const [viewBoleto, setViewBoleto] = useState();\n const [filters, setFilter] = useTuples({\n userName: '',\n });\n const [selectedMshipId, setSelectedMshipId] = useState(null);\n\n // On trash toggle, load list of boletos\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadBoletos();\n });\n\n // On active/all toggle, load list of boletos\n const [isActive, toggleActive] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadBoletos();\n }, false);\n\n // load boletos from API\n function loadBoletos(params = { page: 1, rows: 20 }) {\n if (item) {\n Get(`/bonos/${item.id}/boletos`, {\n ...params,\n ...filters,\n trash,\n isActive,\n }).then(setBoletos);\n }\n }\n\n // Download list of boletos as PDF\n function downloadPdf() {\n downloadFile(\n `/bonos/${item.id}/boletos.pdf`,\n 'application/pdf',\n { ...filters, trash, isActive },\n `${item.name}_${cxt.t('Users')}_${moment().format(\n 'DD-MM-YYYY',\n )}.pdf`,\n );\n }\n // Same, but as CSV\n function downloadCsv() {\n downloadFile(\n `/bonos/${item.id}/boletos.csv`,\n 'text/csv',\n { ...filters, trash, isActive },\n `${item.name}_${cxt.t('Users')}_${moment().format(\n 'DD-MM-YYYY',\n )}.csv`,\n );\n }\n\n function openViewNewBoleto() {\n setViewBoleto(item);\n }\n\n return (\n <>\n \n toggleActive(!!parseInt(value)),\n },\n ]}\n menu={[\n {\n caption: `${cxt.t('Download')} PDF`,\n onClick: downloadPdf,\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: downloadCsv,\n },\n ]}\n menuIcon={}\n mainAction={{\n type: 'create',\n onClick: openViewNewBoleto,\n }}\n onToggleTrash={toggleTrash}\n onChange={setFilter}\n onFilter={loadBoletos}\n />\n (\n setViewBoleto(row)}\n variant=\"body2\"\n >\n {row.user ? fullName(row.user) : 'Sin usuario'}\n \n ),\n },\n {\n title: cxt.t('Active'),\n type: 'binaryStatus',\n value: (row) =>\n row.consumed < row.amount &&\n row.amount + row.consumed > 0 &&\n (!row.expiration ||\n moment().isBefore(\n moment(\n `${moment(row.expiration).format(\n 'YYYY-MM-DD',\n )} ${item?.timeend}`,\n ),\n )) &&\n moment().isBefore(\n moment(`${row.bono.dateend} ${item?.timeend}`),\n ),\n },\n {\n title: cxt.t('Consumed'),\n type: 'text',\n field: 'consumed',\n },\n {\n title: cxt.t('Total'),\n type: 'text',\n field: 'amount',\n },\n {\n title: cxt.t('Expiration'),\n type: 'dmy',\n field: 'expiration',\n },\n {\n title: cxt.t('PaymentForm'),\n type: 'pf',\n value: (row) => getPaymentForm(row.payment),\n },\n {\n title: cxt.t('Price'),\n align: 'right',\n type: 'price',\n value: (row) => (\n {\n loadBoletos();\n }}\n />\n ),\n },\n {\n title: '',\n value: (row) => (\n \n setSelectedMshipId(row.user.mship.id)\n }\n />\n ),\n },\n ]}\n />\n\n {viewBoleto && (\n {\n setViewBoleto(null);\n loadBoletos();\n }}\n />\n )}\n\n {\n setSelectedMshipId(null);\n loadBoletos();\n }}\n />\n \n );\n}\n","import React, { useState } from 'react';\nimport { Box, CircularProgress } from '@material-ui/core';\nimport { useQueryClient } from 'react-query';\nimport DeviceAuthDialog from '../../../components/devices/DeviceAuthDialog';\nimport DeviceList from '../../../components/devices/DeviceList';\nimport deviceConstants from '../../../components/devices/deviceConstants';\nimport useBonosService from '../../../services/BonosService';\nimport SttError from '../../../components/error/SttError';\nimport BonoDeviceAuth from '../../../types/models/BonoDeviceAuth';\nimport Bono from '../../../types/models/Bono';\n\ntype BonoDevicesProps = {\n item: Bono;\n};\n\n/**\n * BonoDevices : Bono screen devices tab section. Contains the list of authorized devices for this bono\n */\nexport default function BonoDevices({ item }: BonoDevicesProps) {\n const queryClient = useQueryClient();\n\n const [viewAuth, setViewAuth] = useState();\n\n const bonosService = useBonosService();\n const getBonoDevicesAuthsQuery = bonosService.useGetBonoDevicesAuths(\n item.id,\n { rows: 25 },\n );\n\n if (getBonoDevicesAuthsQuery.isLoading) {\n return (\n \n \n \n );\n }\n\n if (getBonoDevicesAuthsQuery.isError) {\n return ;\n }\n\n if (!getBonoDevicesAuthsQuery.isSuccess) {\n return null;\n }\n\n return (\n <>\n setViewAuth(device)}\n onSelect={(device: BonoDeviceAuth) => setViewAuth(device)}\n />\n\n {viewAuth && (\n \n queryClient.invalidateQueries(\n getBonoDevicesAuthsQuery.queryKey,\n )\n }\n onClose={() => setViewAuth(undefined)}\n />\n )}\n \n );\n}\n","import React, { useEffect, useContext } from 'react';\nimport moment from 'moment';\nimport { AppContext, SttFullDialog, SttTabs } from '../../../sporttia/all';\nimport BonoDetails from './BonoDetails';\nimport BonoBoletos from './BonoBoletos';\nimport BonoDevices from './BonoDevices';\nimport { useCrud } from '../../../lib/hooks';\n\nexport default function Bono({ id, trash, onChange, onClose }) {\n const cxt = useContext(AppContext);\n const [bono, setBono, , Get] = useCrud();\n\n useEffect(() => {\n // load\n if (!isNaN(parseInt(id))) {\n loadBono();\n }\n // creating\n else if (id === 'create') {\n setBono({\n id: 'create',\n name: '',\n dateini: moment().format('YYYY-MM-DD'),\n dateend: moment().format('YYYY-12-31'),\n timeini: '06:00',\n timeend: '23:30',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n type: 'COMPLETE',\n expiration: '0000-00-00 00:00:00',\n amount: 10,\n purchaseOnline: true,\n purchasePFs: [],\n transferable: false,\n mandatoryGroup: null,\n price: 0,\n });\n }\n // offload\n else {\n setBono(null);\n }\n }, [id]);\n\n function loadBono() {\n Get(`/bonos/${id}`, { trash }).then((response) => {\n const bonoResponse = response.bono;\n // Fix to force bonos to have default value if null\n if (bonoResponse.expiration == null) {\n bonoResponse.expiration = '0000-00-00 00:00:00';\n }\n setBono(bonoResponse);\n });\n }\n\n const tabs = [\n {\n caption: cxt.t('Detail'),\n component: (\n {\n setBono(bonoToSave);\n onChange(bonoToSave);\n }}\n onDelete={(bonoToDelete) => {\n onChange(bonoToDelete);\n onClose?.();\n }}\n />\n ),\n },\n {\n caption: cxt.t('Users'),\n component: ,\n show: bono?.id !== 'create',\n },\n {\n caption: cxt.t('Devices'),\n component: bono && ,\n show: bono?.id !== 'create',\n },\n ];\n\n return (\n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Chip, Link } from '@material-ui/core';\nimport moment from 'moment';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport { useCrud, usePageHeader } from '../../../lib/hooks';\nimport BookingDialog from '../../../components/dialogs/bookingDialog/BookingDialog';\nimport Group from '../groups/Group';\nimport Event from '../events/Event';\nimport Activity from '../activities/Activity';\nimport Bono from '../bonos/Bono';\n\nexport default function DeviceAuths({ id }) {\n usePageHeader('Authorizations');\n\n const cxt = useContext(AppContext);\n\n const [deviceAuths, setDeviceAuths, , Get] = useCrud();\n const [dateFilter, setDateFilter] = useState(\n moment(new Date()).format('YYYY-MM-DD'),\n );\n const [bookingId, setBookingId] = useState(null);\n const [eventId, setEventId] = useState(null);\n const [activityId, setActivityId] = useState(null);\n const [groupId, setGroupId] = useState(null);\n const [bonoId, setBonoId] = useState(null);\n\n useEffect(() => {\n // eslint-disable-next-line no-use-before-define\n loadDeviceAuths();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dateFilter]);\n\n function loadDeviceAuths(params = { rows: 20 }) {\n Get(`/devices/${id}/auths`, {\n ...params,\n allDay: true,\n date: dateFilter,\n }).then(setDeviceAuths);\n }\n\n return (\n <>\n \n setDateFilter(\n value ? moment(value).format('YYYY-MM-DD') : '',\n ),\n },\n ]}\n />\n ({\n ini: row.dateini,\n end: row.dateend,\n }),\n },\n {\n title: cxt.t('Time'),\n type: 'text',\n value: (row) =>\n `${row.timeini.slice(0, -3)} - ${row.timeend.slice(\n 0,\n -3,\n )}`,\n },\n {\n title: cxt.t('Weekdays'),\n type: 'weekdays',\n field: 'weekdays',\n },\n {\n title: cxt.t('Type'),\n value: (row) => {\n switch (row.type) {\n case 'BK':\n return (\n \n );\n case 'EV':\n return (\n \n );\n case 'AC':\n return (\n \n );\n case 'GP':\n return (\n \n );\n case 'BN':\n return (\n \n );\n default:\n }\n },\n },\n {\n title: cxt.t('Name'),\n type: 'text',\n value: (row) => {\n switch (row.type) {\n case 'BK':\n return (\n \n setBookingId(row?.booking?.id)\n }\n >\n {row?.booking?.name}\n \n );\n case 'EV':\n return (\n \n setEventId(row?.event?.id)\n }\n >\n {row?.event?.name}\n \n );\n case 'AC':\n return (\n \n setActivityId(row?.activity?.id)\n }\n >\n {row?.activity?.name}\n \n );\n case 'GP':\n return (\n \n setGroupId(row?.group?.id)\n }\n >\n {row?.group?.name}\n \n );\n case 'BN':\n return (\n \n setBonoId(row?.bono?.id)\n }\n >\n {row?.bono?.name}\n \n );\n default:\n }\n },\n },\n ]}\n />\n\n loadDeviceAuths()}\n onClose={() => setBookingId(null)}\n />\n\n loadDeviceAuths()}\n onClose={() => {\n setEventId(null);\n }}\n />\n\n loadDeviceAuths()}\n onClose={() => {\n setActivityId(null);\n }}\n />\n\n {groupId && (\n loadDeviceAuths()}\n onClose={() => {\n setGroupId(null);\n }}\n />\n )}\n\n {\n setBonoId(null);\n }}\n onChange={() => {\n loadDeviceAuths();\n }}\n />\n \n );\n}\n","import React, { useContext } from 'react';\nimport { Chip, Tooltip } from '@material-ui/core';\nimport { AppContext } from '../all';\n\nexport function SttChipAccessType({ access, onClick }) {\n const cxt = useContext(AppContext);\n\n if (!access) {\n return null;\n }\n\n let item = {\n type: access.type,\n };\n\n if (access.booking) {\n item = {\n ...item,\n id: access.booking?.id,\n name: cxt.t('Booking'),\n };\n } else if (access.bonoUser) {\n /* Creo que esto no sirve para nada ya que siempre habrá un booking si hay un bonoUser */\n item = {\n ...item,\n id: access.bonoUser?.id,\n name: cxt.t('Bono'),\n };\n } else if (access.groupMember) {\n item = {\n ...item,\n id: access.groupMember?.group?.id,\n name: cxt.t('abono'),\n };\n } else if (access.student) {\n item = {\n ...item,\n id: access.student?.id,\n name: cxt.t('Class'),\n };\n } else if (access.boleto) {\n item = {\n ...item,\n id: access.boleto?.id,\n name: cxt.t('Bono'),\n };\n } else {\n return null;\n }\n\n return (\n \n {\n if (onClick) {\n onClick(item);\n }\n }}\n />\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport moment from 'moment';\nimport { useInteractionsFiles, useTuples } from '../../../lib/hooks';\nimport {\n AppContext,\n SttChipUser,\n SttTable,\n SttTopControls,\n SttUnlockerChips,\n} from '../../../sporttia/all';\nimport { copyToClipboard, fullName } from '../../../lib/utils';\nimport { SttChipAccessType } from '../../../sporttia/chips/SttChipAccessType';\nimport DateBuilder from '../../../lib/DateBuilder';\n\n// Para mostrar los diferentes objetos que garantizaron acceso (Alquiler, Bono, Abono y Clase)\n/* import BookingDialog from '../../../components/dialogs/bookingDialog/BookingDialog';\nimport BoletoDialog from '../../../components/dialogs/BoletoDialog';\nimport SttGroupMemberDialog from '../../../sporttia/dialogs/groupMemberDialog/SttGroupMemberDialog';\nimport StudentDialog from '../../../components/dialogs/StudentDialog'; */\n\nexport default function DeviceAccesses({ id }) {\n const cxt = useContext(AppContext);\n\n /* const [idBooking, setIdBooking] = useState(null);\n const [idBoleto, setIdBoleto] = useState(null);\n const [idGroupMember, setIdGroupMember] = useState(null);\n const [idStudent, setIdStudent] = useState(null); */\n\n // page usada para la descarga\n const [page, setPage] = useState(1);\n const [accesses, setAccesses] = useState(null);\n const [filters, setFilters] = useTuples({\n userName: '',\n unlockerKey: '',\n unlocker: '',\n dateini: moment().format('YYYY-MM-DD'),\n dateend: moment().format('YYYY-MM-DD'),\n timeini: '00:00',\n timeend: moment().format('HH:mm'),\n result: 'ALL',\n });\n\n const { downloadFile } = useInteractionsFiles();\n const rows = 20;\n\n function loadAccesses(numRowParams = { page: 1, rows }) {\n const finalFilters = { ...filters };\n\n if (finalFilters.result === 'ALL') {\n delete finalFilters.result;\n }\n\n cxt.api('GET', `/devices/${id}/accesses`, {\n params: {\n ...numRowParams,\n ...finalFilters,\n },\n success: setAccesses,\n });\n }\n\n function download(format) {\n const type = format === 'csv' ? 'text/csv' : 'application/pdf';\n\n const { dateini, dateend, timeini, timeend, unlockerKey } = filters;\n\n let { result } = filters;\n\n if (result === 'ALL') {\n result = '';\n }\n\n // PDF\n if (format === 'pdf') {\n downloadFile(\n `/devices/${id}/accesses.pdf?page=${page}&rows=${rows}&dateini=${dateini}&dateend=${dateend}&timeini=${timeini}&timeend=${timeend}&unlockerKey=${unlockerKey}&result=${result}`,\n type,\n {},\n `${cxt.t('Accesses')}_${moment(filters.dateini).format(\n 'DD-MM-YYYY',\n )}_${moment(filters.dateend).format('DD-MM-YYYY')}.${format}`,\n );\n }\n\n // CSV\n if (format === 'csv') {\n downloadFile(\n `/devices/${id}/accesses.csv?page=${page}&rows=${rows}&dateini=${dateini}&dateend=${dateend}&timeini=${timeini}&timeend=${timeend}&unlockerKey=${unlockerKey}&result=${result}`,\n type,\n {},\n `${cxt.t('Accesses')}_${moment(filters.dateini).format(\n 'DD-MM-YYYY',\n )}_${moment(filters.dateend).format('DD-MM-YYYY')}.${format}`,\n );\n }\n }\n\n function openItem(item) {\n /* Mostramos diferente diálogo según el tipo de objeto TODO\n switch (item.type) {\n case 'BK':\n setIdBooking(item.id);\n break;\n case 'BN':\n setIdBoleto(item.id);\n break;\n case 'GP':\n setIdGroupMember(item.id);\n break;\n case 'AC':\n setIdStudent(item.id);\n break;\n default:\n break;\n } */\n\n copyToClipboard(item.id, () =>\n cxt.showMessage('S', cxt.t('copiedToClipboard')),\n );\n }\n\n return (\n <>\n download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n onChange={setFilters}\n onFilter={() => loadAccesses()}\n />\n ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: cxt.t('Date'),\n field: 'created',\n value: (r) =>\n new DateBuilder(\n r?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang.key,\n ).dmyhm(),\n },\n {\n title: cxt.t('Direction'),\n value: (row) => row.direction,\n },\n {\n title: cxt.t('Unlocker'),\n value: (row) =>\n row.unlocker &&\n row.unlocker.user && (\n \n ),\n },\n {\n title: cxt.t('Method'),\n value: (row) => (\n \n ),\n },\n {\n title: cxt.t('User'),\n value: (row) =>\n row.unlocker &&\n row.unlocker.user &&\n row.unlocker.user.mship && (\n \n ),\n },\n {\n title: cxt.t('Result'),\n type: 'binaryStatus',\n value: (row) => row.result === 'SUCCESS',\n },\n {\n title: cxt.t('Error'),\n type: 'text',\n field: 'error',\n },\n ]}\n />\n\n {/* Diálogos para mostrar los items mediante los que se accedió (boleto, groupMembter, etc) TODO */}\n\n {/* idBooking && (\n setIdBooking(null)}\n />\n ) */}\n {/* idBoleto && (\n setIdBoleto(null)}\n />\n ) */}\n {/* idGroupMember && (\n {\n setIdGroupMember(null);\n }}\n onUpdateMember={() => {\n setIdGroupMember(null);\n }}\n />\n ) */}\n {/* idStudent !== null && (\n {\n setIdStudent(null);\n }}\n onSave={() => {\n setIdStudent(null);\n }}\n trash={false}\n />\n ) */}\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport { Box, Container } from '@material-ui/core';\nimport CenterFocusWeakIcon from '@material-ui/icons/CenterFocusWeak';\nimport { AppContext, SttDialog, SttTabs } from '../../../sporttia/all';\nimport DeviceDetails from './DeviceDetails';\nimport DeviceAuths from './DeviceAuths';\nimport DeviceAccesses from './DeviceAccesses';\nimport { SttFullDialog } from '../../../sporttia/dialogs/SttFullDialog';\n\nexport default function DeviceDetailsDialog({ scId, deviceId, onClose }) {\n const cxt = useContext(AppContext);\n const [device, setDevice] = useState();\n const [simulateAccessOpen, setSimulateAccessOpen] = useState(false);\n\n const loadDevice = () => {\n cxt.api('GET', `/devices/${deviceId}`, {\n params: {\n trash: true,\n },\n success: (r) => {\n setDevice(r.device);\n },\n });\n };\n\n useEffect(() => {\n if (deviceId) loadDevice();\n }, [deviceId]);\n\n // Tabs\n const tabs = [\n {\n caption: cxt.t('Detail'),\n component: (\n \n ),\n },\n {\n caption: cxt.t('Authorizations'),\n component: ,\n },\n {\n caption: cxt.t('Accesses'),\n component: ,\n show: deviceId !== 'create',\n },\n ];\n\n // -----| Render |-----\n return (\n setSimulateAccessOpen(true),\n icon: ,\n },\n ]}\n >\n \n \n \n \n \n \n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Chip } from '@material-ui/core';\nimport { AppContext, SttTable } from '../../../sporttia/all';\nimport DeviceDetailsDialog from '../../../pages/sc/devices/DeviceDetailsDialog';\nimport DateBuilder from '../../../lib/DateBuilder';\n\n/**\n * Booking dialog with booking device authentications.\n * @param booking Booking object.\n * @returns {JSX.Element}\n */\nexport default function BookingDialogDeviceAuths({ booking }) {\n const cxt = useContext(AppContext);\n const [deviceAuths, setDeviceAuths] = useState();\n const [deviceId, setDeviceId] = useState(null);\n /**\n * Load booking device authentications.\n * @param p Params.\n */\n const loadBookingDeviceAuths = (p = { page: 1, rows: 20 }) => {\n cxt.api('GET', `/bookings/${booking.id}/devices/auths`, {\n params: { ...p },\n success: (r) => {\n setDeviceAuths(r);\n },\n });\n };\n\n useEffect(() => {\n if (booking && booking.id) loadBookingDeviceAuths();\n }, [booking]);\n\n // -----| Render |-----\n return (\n <>\n \n new DateBuilder(\n row?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy(),\n },\n {\n type: 'dmyRange',\n title: cxt.t('Date'),\n value: (row) => ({\n ini: row.dateini,\n end: row.dateend,\n }),\n },\n {\n type: 'hmRange',\n title: cxt.t('Time'),\n value: (row) => ({\n ini: `${row.dateini} ${row.timeini}`,\n end: `${row.dateend} ${row.timeend}`,\n }),\n },\n {\n title: cxt.t('Week'),\n width: 150,\n type: 'weekdays',\n field: 'weekdays',\n },\n {\n title: cxt.t('Devices'),\n name: 'devices',\n value: (row) => (\n
\n {row.devices &&\n row.devices.map((device) => (\n \n setDeviceId(device?.id)\n }\n />\n ))}\n
\n ),\n },\n ]}\n />\n {deviceId !== null && (\n {\n setDeviceId(null);\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { AppContext, SttTabs, SttFullDialog } from '../../../sporttia/all';\nimport HandlePaymentsModal from '../../../pages/sc/groups/HandlePaymentsModal';\nimport BookingDialogDetail from './BookingDialogDetail';\nimport BookingDialogPayments from './BookingDialogPayments';\nimport BookingDialogOccupants from './BookingDialogOccupants';\nimport { getPath } from '../../../pages/Pages';\nimport BookingDialogDeviceAuths from './BookingDialogDeviceAuths';\nimport { parsePrice } from '../../../lib/utils';\nimport { useInteractionsFiles } from '../../../lib/hooks';\n\n/**\n *\tBooking dialog\n *\t==============\n *\n *\tCuando se abre el popup se carga el alquiler.\n *\n *\tProps\n *\n *\t\t* integer idBooking\n *\t\t* function onClose\n *\t\t* funcion onUpdate(booking): if the booking has been updated (deleted also)\n */\nexport default function BookingDialog({\n idBooking,\n onClose,\n onUpdate,\n cutBooking = null,\n}) {\n const cxt = useContext(AppContext);\n const { openFile, downloadFile } = useInteractionsFiles();\n const history = useHistory();\n const [booking, setBooking] = useState();\n const [payments, setPayments] = useState();\n const [bonoMovs, setBonoMovs] = useState();\n const [onlyBonos, setOnlyBonos] = useState(false);\n const [openAskingPaymentProcedure, setOpenAskingPaymentProcedure] =\n useState(false);\n\n useEffect(() => {\n if (payments && bonoMovs && payments.count <= 0 && bonoMovs.count > 0)\n setOnlyBonos(true);\n else setOnlyBonos(false);\n }, [payments, bonoMovs]);\n\n /**\n * Load booking\n */\n const loadBooking = () => {\n cxt.api('GET', `/bookings/${idBooking}`, {\n params: {\n trash: true,\n },\n success: (r) => {\n setBooking(r.booking);\n },\n });\n };\n\n /**\n * Load payments\n */\n const loadPayments = () => {\n cxt.api('GET', `/bookings/${idBooking}/payments`, {\n params: { page: 1, rows: 100, trash: false },\n success: (r) => {\n setPayments(r);\n },\n });\n };\n\n /**\n * Load bono movs\n */\n const loadBonoMovs = () => {\n cxt.api('GET', `/bookings/${idBooking}/bonos/movs`, {\n params: { page: 1, rows: 100, trash: false },\n success: (r) => {\n setBonoMovs(r);\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (idBooking) {\n loadBooking();\n loadPayments();\n loadBonoMovs();\n } else setBooking(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [idBooking]);\n\n /**\n * Save\n */\n const save = () => {\n cxt.api('PUT', `/bookings/${booking.id}`, {\n params: {\n ini: booking?.ini,\n end: booking?.end,\n idFacility: booking?.facility?.id ?? undefined,\n name: booking?.name,\n notes: booking?.notes,\n price: parsePrice(booking.price),\n },\n success: (r) => {\n cxt.showMessage('S', cxt.t('Saved'));\n if (onUpdate) onUpdate(r.booking);\n },\n });\n };\n\n /**\n * Cancel booking\n */\n const cancelBooking = (deletingPaymentProcedure) => {\n let params;\n if (deletingPaymentProcedure !== undefined) {\n params = {\n paymentAction: deletingPaymentProcedure,\n };\n }\n cxt.api('DELETE', `/bookings/${idBooking}`, {\n params,\n success: (r) => {\n onClose();\n setOpenAskingPaymentProcedure(false);\n if (onUpdate) onUpdate(r.booking);\n cxt.showMessage('S', cxt.t('Deleted'));\n },\n });\n };\n\n /**\n * Download\n */\n const download = (type) => {\n let funcToUse = downloadFile;\n if (type === 'TICKET') {\n funcToUse = openFile;\n }\n\n funcToUse(\n `/bookings/${idBooking}.pdf?paper=${type}`,\n 'application/pdf',\n null,\n 'booking.pdf',\n );\n };\n\n // TODO: mejorar la porquería esta de pedirlo todo en cuanto hay un cambio local\n\n // He booking has already been cancelled server-side\n function lastOccupantDeleted() {\n if (onUpdate) onUpdate();\n if (onClose) onClose();\n }\n\n // -----| Render |-----\n return (\n <>\n \n history.push(getPath('booked', { id: booking.id })),\n },\n {\n show:\n booking &&\n Object.prototype.hasOwnProperty.call(\n booking,\n 'slot',\n ),\n caption: cxt.t('GoToBooking'),\n onClick: () =>\n history.push(\n getPath('bookingSchedule', {\n id: booking.slot.schedule.id,\n }),\n ),\n },\n {\n show: cutBooking != null,\n caption: cxt.t('Cut'),\n onClick: () => cutBooking(booking),\n },\n {\n type: 'delete',\n caption: cxt.t('CancelBooking'),\n onClick: () => {\n setOpenAskingPaymentProcedure(!onlyBonos);\n if (onlyBonos) cancelBooking();\n },\n },\n {\n type: 'save',\n onClick: save,\n },\n ]}\n menu={[\n {\n caption: `${cxt.t('Download')} PDF`,\n onClick: () => download(),\n },\n {\n caption: cxt.t('Ticket'),\n onClick: () => download('TICKET'),\n },\n ]}\n >\n {booking && (\n \n ),\n },\n {\n caption: `${cxt.t('Payments')} & ${cxt.t(\n 'Bonos',\n )}`,\n component: (\n \n ),\n },\n {\n caption: cxt.t('Occupants'),\n component: (\n \n ),\n },\n {\n caption: cxt.t('DeviceAuths'),\n component: (\n \n ),\n },\n ]}\n />\n )}\n \n {/* \n\t\t\t\t\t\t{booking &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcaption: `${cxt.t('Payments')} & ${cxt.t('Bonos')}`,\n\t\t\t\t\t\t\t\t\tcomponent:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcaption: cxt.t('Occupants'),\n\t\t\t\t\t\t\t\t\tcomponent:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcaption: cxt.t('DeviceAuths'),\n\t\t\t\t\t\t\t\t\tcomponent:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t/>}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tbuttons={[\n\t\t\t\t\t{\n\t\t\t\t\t\tcaption: cxt.t('Booking'),\n\t\t\t\t\t\tonClick: () => history.push( getPath('booked', {id: booking.id}) )\n\t\t\t\t\t},\n\t\t\t\t\tbooking && booking.slot && {\n\t\t\t\t\t\tcaption: cxt.t('GoToBooking'),\n\t\t\t\t\t\tonClick: () => history.push( getPath('bookingSchedule', {id: booking.slot.schedule.id}) )\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tshow: cutBooking != null,\n\t\t\t\t\t\tcaption: cxt.t('Cut'),\n\t\t\t\t\t\tonClick: () => cutBooking(booking)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'delete',\n\t\t\t\t\t\tcaption: cxt.t('CancelBooking'),\n\t\t\t\t\t\tonClick: () => {setOpenAskingPaymentProcedure(!onlyBonos); if (onlyBonos) cancelBooking();}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'save',\n\t\t\t\t\t\tonClick: save\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\tmenu={[\n\t\t\t\t\t{\n\t\t\t\t\t\tcaption: cxt.t('Download') + ' PDF',\n\t\t\t\t\t\t\tonClick: () => download(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcaption: cxt.t('Ticket'),\n\t\t\t\t\t\tonClick: () => download('TICKET'),\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t/> */}\n\n {/* --- Modal asking what to do with paymtns --- */}\n setOpenAskingPaymentProcedure(false)}\n onAccept={(option) => {\n /* JPB 9 Jul 2020. Deleting action codes in groups is\n\t\t\t\t\t\tdifferent than in other in booking. */\n\n switch (option) {\n case '0':\n cancelBooking();\n break; // PBM: 'do nothing' case was missing\n case '1':\n cancelBooking(4);\n break;\n case '2':\n cancelBooking(5);\n break;\n case '3':\n cancelBooking(2);\n break;\n case '4':\n cancelBooking(3);\n break;\n default:\n break;\n }\n }}\n />\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Box, Container, Button } from '@material-ui/core';\nimport {\n Payment as PaymentIcon,\n Delete as DeleteIcon,\n Replay as ReplayIcon,\n} from '@material-ui/icons';\nimport { Alert } from '@material-ui/lab';\nimport { useQueryClient } from 'react-query';\nimport {\n AppContext,\n SttTabs,\n SttFullDialog,\n SttChipPaymentStatus,\n} from '../../sporttia/all';\nimport PaymentModalDetail from './PaymentModalDetail';\nimport PaymentModalChildren from './PaymentModalChildren';\nimport PaymentFormDialog from '../dialogs/PaymentFormDialog';\nimport BookingDialog from '../dialogs/bookingDialog/BookingDialog';\nimport { useInteractionsFiles, useLoader } from '../../lib/hooks';\nimport POSPaymentDialog from '../dialogs/POSPaymentDialog';\nimport POSStripePaymentDialog from '../stripe/POSStripePaymentDialog';\nimport translations from '../../translations';\nimport constants from '../../config/constants';\nimport usePaymentsService from '../../services/PaymentsService';\nimport SttError from '../error/SttError';\nimport SttFullPageSpinner from '../../sporttia/spinners/SttFullPageSpinner';\nimport { getErrorMessage } from '../../lib/utils';\nimport ModalConfirmation from '../../layout/ModalConfirmation';\nimport Payment from '../../types/models/Payment';\nimport { GetPayment200 } from '../../types/api/paths/Payment';\nimport { PosPaymentParams } from '../../types/payment';\nimport CashdroControlDialog from '../dialogs/CashdroControlDialog';\n\ntype PaymentModalProps = {\n idPayment: number;\n onPay?: (payment: Payment) => void;\n onDeleted?: (payment: Payment) => void;\n onRecovered?: (payment: Payment) => void;\n onRefund?: (payment: Payment) => void;\n onSave?: (payment: Payment) => void;\n onClose?: () => void;\n};\n\nexport default function PaymentModal({\n idPayment,\n onPay,\n onDeleted,\n onRecovered,\n onRefund,\n onSave,\n onClose,\n}: PaymentModalProps) {\n const cxt = useContext(AppContext)!;\n const { openFile } = useInteractionsFiles();\n const [openSelectPF, setOpenSelectPF] = useState(false);\n const [dialogBookingId, setDialogBookingId] = useState(null);\n const [idPaymentModal, setIdPaymentModal] = useState(idPayment);\n const [posPaymentParams, setPosPaymentParams] =\n useState(null);\n\n // Open confirmation modal on delete or recover\n const [operationConfirmation, setOperationConfirmation] = useState<\n 'delete' | 'recover'\n >();\n\n const queryClient = useQueryClient();\n\n const paymentsService = usePaymentsService();\n const getPaymentQuery = paymentsService.useGetPayment(idPaymentModal, {\n trash: true,\n });\n\n const CASHDRO = cxt?.sc?.cashdroConnected;\n\n const [cashdroPayment, setCashdroPayment] = useState(false);\n const [cashdroPaymentAmount, setCashdroPaymentAmount] = useState(0);\n\n const deletePaymentMutation = paymentsService.useDeletePayment({\n onSuccess: (response) => {\n queryClient.invalidateQueries(getPaymentQuery.queryKey);\n\n onDeleted?.(response.payment);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const recoverPaymentMutation = paymentsService.useRecoverPayment({\n onSuccess: (response) => {\n queryClient.invalidateQueries(getPaymentQuery.queryKey);\n\n onRecovered?.(response.payment);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const collectPaymentMutation = paymentsService.useCollectPayment({\n onSuccess: (response) => {\n queryClient.invalidateQueries(getPaymentQuery.queryKey);\n\n setOpenSelectPF(false);\n\n const { tpv, payment: paymentResponse } = response;\n if (\n tpv?.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n // params for the POS dialog (datáfono físico)\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n sc: {\n id: tpv.sc?.id,\n scName: tpv.sc?.short,\n entityName: tpv.sc?.customer?.name,\n address: tpv.sc?.address,\n cif: tpv.sc?.customer?.cif,\n phone: tpv.sc?.phonePublic,\n },\n returnParams: {\n payment: paymentResponse,\n },\n });\n } else if (paymentResponse) {\n onPay?.(paymentResponse);\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const refundPaymentMutation = paymentsService.useRefundPayment({\n onSuccess: (response) => {\n queryClient.invalidateQueries(getPaymentQuery.queryKey);\n\n if (response.payment) {\n onRefund?.(response.payment);\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const ticket = (type: number) => {\n openFile(\n `/payments/${idPaymentModal}.pdf?format=${type}`,\n 'application/pdf',\n null,\n `${cxt.t(translations.generic.ticket)}_${idPaymentModal}`,\n );\n };\n\n const generateInvoice = () => {\n openFile(\n `/payments/${idPaymentModal}/invoice.pdf`,\n 'application/pdf',\n null,\n `${cxt.t(translations.generic.invoice)}_${idPaymentModal}`,\n );\n };\n\n const openPayment = (paymentToOpen: Payment) => {\n setIdPaymentModal(paymentToOpen.id);\n };\n\n const [, mutationsLoader] = useLoader([\n collectPaymentMutation.status,\n recoverPaymentMutation.status,\n refundPaymentMutation.status,\n deletePaymentMutation.status,\n ]);\n\n const setupPaymentCollection = (paymentForm: string) => {\n if (\n CASHDRO &&\n paymentForm === constants.payment.paymentForms.cashdro.name\n ) {\n setCashdroPayment(true);\n setCashdroPaymentAmount(getPaymentQuery?.data?.payment?.price || 0);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n collectPayment(paymentForm);\n }\n };\n\n const collectPayment = (paymentForm: string) => {\n collectPaymentMutation.mutate({\n id: idPaymentModal,\n params: {\n // @ts-expect-error no hay tiempo\n paymentForm,\n },\n });\n };\n\n // Do not show SttFullDialog since payment is loaded\n if (getPaymentQuery.isLoading) {\n return ;\n }\n\n if (getPaymentQuery.isError) {\n return (\n \n \n \n );\n }\n\n if (!getPaymentQuery.isSuccess) {\n return null;\n }\n\n return (\n <>\n {getPaymentQuery.data.payment.privileges && (\n \n {cxt.t(translations.payment.payment)}\n    \n \n \n }\n buttons={[\n {\n show: getPaymentQuery.data.payment.privileges.includes(\n constants.payment.privileges.pay,\n ),\n caption: cxt.t(translations.generic.collect),\n onClick: () => setOpenSelectPF(true),\n icon: ,\n },\n ]}\n menu={[\n {\n caption: cxt.t(translations.generic.recover),\n icon: ,\n show: getPaymentQuery.data.payment.privileges.includes(\n constants.payment.privileges.recover,\n ),\n },\n {\n caption: cxt.t(translations.generic.delete),\n onClick: () => {\n setOperationConfirmation('delete');\n },\n icon: ,\n show: getPaymentQuery.data.payment.privileges.includes(\n constants.payment.privileges.delete,\n ),\n },\n {\n caption: `${cxt.t(\n translations.generic.refund,\n )} - ${cxt.t(\n translations.payment.paymentFormCash,\n )}`,\n divider: true,\n onClick: () => {\n refundPaymentMutation.mutate({\n id: idPaymentModal,\n params: {\n paymentForm:\n constants.payment.paymentForms.cash\n .name,\n },\n });\n },\n show: getPaymentQuery.data.payment.privileges.includes(\n constants.payment.privileges.refund,\n ),\n },\n {\n caption: `${cxt.t(\n translations.generic.refund,\n )} - ${cxt.t(\n translations.payment.paymentFormPurse,\n )}`,\n onClick: () => {\n refundPaymentMutation.mutate({\n id: idPaymentModal,\n params: {\n paymentForm:\n constants.payment.paymentForms.purse\n .name,\n },\n });\n },\n show: getPaymentQuery.data.payment.privileges.includes(\n constants.payment.privileges.refund,\n ),\n },\n {\n caption: `${cxt.t(\n translations.generic.refund,\n )} - ${cxt.t(translations.payment.paymentFormTpv)}`,\n onClick: () => {\n refundPaymentMutation.mutate({\n id: idPaymentModal,\n params: {\n paymentForm:\n constants.payment.paymentForms.tpv\n .name,\n },\n });\n },\n show: getPaymentQuery.data.payment.privileges.includes(\n constants.payment.privileges.refundTPV,\n ),\n },\n {\n caption: cxt.t(translations.generic.ticket),\n divider: true,\n onClick: () => ticket(1),\n },\n {\n caption: `${cxt.t(translations.generic.ticket)} A4`,\n onClick: () => ticket(0),\n },\n {\n caption: `${cxt.t(\n translations.generic.ticket,\n )} A4 triple`,\n onClick: () => ticket(2),\n },\n {\n caption: cxt.t(translations.generic.invoice),\n divider: true,\n onClick: () => generateInvoice(),\n show:\n getPaymentQuery.data.payment.numInvoice !==\n null &&\n getPaymentQuery.data.payment.numInvoice !== '',\n },\n {\n caption: cxt.t(translations.generic.booking),\n divider: true,\n show:\n getPaymentQuery.data.payment.module ===\n constants.modules.renting.name,\n onClick: () =>\n setDialogBookingId(\n getPaymentQuery.data.payment.booking!.id,\n ),\n },\n ]}\n >\n {mutationsLoader}\n \n \n {getPaymentQuery.data.payment.trash && (\n {\n setOperationConfirmation(\n 'recover',\n );\n }}\n >\n {cxt.t(\n translations.generic.recover,\n )}\n \n }\n >\n {cxt.t(translations.payment.deleted)}\n \n )}\n\n {getPaymentQuery.data.payment.refund && (\n {\n if (\n getPaymentQuery.data.payment\n .refund\n ) {\n openPayment(\n getPaymentQuery.data\n .payment.refund,\n );\n }\n }}\n >\n {cxt.t(\n translations.payment.payment,\n )}\n \n }\n >\n {cxt.t(translations.payment.refunded)}\n \n )}\n\n {getPaymentQuery.data.payment.parent && (\n {\n if (\n getPaymentQuery.data.payment\n .parent\n ) {\n openPayment(\n getPaymentQuery.data\n .payment.parent,\n );\n }\n }}\n >\n {cxt.t(\n translations.generic.openParent,\n )}\n \n }\n >\n {cxt.t(translations.payment.isChild)}\n \n )}\n\n {\n queryClient.setQueryData(\n getPaymentQuery.queryKey,\n () => ({\n payment,\n }),\n );\n\n onSave?.(payment);\n }}\n />\n ),\n },\n {\n show:\n getPaymentQuery.data.payment\n .children !== null,\n caption: cxt.t(\n translations.generic.children,\n ),\n component: (\n \n ),\n },\n ]}\n />\n \n \n\n setOpenSelectPF(false)}\n pfs={[\n constants.payment.paymentForms.purse.name,\n constants.payment.paymentForms.cash.name,\n constants.payment.paymentForms.bank.name,\n cxt?.sc?.dataphoneConnected\n ? constants.payment.paymentForms\n .dataphoneConnected.name\n : constants.payment.paymentForms.dataphone.name,\n constants.payment.paymentForms.receipt.name,\n constants.payment.paymentForms.free.name,\n ].concat(\n // @ts-expect-error no hay tiempo\n CASHDRO\n ? [constants.payment.paymentForms.cashdro.name]\n : [],\n )}\n onSelect={(paymentForm) => {\n setupPaymentCollection(paymentForm);\n setOpenSelectPF(false);\n }}\n />\n\n {cxt.sc?.sporttiaStripeLocationId &&\n posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n // No podemos hacer refetch ya que el status en caso de Stripe se actualiza con un cronjob\n // y se actualiza de forma asíncrona en el backend\n const optimisticPayment = {\n ...getPaymentQuery.data.payment,\n status: constants.payment.status.paid.name,\n privileges: [\n ...getPaymentQuery.data.payment.privileges.filter(\n (privilege) =>\n privilege !==\n constants.payment.privileges\n .pay,\n ),\n ],\n };\n\n queryClient.setQueryData(\n getPaymentQuery.queryKey,\n () => ({\n payment: optimisticPayment,\n }),\n );\n\n onPay?.(optimisticPayment);\n }}\n />\n ) : (\n setPosPaymentParams(null)}\n // @ts-expect-error: Migrate POSPaymentDialog\n onSuccess={(t, returnParams) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n onPay?.(returnParams?.payment);\n }}\n />\n )}\n\n {cashdroPayment && (\n {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n }}\n onSuccess={() => {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n collectPayment('CASHDRO');\n }}\n />\n )}\n \n )}\n\n {operationConfirmation && (\n {\n if (operationConfirmation === 'delete') {\n deletePaymentMutation.mutate({\n id: idPaymentModal,\n });\n }\n\n if (operationConfirmation === 'recover') {\n recoverPaymentMutation.mutate({\n id: idPaymentModal,\n });\n }\n\n setOperationConfirmation(undefined);\n }}\n onClose={() => {\n setOperationConfirmation(undefined);\n }}\n />\n )}\n\n {/* @ts-expect-error: Migrate BookingDialog */}\n setDialogBookingId(null)}\n />\n \n );\n}\n","import React, { useContext, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { SttDialog } from '../../sporttia/dialogs/SttDialog';\nimport SttValidatedForm from '../../sporttia/SttValidatedForm';\nimport { useLoader, useTranslations } from '../../lib/hooks';\nimport usePaymentsService from '../../services/PaymentsService';\nimport { AppContext } from '../../sporttia/AppContext';\n\n/**\n * Dialog to choose concept and user to associate the payments to be paid.\n * @param paymentsIds Payments IDs array.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Launched when a new payment is created.\n * @returns {JSX.Element}\n */\nfunction PayMultiplePaymentsDialog({ paymentsIds, onClose, onCreate, userID }) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const form = useForm();\n const paymentsService = usePaymentsService();\n\n const createMutation = useMutation(\n (params) => paymentsService.create(params?.params),\n {\n onSuccess: (response) => {\n if (response?.error?.msg) {\n cxt.showMessage('E', response?.error?.msg);\n } else {\n onCreate(response);\n }\n },\n onError: (response) => cxt.showMessage('E', response?.error?.msg),\n },\n );\n\n const [, loader] = useLoader([createMutation.status]);\n\n useEffect(() => {\n if (paymentsIds === null) {\n form.reset({\n childrenConcept: '',\n childrenUserId: '',\n });\n }\n }, [paymentsIds]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n createMutation.mutate({\n params: {\n childrenConcept: formData?.childrenConcept,\n childrenUserId: userID,\n childrenPaymentIds: paymentsIds,\n },\n }),\n ),\n },\n ]}\n />\n );\n}\n\nexport default PayMultiplePaymentsDialog;\n","import React, { useState, useContext } from 'react';\nimport { Box, Chip, Avatar } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttTable,\n SttChipUser,\n SttTopControls,\n} from '../../../sporttia/all';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport PaymentCreationDialog from '../../../components/dialogs/PaymentCreationDialog';\nimport { useToggle } from '../../../lib/hooks';\nimport { commaSeparated } from '../../../lib/utils';\nimport PayMultiplePaymentsDialog from '../../../components/dialogs/PayMultiplePaymentsDialog';\nimport { getPaymentForm } from '../../../lib/paymentHelper';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function MshipPayments({ mship }) {\n const cxt = useContext(AppContext);\n const [payments, setPayments] = useState();\n const [idPayModal, setIdPayModal] = useState(null);\n const [creatingPayment, setCreatingPayment] = useState(false);\n const [filters, setFilters] = useState({\n concept: '',\n status: '',\n subpayments: false,\n useIni: moment().format('YYYY-MM-01 00:00:00'),\n useEnd: moment().format('YYYY-12-31 23:59:59'),\n paidIni: moment().format('YYYY-MM-01 00:00:00'),\n paidEnd: moment().format('YYYY-12-31 23:59:59'),\n paymentForms: [],\n modules: [],\n });\n const [filterPayDateChecked, setFilterPayDateChecked] = useState(false);\n const [filterUseDateChecked, setFilterUseDateChecked] = useState(false);\n const [selectRows, setSelectRows] = useState([]);\n const [paymentsIds, setPaymentsIds] = useState(null);\n\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadPayments();\n });\n\n const loadPayments = (p = { page: 1, rows: 25 }) => {\n const paramsFilters = {\n concept: filters.concept,\n status: filters.status,\n subpayments: +filters.subpayments,\n ...(filters.paymentForms.length > 0 && {\n paymentForms: commaSeparated(filters.paymentForms),\n }),\n ...(filters.modules.length > 0 && {\n modules: commaSeparated(filters.modules),\n }),\n ...(filterPayDateChecked && {\n paidIni: filters.paidIni,\n paidEnd: filters.paidEnd,\n }),\n ...(filterUseDateChecked && {\n useIni: filters.useIni,\n useEnd: filters.useEnd,\n }),\n };\n\n const params = {\n page: p.page,\n rows: p.rows,\n ...paramsFilters,\n trash,\n };\n\n cxt.api('GET', `/mships/${mship.id}/payments`, {\n params,\n success: (r) => {\n setPayments(r);\n },\n });\n };\n\n const openPayment = (pay) => {\n setIdPayModal(pay.id);\n };\n\n const onPaymentSuccess = () => {\n setCreatingPayment(false);\n loadPayments();\n };\n\n return (\n <>\n setCreatingPayment(true),\n }}\n extraFields={[\n {\n xs: 12,\n sm: 6,\n type: 'text',\n caption: cxt.t('Concept'),\n name: 'concept',\n value: filters.concept,\n onEnterKey: loadPayments,\n },\n {\n xs: 12,\n sm: 6,\n type: 'select',\n caption: cxt.t('Status'),\n name: 'status',\n value: filters.status,\n options: [\n {\n caption: cxt.t('All'),\n value: '',\n },\n {\n caption: cxt.t('Paid'),\n value: 'PAID',\n },\n {\n caption: cxt.t('Pending'),\n value: 'NOT_PAID',\n },\n ],\n },\n {\n xs: 12,\n md: 6,\n type: 'period',\n caption: cxt.t('DateOfUse'),\n enabled: filterUseDateChecked,\n nameIni: 'useIni',\n valIni: filters.useIni,\n nameEnd: 'useEnd',\n valEnd: filters.useEnd,\n onToggle: setFilterUseDateChecked,\n onChange: ({ name, value }) =>\n setFilters({\n ...filters,\n [name]: moment(value).format(\n `YYYY-MM-DD ${\n name === 'useIni'\n ? '00:00:00'\n : '23:59:59'\n }`,\n ),\n }),\n },\n {\n xs: 12,\n md: 6,\n type: 'period',\n caption: cxt.t('DateOfPayment'),\n enabled: filterPayDateChecked,\n nameIni: 'paidIni',\n valIni: filters.paidIni,\n nameEnd: 'paidEnd',\n valEnd: filters.paidEnd,\n onToggle: setFilterPayDateChecked,\n onChange: ({ name, value }) =>\n setFilters({\n ...filters,\n [name]: moment(value).format(\n `YYYY-MM-DD ${\n name === 'paidIni'\n ? '00:00:00'\n : '23:59:59'\n }`,\n ),\n }),\n },\n {\n xs: 12,\n name: 'paymentForms',\n type: 'selectablechips',\n caption: cxt.t('paymentForm'),\n items: cxt.constants.paymentForms.map((pf) => ({\n label: pf.label,\n value: pf.id,\n })),\n selected: filters.paymentForms,\n },\n {\n xs: 12,\n name: 'modules',\n type: 'selectablechips',\n caption: cxt.t('Module'),\n items: cxt.constants.modules.map((m) => ({\n label: m.label,\n value: m.id,\n })),\n selected: filters.modules,\n },\n {\n xs: 12,\n type: 'checkmulti',\n caption: cxt.t('OtherOptions'),\n children: [\n {\n name: 'subpayments',\n caption: cxt.t('ChildPayments'),\n checked: filters.subpayments,\n onChange: ({ value }) =>\n setFilters({\n ...filters,\n subpayments: value,\n }),\n },\n ],\n },\n ]}\n onChange={({ name, value }) =>\n setFilters({ ...filters, [name]: value })\n }\n onToggleTrash={toggleTrash}\n onFilter={loadPayments}\n />\n\n {\n openPayment(pay);\n }}\n selectRows={selectRows}\n setSelectRows={setSelectRows}\n columns={[\n {\n field: 'created',\n title: cxt.t('Created'),\n width: 120,\n value: (r) => (\n <>\n \n \n {new DateBuilder(\n r.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy()}\n \n \n ),\n },\n {\n field: 'module',\n title: cxt.t('Module'),\n type: 'module',\n },\n {\n field: 'concept',\n title: cxt.t('Concept'),\n align: 'left',\n value: (r) => (\n <>\n {r.concept}\n\n {r.children && (\n \n \n {r.children.count}\n \n }\n label={cxt.t('Children')}\n />\n \n )}\n\n {r.parent && (\n \n \n \n )}\n \n ),\n },\n {\n field: 'period',\n title: cxt.t('Period'),\n value: (r) => ({ ini: r.ini, end: r.end }),\n type: 'period',\n },\n {\n field: 'collector',\n title: cxt.t('Paid'),\n width: 120,\n value: (r) =>\n r.paymentDate && (\n <>\n \n \n {moment(r.paymentDate).format(\n 'D MMM YYYY',\n )}\n \n \n ),\n },\n {\n field: 'paymentForm',\n title: cxt.t('PForm'),\n type: 'pf',\n value: (row) =>\n getPaymentForm({\n trash: row.trash,\n paymentForm: row.paymentForm,\n }),\n },\n {\n field: 'price',\n title: cxt.t('Price'),\n type: 'price',\n },\n ]}\n onFetch={loadPayments}\n selection={{\n actions: [\n {\n caption: cxt.t('Pay'),\n onClick: () =>\n setPaymentsIds(\n selectRows.map((payment) => payment?.id),\n ),\n },\n ],\n }}\n />\n\n {idPayModal && (\n {\n loadPayments();\n setIdPayModal(null);\n }}\n />\n )}\n\n setCreatingPayment(false)}\n onPaymentSuccess={onPaymentSuccess}\n />\n\n setPaymentsIds(null)}\n onCreate={(response) => {\n setIdPayModal(response?.payment?.id);\n setPaymentsIds(null);\n }}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttFormSelect,\n SttFormPrice,\n SttSelectPForm,\n SttFormTextarea,\n} from '../../sporttia/all';\nimport { parsePrice, formatPriceByLocale } from '../../lib/utils';\n\n/**\n *\n *\tProps\n *\n *\t* array mship\n *\t* function onClose\n *\t* function onSuccess: si se realiza un depósito satisfactoriamente\n *\n */\nexport default function ChargePurseDialog({ mship, onClose, onSuccess }) {\n const cxt = useContext(AppContext);\n const [deposit, setDeposit] = useState({\n concept: '',\n paymentForm: 'CASH',\n chargingOption: null,\n price: '',\n });\n const [chargingOptions, setChargingOptions] = useState([]);\n const [purseAction, setPurseAction] = useState('Deposit');\n const paymentMethods = ['CASH', 'BANK', 'DATAFONO', 'FREE', ''];\n const returnPaymentMethods = ['CASH', 'BANK'];\n\n /**\n * Load charging options\n */\n const loadChargingOptions = () => {\n cxt.api('GET', `/scs/${cxt.sc.id}/chargings/options`, {\n params: { page: 1, rows: 100 },\n success: (r) => {\n setChargingOptions(r.rows);\n },\n });\n };\n\n /**\n * Add deposit\n */\n const addDeposit = () => {\n cxt.api('POST', `/mships/${mship.id}/purses/deposits`, {\n params: {\n concept: deposit.concept,\n paymentForm: deposit.paymentForm,\n price:\n parsePrice(\n purseAction === 'Return'\n ? -deposit.price\n : deposit.price,\n ) ||\n // Fallback to 0.00\n parsePrice(0),\n },\n success: () => {\n cxt.showMessage('S', cxt.t('page.sc.user.chargeSuccess'));\n onClose();\n if (onSuccess) {\n onSuccess();\n }\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n // Charing option changes\n let option;\n if (name === 'chargingOption') {\n option = chargingOptions.find((e) => e.id === value);\n }\n\n const newDeposit = { ...deposit, [name]: value };\n if (option) {\n newDeposit.price = option.amount;\n }\n setDeposit(newDeposit);\n };\n\n /**\n * Init\n */\n useEffect(() => {\n loadChargingOptions();\n }, []);\n\n // -----| Render |-----\n return (\n (onClose ? onClose() : null)}\n maxWidth=\"md\"\n content={\n \n \n\n {\n setPurseAction(value);\n setDeposit({ ...deposit, paymentForm: 'CASH' });\n }}\n options={[\n { caption: cxt.t('Deposit'), value: 'Deposit' },\n { caption: cxt.t('Return'), value: 'Return' },\n ]}\n />\n\n \n\n {purseAction === 'Deposit' && (\n ({\n caption: `${cxt.t(\n 'Amount',\n )}: ${formatPriceByLocale(\n opt?.amount,\n opt?.amountShape?.currency,\n opt?.amountShape?.locale,\n )}${\n opt.bonus\n ? `, bonus: ${formatPriceByLocale(\n opt?.bonusShape?.price,\n opt?.bonusShape?.currency,\n opt?.bonusShape?.locale,\n )}`\n : ''\n }`,\n value: opt.id,\n }))}\n />\n )}\n \n \n }\n buttons={[\n { type: 'accept', onClick: () => addDeposit() },\n { type: 'close', onClick: onClose ? () => onClose() : null },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttTable,\n SttTopControls,\n SttChipPurseMov,\n SttChipUser,\n} from '../../../sporttia/all';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport ChargePurseDialog from '../../../components/dialogs/ChargePurseDialog';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function MshipPurseMovs({ mship }) {\n const cxt = useContext(AppContext);\n const [movs, setMovs] = useState({});\n const [idPayModal, setIdPayModal] = useState(null);\n const [chargingPurseMship, setChargingPurseMship] = useState(null);\n const [searchingkeyword, setSearchingKeyword] = useState('');\n const defaultNumRows = 20;\n\n useEffect(() => {\n loadMovs();\n }, [mship]);\n\n const loadMovs = (\n p = { page: 1, numRows: defaultNumRows, concept: '' },\n ) => {\n cxt.api('GET', `/mships/${mship.id}/purses/movs`, {\n params: {\n page: p.page,\n rows: p.numRows,\n concept: searchingkeyword,\n },\n success: (r) => {\n setMovs(r);\n },\n });\n };\n\n const handleSearch = ({ searchText }) => {\n loadMovs({ page: 1, numRows: defaultNumRows, concept: searchText });\n };\n\n const openPayment = (pay) => {\n setIdPayModal(pay.id);\n };\n\n return (\n <>\n setSearchingKeyword(value),\n },\n ]}\n onFilter={handleSearch}\n mainAction={{\n type: 'create',\n onClick: () => setChargingPurseMship(mship),\n }}\n />\n\n {\n openPayment(mov.payment);\n }}\n columns={[\n {\n field: 'created',\n title: cxt.t('Created'),\n width: 140,\n value: (r) => (\n <>\n \n \n {new DateBuilder(\n r.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmyhm()}\n \n \n ),\n },\n {\n field: 'type',\n title: cxt.t('Type'),\n value: (r) => ,\n align: 'center',\n },\n {\n field: 'concept',\n title: cxt.t('Concept'),\n align: 'left',\n },\n {\n field: 'pf',\n title: cxt.t('PaymentForm'),\n value: (r) => r.payment.paymentForm,\n type: 'pf',\n },\n { field: 'amount', title: cxt.t('Amount'), type: 'price' },\n {\n field: 'balance',\n title: cxt.t('Balance'),\n type: 'price',\n },\n ]}\n onFetch={loadMovs}\n />\n\n {idPayModal && (\n setIdPayModal(null)}\n />\n )}\n\n {chargingPurseMship && (\n setChargingPurseMship(null)}\n onSuccess={() => loadMovs()}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Container, Box, Paper, Tabs, Tab, Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttFormText,\n SttTabs,\n SttFormDate,\n SttTable,\n SttFormPeriod,\n SttChipUser,\n SttFormSelect,\n SttButtonFilter,\n} from '../../../sporttia/all';\nimport BookingDialog from '../../../components/dialogs/bookingDialog/BookingDialog';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function MshipBookings({ mship }) {\n const cxt = useContext(AppContext);\n const [bookings, setBookings] = useState({});\n const [filter, setFilter] = useState({\n ini: moment().format('YYYY-MM-DDTHH:mm:ss'),\n end: moment().format('YYYY-MM-DDTHH:mm:ss'),\n source: null,\n });\n const [dialogBookingId, setDialogBookingId] = useState();\n\n /**\n * Get bookings\n */\n const loadBookings = (p = { page: 1, rows: 20 }) => {\n cxt.api('GET', `/mships/${mship.id}/bookings`, {\n params: {\n page: p.page,\n rows: p.rows,\n ini: moment(filter.ini).format('YYYY-MM-DD'),\n end: moment(filter.end).format('YYYY-MM-DD'),\n source: filter.source,\n },\n success: (r) => {\n setBookings(r);\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setFilter({ ...filter, [name]: value });\n };\n\n // -----| Render |-----\n return (\n <>\n \n \n \n\n \n\n \n loadBookings()}\n fullWidth\n />\n \n \n \n\n {\n setDialogBookingId(booking.id);\n }}\n columns={[\n {\n field: 'created',\n title: cxt.t('Created'),\n width: 140,\n value: (r) => (\n <>\n \n \n {new DateBuilder(\n r?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang.key,\n ).dmyhm()}\n \n \n ),\n },\n {\n field: 'created',\n title: cxt.t('Modified'),\n value: (r) =>\n new DateBuilder(\n r?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang.key,\n ).dmy(),\n },\n {\n field: 'user.name',\n title: cxt.t('User'),\n value: (r) => r.user.name,\n },\n { field: 'ini', title: cxt.t('Date'), type: 'dmy' },\n {\n field: 'time',\n title: cxt.t('Time'),\n value: (r) => ({ ini: r.ini, end: r.end }),\n type: 'periodTime',\n },\n {\n field: 'facility',\n title: cxt.t('Facility'),\n value: (r) => r.facility.name,\n },\n { field: 'price', title: cxt.t('Total'), type: 'price' },\n ]}\n onFetch={loadBookings}\n />\n\n setDialogBookingId(null)}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport {\n AppContext,\n SttTable,\n SttLabelFee,\n SttChipPForm,\n SttLabelDate,\n SttTopControls,\n} from '../../../sporttia/all';\nimport StudentDialog from '../../../components/dialogs/StudentDialog';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function MshipStudents({ mship }) {\n const cxt = useContext(AppContext);\n const [students, setStudents] = useState({});\n const [studentDialogId, setStudentDialogId] = useState(null);\n const [filter, setFilter] = useState({\n actName: '',\n onTime: 'Y',\n });\n\n const loadStudents = (p = { page: 1, numRows: 20 }) => {\n cxt.api('GET', `/mships/${mship.id}/students`, {\n params: {\n page: p.page,\n rows: p.numRows,\n actName: filter.actName,\n onTime: filter.onTime === 'Y',\n },\n success: (r) => {\n setStudents(r);\n },\n });\n };\n\n useEffect(() => {\n loadStudents();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filter.onTime]);\n\n const handleFormSearch = ({ name, value }) => {\n setFilter({ ...filter, [name]: value });\n };\n\n return (\n <>\n \n\n setStudentDialogId(student.id)}\n columns={[\n {\n field: 'classRate',\n align: 'left',\n title: `${cxt.t('Activity')} / ${cxt.t('Rate')}`,\n value: (r) => (\n <>\n \n {r.rate.activity.name}\n \n {r.rate.name}\n \n ),\n },\n {\n field: 'period',\n type: 'period',\n title: cxt.t('Period'),\n value: (r) => ({\n ini: r.ini,\n end: r.end,\n }),\n },\n {\n field: 'inscription',\n title: cxt.t('Inscription'),\n value: (r) => (\n <>\n \n
\n {r.enrollment && r.enrollment.price\n ? `${formatPriceByLocale(\n r.enrollment.price,\n cxt.sc?.city?.country?.currency,\n )}`\n : null}\n \n ),\n },\n {\n field: 'fee',\n title: cxt.t('Fee'),\n value: (r) => (\n <>\n \n {r.rate.fee ? (\n \n ) : null}\n \n ),\n },\n ]}\n onFetch={loadStudents}\n />\n\n {studentDialogId && (\n {\n setStudentDialogId(null);\n }}\n onSave={loadStudents}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Container, Box, Paper, Tabs, Tab, Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttFormText,\n SttTabs,\n SttFormDate,\n SttTable,\n SttChipEventType,\n SttChipEventKind,\n} from '../../../sporttia/all';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function MshipEventParticipants({ mship }) {\n const cxt = useContext(AppContext);\n const [participants, setEventParticipants] = useState({});\n\n /**\n * Get participants\n */\n const loadEventParticipants = (p = {}) => {\n cxt.api('GET', `/mships/${mship.id}/events/participants`, {\n params: {\n page: p.page,\n rows: p.numRows,\n },\n success: (r) => {\n setEventParticipants(r);\n },\n });\n };\n // -----| Render |-----\n return (\n \n new DateBuilder(\n row?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).cdlhm(),\n },\n {\n field: 'eventCategory',\n title: `${cxt.t('Event')} / ${cxt.t('Category')}`,\n align: 'left',\n value: (r) => (\n <>\n {r.category.event.name}\n
\n {cxt.t('Category')}: {r.category.name}\n
\n \n ),\n },\n {\n field: 'kind',\n title: cxt.t('Kind'),\n value: (r) => (\n \n ),\n },\n {\n field: 'type',\n title: cxt.t('Inscription'),\n value: (r) => (\n \n ),\n },\n {\n field: 'period',\n title: cxt.t('Period'),\n value: (r) => ({\n ini: r.category.event.ini,\n end: r.category.event.end,\n }),\n type: 'period',\n },\n {\n field: 'price',\n title: cxt.t('Price'),\n type: 'price',\n value: (r) => (r.enrollment ? r.enrollment.price : null),\n },\n ]}\n onFetch={loadEventParticipants}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext, SttList } from '../../../sporttia/all';\nimport { useTranslations } from '../../../lib/hooks';\n\nexport default function MshipPrivileges({ mship }) {\n const cxt = useContext(AppContext);\n const [privileges, setPrivileges] = useState([]);\n const { translate } = useTranslations();\n /**\n * Get privileges\n */\n const loadPrivileges = (p = {}) => {\n cxt.api('GET', `/mships/${mship.id}/privileges`, {\n params: {\n page: p.page,\n rows: p.numRows,\n },\n success: (r) => {\n setPrivileges(r.privileges);\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n loadPrivileges();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // -----| Render |-----\n return (\n ({\n caption: translate(priv?.name),\n text: translate(priv?.description),\n chips: priv?.group?.name\n ? [{ caption: translate(priv?.group?.name) }]\n : null,\n }))\n }\n />\n );\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { getThemeProps, useTheme } from '@material-ui/styles';\nexport default function useMediaQuery(queryInput) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var theme = useTheme();\n var props = getThemeProps({\n theme: theme,\n name: 'MuiUseMediaQuery',\n props: {}\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['Material-UI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n var query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, ''); // Wait for jsdom to support the match media feature.\n // All the browsers Material-UI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n\n var supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n\n var _props$options = _extends({}, props, options),\n _props$options$defaul = _props$options.defaultMatches,\n defaultMatches = _props$options$defaul === void 0 ? false : _props$options$defaul,\n _props$options$matchM = _props$options.matchMedia,\n matchMedia = _props$options$matchM === void 0 ? supportMatchMedia ? window.matchMedia : null : _props$options$matchM,\n _props$options$noSsr = _props$options.noSsr,\n noSsr = _props$options$noSsr === void 0 ? false : _props$options$noSsr,\n _props$options$ssrMat = _props$options.ssrMatchMedia,\n ssrMatchMedia = _props$options$ssrMat === void 0 ? null : _props$options$ssrMat;\n\n var _React$useState = React.useState(function () {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n } // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n\n\n return defaultMatches;\n }),\n match = _React$useState[0],\n setMatch = _React$useState[1];\n\n React.useEffect(function () {\n var active = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n var queryList = matchMedia(query);\n\n var updateMatch = function updateMatch() {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui-org/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n\n updateMatch();\n queryList.addListener(updateMatch);\n return function () {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query: query,\n match: match\n });\n }\n\n return match;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { getDisplayName } from '@material-ui/utils';\nimport { getThemeProps } from '@material-ui/styles';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport useTheme from '../styles/useTheme';\nimport { keys as breakpointKeys } from '../styles/createBreakpoints';\nimport useMediaQuery from '../useMediaQuery'; // By default, returns true if screen width is the same or greater than the given breakpoint.\n\nexport var isWidthUp = function isWidthUp(breakpoint, width) {\n var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (inclusive) {\n return breakpointKeys.indexOf(breakpoint) <= breakpointKeys.indexOf(width);\n }\n\n return breakpointKeys.indexOf(breakpoint) < breakpointKeys.indexOf(width);\n}; // By default, returns true if screen width is the same or less than the given breakpoint.\n\nexport var isWidthDown = function isWidthDown(breakpoint, width) {\n var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (inclusive) {\n return breakpointKeys.indexOf(width) <= breakpointKeys.indexOf(breakpoint);\n }\n\n return breakpointKeys.indexOf(width) < breakpointKeys.indexOf(breakpoint);\n};\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n\nvar withWidth = function withWidth() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function (Component) {\n var _options$withTheme = options.withTheme,\n withThemeOption = _options$withTheme === void 0 ? false : _options$withTheme,\n _options$noSSR = options.noSSR,\n noSSR = _options$noSSR === void 0 ? false : _options$noSSR,\n initialWidthOption = options.initialWidth;\n\n function WithWidth(props) {\n var contextTheme = useTheme();\n var theme = props.theme || contextTheme;\n\n var _getThemeProps = getThemeProps({\n theme: theme,\n name: 'MuiWithWidth',\n props: _extends({}, props)\n }),\n initialWidth = _getThemeProps.initialWidth,\n width = _getThemeProps.width,\n other = _objectWithoutProperties(_getThemeProps, [\"initialWidth\", \"width\"]);\n\n var _React$useState = React.useState(false),\n mountedState = _React$useState[0],\n setMountedState = _React$useState[1];\n\n useEnhancedEffect(function () {\n setMountedState(true);\n }, []);\n /**\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n var keys = theme.breakpoints.keys.slice().reverse();\n var widthComputed = keys.reduce(function (output, key) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var matches = useMediaQuery(theme.breakpoints.up(key));\n return !output && matches ? key : output;\n }, null);\n\n var more = _extends({\n width: width || (mountedState || noSSR ? widthComputed : undefined) || initialWidth || initialWidthOption\n }, withThemeOption ? {\n theme: theme\n } : {}, other); // When rendering the component on the server,\n // we have no idea about the client browser screen width.\n // In order to prevent blinks and help the reconciliation of the React tree\n // we are not rendering the child component.\n //\n // An alternative is to use the `initialWidth` property.\n\n\n if (more.width === undefined) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Component, more);\n }\n\n process.env.NODE_ENV !== \"production\" ? WithWidth.propTypes = {\n /**\n * As `window.innerWidth` is unavailable on the server,\n * we default to rendering an empty component during the first mount.\n * You might want to use an heuristic to approximate\n * the screen width of the client browser screen width.\n *\n * For instance, you could be using the user-agent or the client-hints.\n * https://caniuse.com/#search=client%20hint\n */\n initialWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n\n /**\n * @ignore\n */\n theme: PropTypes.object,\n\n /**\n * Bypass the width calculation logic.\n */\n width: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])\n } : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n WithWidth.displayName = \"WithWidth(\".concat(getDisplayName(Component), \")\");\n }\n\n hoistNonReactStatics(WithWidth, Component);\n return WithWidth;\n };\n};\n\nexport default withWidth;","import PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nimport withWidth, { isWidthDown, isWidthUp } from '../withWidth';\nimport useTheme from '../styles/useTheme';\n/**\n * @ignore - internal component.\n */\n\nfunction HiddenJs(props) {\n var children = props.children,\n only = props.only,\n width = props.width;\n var theme = useTheme();\n var visible = true; // `only` check is faster to get out sooner if used.\n\n if (only) {\n if (Array.isArray(only)) {\n for (var i = 0; i < only.length; i += 1) {\n var breakpoint = only[i];\n\n if (width === breakpoint) {\n visible = false;\n break;\n }\n }\n } else if (only && width === only) {\n visible = false;\n }\n } // Allow `only` to be combined with other props. If already hidden, no need to check others.\n\n\n if (visible) {\n // determine visibility based on the smallest size up\n for (var _i = 0; _i < theme.breakpoints.keys.length; _i += 1) {\n var _breakpoint = theme.breakpoints.keys[_i];\n var breakpointUp = props[\"\".concat(_breakpoint, \"Up\")];\n var breakpointDown = props[\"\".concat(_breakpoint, \"Down\")];\n\n if (breakpointUp && isWidthUp(_breakpoint, width) || breakpointDown && isWidthDown(_breakpoint, width)) {\n visible = false;\n break;\n }\n }\n }\n\n if (!visible) {\n return null;\n }\n\n return children;\n}\n\nHiddenJs.propTypes = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Specify which implementation to use. 'js' is the default, 'css' works better for\n * server-side rendering.\n */\n implementation: PropTypes.oneOf(['js', 'css']),\n\n /**\n * You can use this prop when choosing the `js` implementation with server-side rendering.\n *\n * As `window.innerWidth` is unavailable on the server,\n * we default to rendering an empty component during the first mount.\n * You might want to use an heuristic to approximate\n * the screen width of the client browser screen width.\n *\n * For instance, you could be using the user-agent or the client-hints.\n * https://caniuse.com/#search=client%20hint\n */\n initialWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n lgDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n lgUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n mdDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n mdUp: PropTypes.bool,\n\n /**\n * Hide the given breakpoint(s).\n */\n only: PropTypes.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), PropTypes.arrayOf(PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']))]),\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n smDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n smUp: PropTypes.bool,\n\n /**\n * @ignore\n * width prop provided by withWidth decorator.\n */\n width: PropTypes.string.isRequired,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n xlDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n xlUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n xsDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n xsUp: PropTypes.bool\n};\n\nif (process.env.NODE_ENV !== 'production') {\n HiddenJs.propTypes = exactProp(HiddenJs.propTypes);\n}\n\nexport default withWidth()(HiddenJs);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport capitalize from '../utils/capitalize';\nimport withStyles from '../styles/withStyles';\nimport useTheme from '../styles/useTheme';\n\nvar styles = function styles(theme) {\n var hidden = {\n display: 'none'\n };\n return theme.breakpoints.keys.reduce(function (acc, key) {\n acc[\"only\".concat(capitalize(key))] = _defineProperty({}, theme.breakpoints.only(key), hidden);\n acc[\"\".concat(key, \"Up\")] = _defineProperty({}, theme.breakpoints.up(key), hidden);\n acc[\"\".concat(key, \"Down\")] = _defineProperty({}, theme.breakpoints.down(key), hidden);\n return acc;\n }, {});\n};\n/**\n * @ignore - internal component.\n */\n\n\nfunction HiddenCss(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n only = props.only,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"only\"]);\n\n var theme = useTheme();\n\n if (process.env.NODE_ENV !== 'production') {\n var unknownProps = Object.keys(other).filter(function (propName) {\n var isUndeclaredBreakpoint = !theme.breakpoints.keys.some(function (breakpoint) {\n return \"\".concat(breakpoint, \"Up\") === propName || \"\".concat(breakpoint, \"Down\") === propName;\n });\n return isUndeclaredBreakpoint;\n });\n\n if (unknownProps.length > 0) {\n console.error(\"Material-UI: Unsupported props received by ``: \".concat(unknownProps.join(', '), \". Did you forget to wrap this component in a ThemeProvider declaring these breakpoints?\"));\n }\n }\n\n var clsx = [];\n\n if (className) {\n clsx.push(className);\n }\n\n for (var i = 0; i < theme.breakpoints.keys.length; i += 1) {\n var breakpoint = theme.breakpoints.keys[i];\n var breakpointUp = props[\"\".concat(breakpoint, \"Up\")];\n var breakpointDown = props[\"\".concat(breakpoint, \"Down\")];\n\n if (breakpointUp) {\n clsx.push(classes[\"\".concat(breakpoint, \"Up\")]);\n }\n\n if (breakpointDown) {\n clsx.push(classes[\"\".concat(breakpoint, \"Down\")]);\n }\n }\n\n if (only) {\n var onlyBreakpoints = Array.isArray(only) ? only : [only];\n onlyBreakpoints.forEach(function (breakpoint) {\n clsx.push(classes[\"only\".concat(capitalize(breakpoint))]);\n });\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: clsx.join(' ')\n }, children);\n}\n\nprocess.env.NODE_ENV !== \"production\" ? HiddenCss.propTypes = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Specify which implementation to use. 'js' is the default, 'css' works better for\n * server-side rendering.\n */\n implementation: PropTypes.oneOf(['js', 'css']),\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n lgDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n lgUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n mdDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n mdUp: PropTypes.bool,\n\n /**\n * Hide the given breakpoint(s).\n */\n only: PropTypes.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), PropTypes.arrayOf(PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']))]),\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n smDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n smUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n xlDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n xlUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n xsDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n xsUp: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n name: 'PrivateHiddenCss'\n})(HiddenCss);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport HiddenJs from './HiddenJs';\nimport HiddenCss from './HiddenCss';\n/**\n * Responsively hides children based on the selected implementation.\n */\n\nfunction Hidden(props) {\n var _props$implementation = props.implementation,\n implementation = _props$implementation === void 0 ? 'js' : _props$implementation,\n _props$lgDown = props.lgDown,\n lgDown = _props$lgDown === void 0 ? false : _props$lgDown,\n _props$lgUp = props.lgUp,\n lgUp = _props$lgUp === void 0 ? false : _props$lgUp,\n _props$mdDown = props.mdDown,\n mdDown = _props$mdDown === void 0 ? false : _props$mdDown,\n _props$mdUp = props.mdUp,\n mdUp = _props$mdUp === void 0 ? false : _props$mdUp,\n _props$smDown = props.smDown,\n smDown = _props$smDown === void 0 ? false : _props$smDown,\n _props$smUp = props.smUp,\n smUp = _props$smUp === void 0 ? false : _props$smUp,\n _props$xlDown = props.xlDown,\n xlDown = _props$xlDown === void 0 ? false : _props$xlDown,\n _props$xlUp = props.xlUp,\n xlUp = _props$xlUp === void 0 ? false : _props$xlUp,\n _props$xsDown = props.xsDown,\n xsDown = _props$xsDown === void 0 ? false : _props$xsDown,\n _props$xsUp = props.xsUp,\n xsUp = _props$xsUp === void 0 ? false : _props$xsUp,\n other = _objectWithoutProperties(props, [\"implementation\", \"lgDown\", \"lgUp\", \"mdDown\", \"mdUp\", \"smDown\", \"smUp\", \"xlDown\", \"xlUp\", \"xsDown\", \"xsUp\"]);\n\n if (implementation === 'js') {\n return /*#__PURE__*/React.createElement(HiddenJs, _extends({\n lgDown: lgDown,\n lgUp: lgUp,\n mdDown: mdDown,\n mdUp: mdUp,\n smDown: smDown,\n smUp: smUp,\n xlDown: xlDown,\n xlUp: xlUp,\n xsDown: xsDown,\n xsUp: xsUp\n }, other));\n }\n\n return /*#__PURE__*/React.createElement(HiddenCss, _extends({\n lgDown: lgDown,\n lgUp: lgUp,\n mdDown: mdDown,\n mdUp: mdUp,\n smDown: smDown,\n smUp: smUp,\n xlDown: xlDown,\n xlUp: xlUp,\n xsDown: xsDown,\n xsUp: xsUp\n }, other));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Hidden.propTypes = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * Specify which implementation to use. 'js' is the default, 'css' works better for\n * server-side rendering.\n */\n implementation: PropTypes.oneOf(['js', 'css']),\n\n /**\n * You can use this prop when choosing the `js` implementation with server-side rendering.\n *\n * As `window.innerWidth` is unavailable on the server,\n * we default to rendering an empty component during the first mount.\n * You might want to use an heuristic to approximate\n * the screen width of the client browser screen width.\n *\n * For instance, you could be using the user-agent or the client-hints.\n * https://caniuse.com/#search=client%20hint\n */\n initialWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n lgDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n lgUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n mdDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n mdUp: PropTypes.bool,\n\n /**\n * Hide the given breakpoint(s).\n */\n only: PropTypes.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), PropTypes.arrayOf(PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']))]),\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n smDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n smUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n xlDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n xlUp: PropTypes.bool,\n\n /**\n * If `true`, screens this size and down will be hidden.\n */\n xsDown: PropTypes.bool,\n\n /**\n * If `true`, screens this size and up will be hidden.\n */\n xsUp: PropTypes.bool\n} : void 0;\nexport default Hidden;","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Chip,\n FormControlLabel,\n Grid,\n Hidden,\n Link,\n Switch,\n} from '@material-ui/core';\nimport {\n AppContext,\n SttLabelFee,\n SttFeeRow,\n SttList,\n SttLabelPeriod,\n SttSelectGroupDialog,\n SttButtonNew,\n} from '../../../sporttia/all';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport { useToggle } from '../../../lib/hooks';\nimport SttGroupMemberDialog from '../../../sporttia/dialogs/groupMemberDialog/SttGroupMemberDialog';\n\nexport default function MshipGroups({ mship }) {\n const cxt = useContext(AppContext);\n const [groupMships, setGroupMships] = useState({});\n const [selectGroupOpen, setSelectGroupOpen] = useState(false);\n const [idPayModal, setIdPayModal] = useState(null);\n const [active, toggleActive] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadGroups();\n });\n const [selectedGroup, setSelectedGroup] = useState({});\n\n const loadGroups = () => {\n cxt.api('GET', `/mships/${mship.id}/groups/mships`, {\n params: {\n page: 1,\n rows: 100,\n fetchFees: 1,\n onlyActive: active,\n },\n success: (r) => {\n setGroupMships(r);\n },\n });\n };\n\n const addUserToGroup = (group) => {\n cxt.api('POST', `/groups/${group.id}/users/${mship.user.id}`, {\n success: () => {\n loadGroups();\n cxt.showMessage('S', cxt.t('Saved'));\n setSelectGroupOpen(false);\n },\n });\n };\n\n const renderCell = (ug) => (\n <>\n \n \n setSelectedGroup(ug)}>\n {ug.group.name}\n \n\n {ug.benefactor && (\n

\n \n

\n )}\n
\n \n \n {ug.group.numActiveUsers}\n \n \n \n \n {cxt.t(`GT.${ug.group.type}`)}\n \n \n \n \n {ug.enrollment && ug.enrollment.price}\n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n {ug.fees && (\n setIdPayModal(id)}\n />\n )}\n \n \n );\n\n /**\n * Init\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(loadGroups, []);\n\n return (\n <>\n \n \n \n setSelectGroupOpen(true)}\n />\n \n \n \n toggleActive(ev.target.checked)\n }\n />\n }\n label={cxt.t('OnlyActiveOnes')}\n />\n \n \n \n\n ({\n caption: renderCell(ug),\n }))\n }\n />\n\n {selectGroupOpen && (\n setSelectGroupOpen(false)}\n onSelect={(group) => addUserToGroup(group)}\n />\n )}\n\n {idPayModal && (\n setIdPayModal(null)}\n />\n )}\n\n {selectedGroup.id && (\n setSelectedGroup({})}\n onUpdateMember={() => {\n setSelectedGroup({});\n loadGroups();\n }}\n />\n )}\n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Paper } from '@material-ui/core';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport {\n SttButtonFab,\n SttChipEventKind,\n SttChipEventType,\n SttChipFileFormat,\n SttChipFileType,\n SttFileDialog,\n SttTable,\n SttUploadDialog,\n} from '../../../sporttia/all';\nimport { updateElementInArray } from '../../../lib/utils';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function MshipDocuments({ mship }) {\n const cxt = useContext(AppContext);\n const [userFiles, setUserFiles] = useState({});\n const [openFileId, setOpenFileId] = useState();\n const [uploadFileOpen, setUploadFileOpen] = useState(false);\n\n /**\n * Get user files.\n */\n const loadUserFiles = (p = {}) => {\n cxt.api('GET', `/mships/${mship.id}/files`, {\n params: {\n ...p,\n },\n success: (r) => {\n setUserFiles(r);\n },\n });\n };\n\n /**\n * Update file\n */\n const updateFile = (file) => {\n setUserFiles({\n ...userFiles,\n rows: updateElementInArray(userFiles.rows, file),\n });\n setOpenFileId(null);\n };\n\n // -----| Render |-----\n return (\n <>\n \n new DateBuilder(\n row?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy(),\n },\n {\n type: 'link',\n align: 'left',\n title: cxt.t('Name'),\n value: (row) => row.name || cxt.t('Noname'),\n onClick: (row) => setOpenFileId(row.id),\n },\n {\n title: cxt.t('Type'),\n field: 'type',\n value: (row) => ,\n },\n {\n title: cxt.t('Format'),\n value: (row) => (\n \n ),\n },\n ]}\n onFetch={loadUserFiles}\n />\n\n setUploadFileOpen(true)} />\n\n setUploadFileOpen(false)}\n onUploaded={(r) => {\n setUploadFileOpen(false);\n loadUserFiles();\n }}\n />\n\n setOpenFileId(null)}\n onUpdate={updateFile}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper, Button } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport { AppContext, SttTabs, SttFullDialog } from '../../../sporttia/all';\nimport MshipDetail from './MshipDetail';\nimport MshipPayments from './MshipPayments';\nimport MshipPurseMovs from './MshipPurseMovs';\nimport MshipBookings from './MshipBookings';\nimport MshipStudents from './MshipStudents';\nimport MshipEventParticipants from './MshipEventParticipants';\nimport MshipPrivileges from './MshipPrivileges';\nimport MshipGroups from './MshipGroups';\nimport MshipDocuments from './MshipDocuments';\nimport translations from '../../../translations';\n\nexport default function Mship({ id, open, onClose }) {\n const cxt = useContext(AppContext);\n const [mship, setMship] = useState();\n\n const loadMship = () => {\n cxt.api('GET', `/mships/${id}`, {\n success: (r) => {\n setMship(r.mship);\n },\n });\n };\n\n useEffect(() => {\n if (id) {\n loadMship();\n }\n\n return () => {\n setTimeout(() => setMship(null), 50);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n function handleChangeMship({ name, value }) {\n switch (name) {\n case 'tutor':\n setMship({ ...mship, tutor: value || '' });\n break;\n case 'city.name':\n setMship({ ...mship, city: value ? value.city : '' });\n break;\n case 'iban':\n setMship({ ...mship, iban: value === '' ? null : value });\n break;\n default:\n setMship({ ...mship, [name]: value });\n }\n }\n\n const restoreUser = () => {\n cxt.api('PUT', `/mships/${mship.id}`, {\n params: {\n status: 'ACTIVE',\n },\n success: (r) => {\n setMship(r.mship);\n cxt.showMessage('S', cxt.t(translations.generic.recovered));\n },\n });\n };\n\n return (\n \n \n {mship?.status === 'INACTIVE' && (\n \n {cxt.t(translations.generic.recover)}\n \n }\n >\n {cxt.t(translations.mship.mshipDeleted)}\n \n )}\n\n \n ),\n },\n {\n caption: cxt.t(translations.payment.payments),\n show: !!mship,\n component: ,\n },\n {\n caption: cxt.t(translations.generic.purse),\n show: !!mship,\n component: ,\n },\n {\n caption: cxt.t(translations.generic.groups),\n show: !!mship,\n component: ,\n },\n {\n caption: cxt.t(translations.generic.bookings),\n show: !!mship,\n component: ,\n },\n {\n caption: cxt.t(translations.generic.activities),\n show: !!mship,\n component: ,\n },\n {\n caption: cxt.t(translations.generic.events),\n show: !!mship,\n component: ,\n },\n {\n caption: cxt.t(translations.generic.privileges),\n show: !!mship,\n component: ,\n },\n {\n caption: cxt.t(translations.generic.documents),\n show: !!mship,\n component: ,\n },\n ]}\n />\n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport {\n Avatar,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n ListItemIcon,\n Divider,\n} from '@material-ui/core';\nimport AddIcon from '@material-ui/icons/Add';\nimport { AppContext } from '../AppContext';\nimport { SttList } from './SttList';\n\nexport function SttTerrainList({ terrains, onCreate, onAdd, onDelete }) {\n const cxt = useContext(AppContext);\n\n const [selectionOpen, setSelectionOpen] = useState(false);\n const [allTerrains, setAllTerrains] = useState();\n\n function openAddTerrain() {\n setSelectionOpen(true);\n }\n\n /**\n * Load all terrains\n */\n useEffect(() => {\n // Fetch all terrains on the sports center\n if (selectionOpen && !allTerrains) {\n cxt.api('GET', `/scs/${cxt.sc.id}/terrains`, {\n params: { rows: 1000 },\n success: (response) => {\n if (response.rows) {\n setAllTerrains(response.rows);\n }\n },\n });\n }\n }, [selectionOpen]);\n\n function selectTerrain(terrain) {\n setSelectionOpen(false);\n onAdd(terrain);\n }\n\n function createTerrain(terrain) {\n setSelectionOpen(false);\n onCreate(terrain);\n }\n\n // Filter terrains by culling from 'allTerrains' those already present in 'terrains'\n let filteredTerrains = [{ id: null, name: cxt.t('NewTerrain') }];\n if (allTerrains) {\n filteredTerrains = filteredTerrains.concat(\n allTerrains.filter(\n (terrain) => !terrains.find((t) => t.id === terrain.id),\n ),\n );\n }\n\n // -----| Render |-----\n return (\n <>\n ({\n caption: terrain.name,\n objToSelect: terrain,\n }))\n }\n />\n\n setSelectionOpen(false)}\n open={selectionOpen}\n >\n {cxt.t('Terrains')}\n \n {filteredTerrains.map((terrain, idx) => (\n selectTerrain(terrain)\n : () => createTerrain(terrain)\n }\n >\n {!terrain.id && (\n \n \n \n )}\n\n \n \n ))}\n \n \n \n );\n}\n","import React from 'react';\nimport {\n Grid,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n} from '@material-ui/core';\n\n/**\n * Componente para seleccionar intervalos de numeros. Empezando por min, hasta max, cada interval. El valor 0 estará representado por ∞.\n * string caption - field caption\n * int labelWidth - optional with for the caption can be provided\n * int defVal - selected value\n * int min - minimum value available for selection\n * int max - maximum value available for selection\n * int interval - length of intervals\n * Function onChange(number) - callback for select\n */\nexport function SttSelectNumbersInterval({\n grid = false,\n caption,\n labelWidth = 60,\n defVal = 0,\n min = 10,\n max = 23 * 60, // From 00:00 to 23:00\n interval,\n onChange,\n ...rest\n}) {\n const menuItems = [];\n\n // Creamos los elementos\n for (let i = min; i <= max; i += interval) {\n menuItems.push(\n \n {i === 0 ? '∞' : i}\n ,\n );\n }\n\n const content = (\n \n {caption}\n onChange(e.target.value)}\n labelWidth={labelWidth}\n >\n {menuItems}\n \n \n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport {\n Grid,\n Paper,\n Box,\n InputLabel,\n FormControl,\n Select,\n MenuItem,\n Typography,\n} from '@material-ui/core';\nimport {\n AppContext,\n SttSportSelector,\n SttSelectInterval,\n SttGoogleMap,\n SttFormText,\n SttFormTextarea,\n SttFormCheck,\n SttButtonSave,\n SttButtonDelete,\n SttButtonCancel,\n SttButtonRecover,\n SttFormTime,\n SttFullDialog,\n} from '../../../sporttia/all';\nimport { SttTerrainList } from '../../../sporttia/lists/SttTerrainList';\nimport { SttSelectNumbersInterval } from '../../../sporttia/selectors/SttSelectNumbersInterval';\nimport useFacilitiesService from '../../../services/FacilitiesService';\nimport Sport from '../../../types/models/Sport';\nimport Terrain from '../../../types/models/Terrain';\nimport { FacilityResponse } from '../../../types/api/paths/Facility';\nimport Facility from '../../../types/models/Facility';\nimport { getErrorMessage } from '../../../lib/utils';\nimport constants from '../../../config/constants';\nimport translations from '../../../translations';\nimport Error from '../../../types/models/Error';\n\ntype FacilityParam = {\n id: number;\n trash: boolean;\n};\n\ntype FacilityProps = {\n item: FacilityParam;\n onClose: () => void;\n};\n\ntype GmapsParams = {\n lat: number;\n lng: number;\n};\n\nexport default function FacilityView({ item, onClose }: FacilityProps) {\n const cxt = useContext(AppContext)!;\n const [facility, setFacility] = useState();\n const facilitiesService = useFacilitiesService();\n\n /**\n * Load facility\n */\n function loadFacility(params = { page: 1, numRows: 20 }) {\n facilitiesService\n .get(item.id, { ...params, trash: item.trash })\n .then((response) => {\n if (response.facility) {\n const loaded = {\n ...response.facility,\n mandatoryEmail:\n response.facility.mandatoryEmail || false,\n mandatoryMobile:\n response.facility.mandatoryMobile || false,\n };\n setFacility(loaded);\n }\n })\n .catch((error) => {\n cxt.showMessage('E', getErrorMessage(error));\n });\n }\n\n /**\n * Init\n */\n useEffect(() => {\n // Creating new facility\n if (typeof item.id === 'number') {\n if (item.id === 0) {\n setFacility({\n defaultBooking: 0,\n id: 0,\n maxBooking: 0,\n timeiniLightsOn: '',\n name: '',\n description: '',\n address: '',\n status: '',\n position: null,\n mobile: '',\n cancelation: null,\n bookingInfo: '',\n mandatoryMobile: false,\n mandatoryEmail: false,\n sport: null,\n terrains: [],\n sets: [],\n maxOccupants: 0,\n generateOccupantUnlocker: 'NULL',\n });\n\n cxt.setHeader({\n title: cxt.t('NewFacility'),\n });\n\n // Updating facility\n } else {\n loadFacility();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n\n // Actualizar [x,y] de un terreno devolviendo una promesa\n function updateTerrainLatLng(terrain: Terrain, lat: number, lng: number) {\n return facilitiesService.updateTerrain(terrain.id, lat, lng);\n }\n\n // Si cambian lat,lng (evento lanzado al buscar en el mapa o mover el marcador), tenemos que actualizar los [x,y] de los terrenos.\n function onChangeLatLng({ lat, lng }: GmapsParams) {\n const terrains = [...facility!.terrains];\n\n let terrain;\n // eslint-disable-next-line no-cond-assign\n while ((terrain = terrains.shift())) {\n updateTerrainLatLng(terrain, lat, lng)\n .then((modifiedTerrain) => {\n const modified = facility!;\n modified.terrains =\n facility?.terrains.map((trr) =>\n trr.id === modifiedTerrain.id\n ? modifiedTerrain\n : trr,\n ) || [];\n setFacility(modified);\n })\n .catch(() => {});\n }\n }\n\n /**\n * Update facility\n * Dependiendo de si estamos creando nueva o modificando, llamamos a distintas funciones\n */\n function save() {\n if (!facility) {\n return;\n }\n\n const params = {\n name: facility.name,\n description: facility.description,\n address: facility.address,\n status: facility.status,\n position: facility.position,\n mobile: facility.mobile,\n cancelation: facility.cancelation ?? 0,\n bookingInfo: facility.bookingInfo,\n mandatoryMobile: facility.mandatoryMobile,\n mandatoryEmail: facility.mandatoryEmail,\n defaultBooking: facility.defaultBooking,\n maxBooking: facility.maxBooking,\n timeiniLightsOn: facility.timeiniLightsOn,\n maxOccupants: facility.maxOccupants,\n idSport: facility?.sport?.id || null,\n generateOccupantUnlocker:\n facility?.generateOccupantUnlocker ===\n constants.unlocker.types.noUnlocker\n ? null\n : facility?.generateOccupantUnlocker,\n };\n\n if (facility.id) {\n facilitiesService\n .update(facility.id, params)\n .then(() => {\n cxt.showMessage('S', cxt.t('Modified'));\n })\n .catch((errorWrapper: Error) => {\n cxt.showMessage('E', cxt.t(errorWrapper.error.msg));\n });\n } else {\n facilitiesService\n .create(cxt?.sc?.id, params)\n .then((response) => {\n if (response.facility) {\n setFacility(response.facility);\n cxt.showMessage('S', cxt.t('Created'));\n }\n })\n .catch((errorWrapper: Error) => {\n cxt.showMessage('E', cxt.t(errorWrapper.error.msg));\n });\n }\n }\n\n /**\n * Delete facility\n */\n function deleteFacility() {\n if (facility && facility.id) {\n facilitiesService\n .remove(facility.id)\n .then(onClose)\n .catch(() => {});\n }\n }\n\n /**\n * Recover facility\n */\n function recoverFacility() {\n if (facility && facility.id) {\n facilitiesService\n .recover(facility.id)\n .then(() => {\n loadFacility();\n });\n }\n }\n\n // Añadir un nuevo terreno mediante API\n function addNewTerrain() {\n if (facility && facility.id) {\n facilitiesService.createTerrain(facility?.id).then((response) => {\n if (response.terrain) {\n const newTerrain = {\n id: response.terrain.id,\n name: response.terrain.name,\n };\n setFacility({\n ...facility,\n terrains: facility.terrains\n ? facility.terrains.concat([newTerrain])\n : [newTerrain],\n });\n }\n });\n }\n }\n\n // Añadir terreno existente mediante API\n function addExistingTerrain(id: number) {\n if (facility && facility.id) {\n facilitiesService\n .addExistingTerrain(facility?.id, id)\n .then((response) => {\n if (response.terrain) {\n const newTerrain = {\n id: response.terrain.id,\n name: response.terrain.name,\n };\n setFacility({\n ...facility,\n terrains: facility.terrains\n ? facility.terrains.concat([newTerrain])\n : [newTerrain],\n });\n }\n });\n }\n }\n\n // Eliminar terreno mediante API\n function removeTerrain(terrain: Terrain) {\n if (facility && facility.id) {\n facilitiesService\n .removeTerrain(facility?.id, terrain.id)\n .then(() => {\n setFacility({\n ...facility,\n terrains: facility.terrains.filter(\n (trn) => trn.id !== terrain.id,\n ),\n });\n });\n }\n }\n\n let lat;\n let lng;\n\n if (facility && facility.terrains.length > 0) {\n lat = facility?.terrains[0]?.x || cxt?.sc?.mapX;\n lng = facility?.terrains[0]?.y || cxt?.sc?.mapY;\n } else {\n lat = cxt?.sc?.mapX;\n lng = cxt?.sc?.mapY;\n }\n\n if (!facility) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n \n {\n setFacility({\n ...facility,\n name: value,\n });\n }}\n />\n \n \n {\n setFacility({\n ...facility,\n description: value,\n });\n }}\n />\n \n\n {\n setFacility({\n ...facility,\n address: value,\n });\n }}\n />\n\n \n \n setFacility({\n ...facility,\n sport,\n })\n }\n />\n \n \n \n \n {cxt.t('Status')}\n \n \n setFacility({\n ...facility,\n status: String(\n e.target.value,\n ),\n })\n }\n labelWidth={60}\n >\n \n {cxt.t('FS.ACTIVE')}\n \n \n {cxt.t(\n 'const.FS.ACTIVE_ONLY_SC',\n )}\n \n \n {cxt.t('FS.INACTIVE')}\n \n \n \n \n \n \n \n {cxt.t(\n translations.generic\n .generateUnlockers,\n )}\n \n {\n const value = String(\n e.target.value,\n );\n setFacility({\n ...facility,\n generateOccupantUnlocker:\n value ===\n cxt.t(\n translations.generic\n .noUnlockers,\n )\n ? null\n : value,\n });\n }}\n labelWidth={160}\n >\n \n {cxt.t(\n translations.generic\n .noUnlockers,\n )}\n \n \n {translations.unlockers.QR}\n \n \n \n \n \n {\n setFacility({\n ...facility,\n position: parseInt(value, 10),\n });\n }}\n />\n \n \n {\n setFacility({\n ...facility,\n mobile: value,\n });\n }}\n />\n \n \n {\n setFacility({\n ...facility,\n cancelation: Number.isNaN(\n parseInt(value),\n )\n ? null\n : parseInt(value),\n });\n }}\n />\n \n\n {/* --- Default booking period --- */}\n \n \n setFacility({\n ...facility,\n defaultBooking: value,\n })\n }\n />\n \n\n {/* --- Max booking period --- */}\n \n {\n setFacility({\n ...facility,\n maxBooking: value,\n });\n }}\n />\n \n \n {/* @ts-expect-error pasar SttFormTime */}\n {\n setFacility({\n ...facility,\n timeiniLightsOn: value,\n });\n }}\n disableClearable={false}\n />\n \n \n {\n setFacility({\n ...facility,\n maxOccupants: value,\n });\n }}\n />\n \n \n {\n setFacility({\n ...facility,\n bookingInfo: value,\n });\n }}\n />\n \n \n
\n \n {cxt.t('MoreOptions')}\n \n
\n
\n {\n setFacility({\n ...facility,\n mandatoryMobile: value,\n });\n }}\n />\n
\n
\n {\n setFacility({\n ...facility,\n mandatoryEmail: value,\n });\n }}\n />\n
\n
\n
\n
\n {facility.id !== null && (\n \n \n \n {lat && lng && (\n \n )}\n \n \n
\n addNewTerrain()}\n onAdd={(terrain: Terrain) => {\n addExistingTerrain(\n terrain.id,\n );\n }}\n onDelete={(terrain: Terrain) =>\n removeTerrain(terrain)\n }\n />\n
\n
\n
\n
\n )}\n \n \n {!facility.trash && (\n \n \n {cxt.t('Save')}\n \n \n )}\n\n {typeof facility.id === 'number' &&\n facility.id > 0 &&\n !facility.trash && (\n \n \n \n )}\n\n {facility.trash && (\n \n \n \n )}\n\n {facility.id === null && (\n \n onClose()}\n />\n \n )}\n \n \n
\n
\n
\n \n );\n}\n","import { useContext } from 'react';\nimport { AppContext } from '../sporttia/AppContext';\nimport { useAPI } from '../lib/hooks';\nimport useRestService from './RestService';\nimport Terrain from '../types/models/Terrain';\nimport { FacilityParams, FacilityResponse } from '../types/api/paths/Facility';\nimport TerrainResponse from '../types/api/paths/Terrain';\n\nconst resource = '/facilities';\n\nexport default function useFacilitiesService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n const updateTerrain = (id: number, x: number, y: number) =>\n request('PUT', `/terrains/${id}`, { x, y });\n\n // Override pq es url rara\n function create(idSC: number | undefined, params: FacilityParams) {\n if (!idSC) {\n return Promise.reject();\n }\n return request(\n 'POST',\n `/scs/${idSC}/facilities`,\n params,\n );\n }\n\n function createTerrain(id: number | undefined) {\n if (!id) {\n return Promise.reject();\n }\n return request('POST', `/facilities/${id}/terrains`);\n }\n\n function addExistingTerrain(\n idFacility: number | undefined,\n idTerrain: number | undefined,\n ) {\n if (!idFacility || !idTerrain) {\n return Promise.reject();\n }\n return request(\n 'POST',\n `/facilities/${idFacility}/terrains/${idTerrain}`,\n );\n }\n\n function removeTerrain(\n idFacility: number | undefined,\n idTerrain: number | undefined,\n ) {\n if (!idFacility || !idTerrain) {\n return Promise.reject();\n }\n return request(\n 'DELETE',\n `/facilities/${idFacility}/terrains/${idTerrain}`,\n );\n }\n\n return {\n ...services,\n create,\n updateTerrain,\n createTerrain,\n addExistingTerrain,\n removeTerrain,\n };\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n FormControl,\n Grid,\n IconButton,\n InputLabel,\n MenuItem,\n Paper,\n Select,\n Typography,\n} from '@material-ui/core';\nimport { Delete } from '@material-ui/icons';\nimport { useHistory } from 'react-router-dom';\nimport {\n SttDropdownButton,\n SttFormText,\n SttButtonCancel,\n SttButtonDelete,\n SttButtonSave,\n SttFacilityList,\n SttFullDialog,\n} from '../../../sporttia/all';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { getPath } from '../../Pages';\nimport { useCrud, usePageHeader, useTranslations } from '../../../lib/hooks';\n\nexport default function FacilitySet({ facilitySetId, onClose, title }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [setPageTitle] = usePageHeader();\n const [facilities, setFacilities] = useState([]);\n const [facilitySet, setFacilitySet, setProperty, Get, Post, Put, Delete] =\n useCrud();\n useEffect(() => {\n // Creating new facility set\n if (facilitySetId === 'create') {\n setFacilitySet({\n name: null,\n position: null,\n status: 'ACTIVE',\n facilities: {\n count: 0,\n rows: [],\n },\n });\n\n // Load faclility set\n } else {\n loadFacilitySet();\n }\n\n // Load all facilities to pick up from them\n loadFacilities();\n }, []);\n\n /**\n * Load facility group\n */\n function loadFacilitySet(params = {}) {\n Get(`/facilitysets/${facilitySetId}`, (params = { trash: true })).then(\n (response) => {\n if (response.facilityset) {\n setPageTitle(response.facilityset.name);\n\n setFacilitySet(response.facilityset);\n }\n },\n );\n }\n\n /**\n * Load all facilitites\n */\n function loadFacilities(params = { page: 1, rows: 1000 }) {\n Get(`/scs/${cxt.sc.id}/facilities`, params).then((response) => {\n if (response.rows) {\n setFacilities(response.rows);\n }\n });\n }\n\n /**\n * Create facility to group\n */\n function addFacility(facility) {\n Post(`/facilitysets/${facilitySet.id}/facilities`, {\n idFacility: facility.id,\n }).then((response) => {\n setProperty({\n name: 'facilities',\n value: {\n count: facilitySet.facilities.count + 1,\n rows: [...facilitySet.facilities.rows, facility],\n },\n });\n });\n }\n\n /**\n * Delete facility from group\n */\n function removeFacility(facility) {\n Delete(\n `/facilitysets/${facilitySet.id}/facilities/${facility.id}`,\n ).then(() => {\n setProperty({\n name: 'facilities',\n value: {\n count: facilitySet.facilities.count - 1,\n rows: facilitySet.facilities.rows.filter(\n (fct) => fct.id !== facility.id,\n ),\n },\n });\n });\n }\n\n // Dependiendo de si estamos creando nueva o modificando, llamamos a distintas funciones\n function save() {\n const { name, position, status } = facilitySet;\n\n // Update facility set\n if (facilitySet.id) {\n Put(`/facilitysets/${facilitySet.id}`, {\n name,\n position,\n status,\n }).then(() => {\n cxt.showMessage('S', cxt.t('Saved'));\n });\n\n // Creating new facility set\n } else {\n Post(`/scs/${cxt.sc.id}/facilitysets`, {\n name,\n position,\n status,\n }).then((response) => {\n if (response.facilityset) {\n setFacilitySet(response.facilityset);\n setPageTitle(name);\n // history.replace(getPath('facilitySets', response.facilityset.id));\n }\n });\n }\n }\n\n // Borra grupo, tras pedir confirmación, y vuelve al listado\n function deleteFacilitySet() {\n Delete(`/facilitysets/${facilitySet.id}`).then(() => {\n onClose();\n });\n }\n\n /*\n\tconst availableFacilities =\n\t\tfacilities\n\t\t.filter(facility => {\n\t\t\treturn facilitySet.facilities.rows.find(f => (f.id == facility.id && !f.deleted)) === undefined\n\t\t});\n\t\t*/\n\n return (\n <>\n {facilitySet && (\n \n \n \n \n \n \n \n\n \n \n \n {cxt.t('Status')}\n \n \n setProperty({\n name: 'status',\n value: e.target\n .value,\n })\n }\n labelWidth={60}\n >\n \n {cxt.t('FS.ACTIVE')}\n \n \n {cxt.t('FS.INACTIVE')}\n \n \n \n \n\n \n \n \n\n {facilitySet.id && (\n \n !row.deleted,\n )\n }\n onAdd={addFacility}\n onDelete={removeFacility}\n />\n \n )}\n\n \n \n \n \n {cxt.t('Save')}\n \n \n\n \n {facilitySet.id ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n )}\n \n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useContext } from 'react';\nimport { useQuery, UseQueryOptions } from 'react-query';\nimport { useAPI } from '../lib/hooks';\nimport useRestService from './RestService';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n GetReports200Response,\n GetReportsQueryParams,\n} from '../types/api/paths/Report';\n\nconst resource = '/reports';\n\n/**\n * Hook to access all 'reports' resources.\n */\nexport default function useReportsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /reports/:id/rows request.\n * @param id Report ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getReportsRows(\n id: any,\n params: Record | undefined,\n ) {\n return request('GET', `${resource}/${id}/rows`, params);\n }\n\n /**\n * GET /reports/:id/columns request.\n * @param id Report ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getReportsColumns(\n id: any,\n params: Record | undefined,\n ) {\n return request('GET', `${resource}/${id}/columns`, params);\n }\n\n /**\n * GET /reports/:id/filters request.\n * @param id Report ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getReportsFilters(\n id: any,\n params: Record | undefined,\n ) {\n return request('GET', `${resource}/${id}/filters`, params);\n }\n\n /**\n * PUT /reports/columns/:id request.\n * @param id Report column ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateReportColumn(\n id: any,\n params: Record | undefined,\n ) {\n return request('PUT', `${resource}/columns/${id}`, params);\n }\n\n /**\n * POST /reports/:id/columns request.\n * @param id Report ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createReportColumn(\n id: any,\n params: Record | undefined,\n ) {\n return request('POST', `${resource}/${id}/columns`, params);\n }\n\n /**\n * DELETE /reports/columns/:id request.\n * @param id Report column ID.\n * @returns {Promise|*} Return request promise.\n */\n function removeReportColumn(id: any) {\n return request('DELETE', `${resource}/columns/${id}`);\n }\n\n /**\n * PUT /reports/filters/:id request.\n * @param id Report filter ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateReportFilter(\n id: any,\n params: Record | undefined,\n ) {\n return request('PUT', `${resource}/filters/${id}`, params);\n }\n\n /**\n * POST /reports/:id/filters request.\n * @param id Report ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createReportFilter(\n id: any,\n params: Record | undefined,\n ) {\n return request('POST', `${resource}/${id}/filters`, params);\n }\n\n /**\n * DELETE /reports/columns/:id request.\n * @param id Report filter ID.\n * @returns {Promise|*} Return request promise.\n */\n function removeReportFilter(id: any) {\n return request('DELETE', `${resource}/filters/${id}`);\n }\n\n /**\n * GET /reports request.\n */\n function useGetReports(\n params?: GetReportsQueryParams,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey = queryOptions?.queryKey ?? [\n `${resource}`,\n ...(params ? [params] : []),\n ];\n\n const queryFn = () =>\n request('GET', `${resource}`, params);\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n return {\n ...services,\n getReportsRows,\n getReportsColumns,\n getReportsFilters,\n updateReportColumn,\n createReportColumn,\n removeReportColumn,\n updateReportFilter,\n createReportFilter,\n removeReportFilter,\n useGetReports,\n };\n}\n","import React, { useState } from 'react';\nimport {\n MenuItem,\n FormControl,\n InputLabel,\n Select,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Button,\n} from '@material-ui/core';\n\ninterface ColumnPopupProps {\n open: boolean;\n onClose: () => void;\n onSave: (align: 'C' | 'L' | 'R') => void;\n}\n\nexport function ColumnPopup({ open, onClose, onSave }: ColumnPopupProps) {\n const [align, setAlign] = useState<'C' | 'L' | 'R'>('C');\n\n const handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\n setAlign(event.target.value as 'C' | 'L' | 'R');\n };\n\n return (\n \n Configurar Columna\n \n \n Alineación\n \n Centrado\n Izquierda\n Derecha\n \n \n \n \n \n \n \n \n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport { Paper, Box, Grid, Typography } from '@material-ui/core';\nimport moment from 'moment';\nimport { useHistory, useLocation, useParams } from 'react-router-dom';\nimport { useQuery } from 'react-query';\nimport useReportsService from '../../services/ReportsService';\nimport { AppContext, SttFullDialog } from '../../sporttia/all';\nimport { PAGE_REPORT, PAGE_REPORT_ROWS } from '../../lib/queryKeys';\nimport SttCachedTable from '../../sporttia/SttCachedTable';\nimport { SttTopFilteringControls } from '../../sporttia/SttTopFilteringControls';\nimport { useInteractionsFiles, useTranslations } from '../../lib/hooks';\nimport { getPath } from '../Pages';\nimport constants from '../../config/constants';\nimport { ColumnPopup } from '../../sporttia/dialogs/ColumnPopup';\n\n/**\n * Converts the columns returned by the API to columns that the SttTopFilteringControls component can understand\n * @param columns Columns returned by the api.\n */\nconst getColumns = (columns, align = 'C') => {\n if (!Array.isArray(columns)) {\n return []; // Devuelvo un array vacio para evitar errores\n }\n let columnsPositions = [];\n columns.forEach((column) => {\n if (column?.field) {\n columnsPositions[column?.field] = column?.position;\n }\n });\n // Extraemos las entradas del array con el campo de la columna y su posicion,\n // ordenamos en base al valor numerico (posición, elemento 1 del vector)\n // por último reducimos el array resultante ordenado de componentes {field, position}\n // y vamos creando un objeto con todos los fields ordenados\n columnsPositions = Object.entries(columnsPositions)\n .sort((columnLeft, columnRight) => columnLeft[1] - columnRight[1])\n .reduce((previousValue, currentValue) => {\n // eslint-disable-next-line no-param-reassign\n previousValue[currentValue[0]] = null;\n return previousValue;\n }, {});\n const formattedColumns = [];\n columns.forEach((col) => {\n // Class\n let className;\n switch (align) {\n case 'L':\n className = 'text-left';\n break;\n case 'R':\n className = 'text-right';\n break;\n default:\n className = 'text-center';\n }\n\n // Type\n const type = '';\n\n formattedColumns[col?.field || '*'] = {\n field: col.field,\n title: col.name,\n width: col.width,\n className,\n type,\n };\n });\n // Asignamos las columnas formateadas siguiendo el orden definido en columnsPositions\n // para las columnas\n return Object.values(Object.assign(columnsPositions, formattedColumns));\n};\n\n/**\n * Converts the filters returned by the API to filters that the SttTopFilteringControls component can understand\n * @param filters Filters returned by the api.\n * @returns {*} Returns an array with the filters used by SttTopFilteringControls\n */\nconst getFilters = (filters) =>\n filters.map((ft) => {\n const { field, type, value, name } = ft;\n\n // If it's \"date\" type, comes with dd-mm-yyyy,\n // we've got to conver to ISO\n if (value && type && type.toLowerCase() === 'date') {\n moment(value, 'DD-MM-YYYY').format('YYYY-MM-DD');\n }\n\n return {\n name: field,\n caption: name,\n type,\n value: '',\n };\n });\n\n/**\n * Report view.\n * @param id Report ID.\n * @returns {JSX.Element}\n */\nexport default function Report({ id = null, navigateBack = null }) {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const params = useParams();\n const { translate } = useTranslations();\n const reportsService = useReportsService();\n const [reportId, setReportId] = useState(id);\n const [columns, setColumns] = useState();\n const [filtersTopControls, setFiltersTopControls] = useState();\n const [filters, setFilters] = useState();\n const [summatory, setSummatory] = useState();\n const [pageAndRows, setPageAndRows] = useState();\n const [isColumnPopupOpen, setColumnPopupOpen] = useState(false);\n const [selectedAlign, setSelectedAlign] = useState('C');\n const history = useHistory();\n const location = useLocation();\n const reportQuery = useQuery(\n [PAGE_REPORT, { id: reportId }],\n () => reportsService.get(reportId),\n {\n enabled: !!reportId && reportId !== 'create',\n onSuccess: (data) => {\n setColumns(getColumns(data?.report?.columns, selectedAlign));\n if (data?.report?.filters) {\n setFiltersTopControls(getFilters(data?.report?.filters));\n }\n },\n },\n );\n\n let reportGroups = location.state?.reportGroups ?? null;\n if (!reportGroups)\n reportGroups = [\n {\n caption: 'OccupationOfFacilities',\n path: 'report',\n params: { id: 8 },\n },\n {\n caption: 'Seating',\n path: 'report',\n params: { id: 53 },\n },\n {\n caption: 'tpvRecordsBySc',\n path: 'report',\n params: { id: 27 },\n },\n {\n caption: 'AdminSports',\n path: 'report',\n params: { id: 43 },\n },\n {\n caption: 'increasesInEnrollmentInActivitiesPerYear',\n path: 'report',\n params: { id: 33 },\n },\n {\n caption: 'increasesInEnrollmentInActivitiesPerYear',\n path: 'report',\n params: { id: 32 },\n },\n {\n caption: 'playtomicCenters',\n path: 'report',\n params: { id: 44 },\n },\n {\n caption: 'playtomicCenters',\n path: 'report',\n params: { id: 39 },\n },\n {\n caption: 'events',\n path: 'report',\n params: { id: 14 },\n },\n {\n caption: 'rentals',\n path: 'report',\n params: { id: 28 },\n },\n {\n caption: 'rentalsPerDay',\n path: 'report',\n params: { id: 37 },\n },\n {\n caption: 'rentalsRatioByCenter',\n path: 'report',\n params: { id: 30 },\n },\n {\n caption: 'rentalsRatioPerYear',\n path: 'report',\n params: { id: 9 },\n },\n {\n caption: 'emails',\n path: 'report',\n params: { id: 4 },\n },\n {\n caption: 'notificationsTypes',\n path: 'report',\n params: { id: 17 },\n },\n {\n caption: 'pushNotifications',\n path: 'report',\n params: { id: 31 },\n },\n {\n caption: 'smss',\n path: 'report',\n params: { id: 16 },\n },\n ];\n\n if (\n cxt.privileges?.includes(15) ||\n cxt.user?.role === constants.roles.admin\n ) {\n reportGroups = reportGroups.concat([\n {\n caption: 'sc.reportClass.studentList',\n path: 'report',\n params: { id: 11 },\n },\n {\n caption: 'activitiesStudentsTotals',\n path: 'report',\n params: { id: 1 },\n },\n {\n caption: 'ReportActivitiesByMonth',\n path: 'report',\n params: { id: 19 },\n },\n {\n caption: 'ReportMissedClasses',\n path: 'report',\n params: { id: 22 },\n },\n {\n caption: 'ReportStudentFees',\n path: 'report',\n params: { id: 20 },\n },\n ]);\n }\n /**\n * Método para descargar los ficheros de los informes.\n * TODO migrar a react-query\n * @param format [pdf|csv] string format.\n */\n function download(format) {\n const type = format === 'csv' ? 'text/csv' : 'application/pdf';\n\n // PDF\n if (format === 'pdf') {\n downloadFile(\n `/reports/${reportId}.pdf?page=${pageAndRows.page}&rows=${pageAndRows.rows}&filter=${filters.filter}`,\n type,\n {},\n `informe.${format}`,\n );\n }\n\n // CSV\n if (format === 'csv') {\n downloadFile(\n `/reports/${reportId}.csv?page=${pageAndRows.page}&rows=${pageAndRows.rows}&filter=${filters.filter}`,\n type,\n {},\n `informe.${format}`,\n );\n }\n }\n\n /**\n * Method to format the filter parameter with the format: property1::value1,property2::value2\n * @param toFormat Filter object like this: {name: '', city: 12}\n * @returns {[]} Return string like this: property1::value1,property2::value2\n */\n const formatFilterParam = (toFormat) => {\n const finalFilter = [];\n Object.keys(toFormat).forEach((key) => {\n finalFilter.push(`${key}::${toFormat[key]}`);\n });\n\n finalFilter.join(',');\n\n return finalFilter;\n };\n\n /**\n * When \"id\" or \"params\" change we set the \"reportId\" variable.\n */\n useEffect(() => {\n if (id !== null) setReportId(id);\n else if (params?.id) setReportId(Number(params?.id));\n }, [id, params]);\n\n const handleOpenColumnPopup = () => {\n setColumnPopupOpen(true);\n };\n\n const handleCloseColumnPopup = () => {\n setColumnPopupOpen(false);\n };\n\n const handleSaveColumnAlign = (align) => {\n setSelectedAlign(align);\n setColumns((prevColumns) => getColumns(prevColumns, align));\n handleCloseColumnPopup();\n };\n\n return reportQuery?.data ? (\n <>\n {\n if (navigateBack) {\n history.push(getPath(navigateBack));\n } else if (cxt?.user?.role === constants.roles.admin) {\n history.push(getPath('adminReports'));\n } else {\n history.push(getPath('scReports'));\n }\n }}\n title={\n id || reportId\n ? translate(\n reportGroups.find(\n (reportGroup) =>\n reportGroup.params.id === id ||\n reportGroup.params.id === reportId,\n )?.caption,\n )\n : 'Report'\n }\n >\n \n \n download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n {\n caption:\n 'Configurar Alineación de Columnas',\n onClick: handleOpenColumnPopup,\n },\n ]}\n onFilter={(filter) =>\n setFilters({\n filter: formatFilterParam(filter),\n })\n }\n />\n {\n const reportRows =\n await reportsService.getReportsRows(\n reportId,\n queryParams,\n );\n if (reportRows?.rows && reportRows?.count)\n setPageAndRows({\n page: 1,\n rows:\n reportRows.count *\n reportRows.rows.length,\n });\n return reportRows;\n }}\n queryParams={{ ...filters }}\n queryOptions={{\n enabled:\n !!reportId &&\n reportId !== 'create' &&\n reportQuery.status !== 'loading',\n onSuccess: (data) =>\n setSummatory(data?.summatory),\n }}\n prefetching={false}\n columns={columns}\n />\n \n \n \n {summatory && (\n \n \n \n \n \n {cxt.t('Price')}\n \n \n {summatory.price\n ? summatory.price\n : 0.0}{' '}\n {cxt.t('Coin')}\n \n \n \n \n \n )}\n \n \n \n \n ) : null;\n}\n","import React, { useState, useContext } from 'react';\nimport { AppContext } from '../AppContext';\nimport { SttList } from './SttList';\nimport { SttSelectGroupDialog } from '../all';\nimport translations from '../../translations';\n\nexport function SttGroupList({ groups, onAdd, onDelete }) {\n const cxt = useContext(AppContext);\n\n const [selectionOpen, setSelectionOpen] = useState(false);\n\n function openAddTerrain() {\n setSelectionOpen(true);\n }\n\n function selectGroup(group) {\n setSelectionOpen(false);\n if (!groups.find((g) => g.id === group.id)) {\n onAdd(group);\n }\n }\n\n return (\n <>\n ({\n caption: group.name,\n objToSelect: group,\n }))}\n />\n\n {selectionOpen && (\n setSelectionOpen(false)}\n onSelect={(group) => selectGroup(group)}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Grid, Paper } from '@material-ui/core';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport {\n SttSelectInterval,\n SttFormPrice,\n SttFormText,\n SttButtonCancel,\n SttButtonDelete,\n SttButtonSave,\n SttFormSelect,\n SttButtonRecover,\n SttFullDialog,\n} from '../../../sporttia/all';\nimport { SttGroupList } from '../../../sporttia/lists/SttGroupList';\nimport { getPath } from '../../Pages';\nimport { getErrorMessage, parsePrice, subsetObject } from '../../../lib/utils';\nimport translations from '../../../translations';\nimport useScsService from '../../../services/ScsService';\nimport { useLoader } from '../../../lib/hooks';\n\n/*\n * Componente para visualizar los datos de una tarifa\n */\nexport default function Rate({ item, onClose }) {\n const cxt = useContext(AppContext);\n const [rate, setRate] = useState(item || null);\n\n const [dialogTitle, setDialogTitle] = useState(\n item.id === 'create'\n ? cxt.t(translations.generic.createRate)\n : rate.name,\n );\n\n // Component mounting\n useEffect(() => {\n if (item.id === 'create') {\n setRate({\n name: '',\n individual: 0,\n prices: [{ duration: 0, price: 0 }],\n groups: [],\n position: 0,\n });\n\n cxt.setHeader({\n title: cxt.t(translations.generic.newRate),\n urlBack: getPath('rates'),\n });\n } else {\n // eslint-disable-next-line no-use-before-define\n loadRate();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n\n function loadRate(params = { trash: 1 }) {\n cxt.api('GET', `/rates/${item.id}`, {\n params,\n success: (response) => {\n if (response.rate) {\n setDialogTitle(response.rate.name);\n setRate(response.rate);\n }\n },\n });\n }\n\n function onChange({ name, value }) {\n setRate((prev) => ({ ...prev, [name]: value }));\n }\n\n function onChangeRateType({ name, value }) {\n setRate((prev) => ({ ...prev, [name]: parseInt(value) }));\n }\n\n // Changing prices requires special logic since they're arbitrary objects in an array\n function changePrice(price, value) {\n const { prices } = rate;\n\n const foundPrice = prices.find((p) => p === price);\n foundPrice.duration = value.duration;\n foundPrice.price = value.price;\n\n prices.splice(\n prices.findIndex((p) => p === price),\n 1,\n foundPrice,\n );\n\n setRate({ ...rate, prices });\n }\n\n const scsService = useScsService();\n const updateScRateMutation = scsService.useUpdateScRate({\n onSuccess: (response) => {\n setDialogTitle(response.rate.name);\n cxt.showMessage('S', cxt.t(translations.generic.saved));\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const createScRateMutation = scsService.useCreateScRate({\n onSuccess: (response) => {\n setRate(response.rate);\n setDialogTitle(response.rate.name);\n cxt.showMessage('S', cxt.t(translations.generic.created));\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n function upsertRate() {\n const params = subsetObject(rate, [\n 'name',\n 'individual',\n 'prices',\n 'position',\n ]);\n\n if (rate.id) {\n updateScRateMutation.mutate({\n rateId: rate.id,\n params: {\n ...params,\n prices: [\n {\n ...params.prices[0],\n price: parsePrice(params.prices[0].price),\n },\n ],\n groups: rate.groups,\n },\n });\n } else {\n createScRateMutation.mutate({\n scId: cxt.sc.id,\n params: {\n ...params,\n prices: [\n {\n ...params.prices[0],\n price: parsePrice(params.prices[0].price),\n },\n ],\n groups: rate.groups,\n },\n });\n }\n }\n\n function deleteRate() {\n cxt.api('DELETE', `/rates/${rate.id}`, {\n confirmation: true,\n success: () => {\n onClose();\n },\n });\n }\n\n function recoverRate() {\n cxt.api('PUT', `/rates/${rate.id}/recover`, {\n confirmation: true,\n success: () => {\n setRate({\n ...rate,\n trash: 0,\n });\n },\n });\n }\n\n function addGroup(group) {\n cxt.api('POST', `/rates/${rate.id}/groups/${group.id}`, {\n params: {\n idFacility: group.id,\n },\n success: () => {\n setRate({\n ...rate,\n groups: rate.groups ? rate.groups.concat([group]) : [group],\n });\n },\n });\n }\n\n function removeGroup(group) {\n cxt.api('DELETE', `/rates/${rate.id}/groups/${group.id}`, {\n success: () => {\n setRate({\n ...rate,\n groups: rate.groups.filter((g) => g.id !== group.id),\n });\n },\n });\n }\n\n const [, mutationsLoader] = useLoader([\n createScRateMutation.status,\n updateScRateMutation.status,\n ]);\n\n return (\n {\n setRate(null);\n onClose();\n }}\n title={dialogTitle}\n >\n {mutationsLoader}\n\n \n \n \n \n \n \n \n \n \n \n \n\n {/* --- For each duration / price --- */}\n {rate.prices && rate.prices[0] && (\n \n \n \n changePrice(\n rate.prices[0],\n {\n duration: value,\n price: rate\n .prices[0]\n .price,\n },\n )\n }\n />\n \n \n \n changePrice(\n rate.prices[0],\n {\n duration:\n rate.prices[0]\n .duration,\n price: value,\n },\n )\n }\n />\n \n \n )}\n\n \n \n \n \n \n\n {/* --- Group list --- */}\n \n {rate.id && (\n addGroup(group)}\n onDelete={(group) => removeGroup(group)}\n />\n )}\n \n \n \n \n\n {/* --- Buttons --- */}\n \n \n {!rate.trash && (\n \n {\n upsertRate();\n }}\n />\n \n )}\n\n {!rate.id && (\n \n \n \n )}\n\n {rate.id && !rate.trash && (\n \n {\n deleteRate();\n }}\n />\n \n )}\n\n {rate.trash && (\n \n {\n recoverRate();\n }}\n />\n \n )}\n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttFormTime, SttList, SttSelectWeekdays } from '../../../sporttia/all';\n\n/**\n * SlotDialog - dialog para la visualización de Tramos (slots)\n * Object item - el objeto de tipo Slot\n * Function onSave - callback para el botón de guardado\n * Function onDelete - callback para el botón de borrado\n * Function onClose - callback para el botón cerrar\n * */\nexport function BusySlotDialog({ item, onSave, onDelete, onClose, loading }) {\n const cxt = useContext(AppContext);\n\n const [slot, setSlot] = useState(item);\n const [periods, setPeriods] = useState();\n\n // item cambia. Si el contiene id, cargar los periodos asociados.\n useEffect(() => {\n setSlot(item);\n if (item && item.id) {\n loadPeriods(item.id);\n } else {\n setPeriods(null);\n }\n }, [item]);\n\n // cambios en los campos\n function handleChange({ name, value }) {\n setSlot({ ...slot, [name]: value });\n }\n\n // Cargar periodos para este slot\n // TODO: Gestionar mejor la paginación (el problema es que SttList solo pagina el pintado, pero no la obtención de filas)\n function loadPeriods(id) {\n cxt.api('GET', `/busies/schedules/slots/${id}/periods`, {\n params: {\n page: 1,\n rows: 1000000,\n },\n success: (response) => {\n if (response.rows) {\n setPeriods(response.rows);\n }\n },\n });\n }\n\n if (!slot) {\n return null;\n }\n\n return (\n \n \n \n \n \n {/* El output de esto es tipo HH:mm:ss así que lo convertimos a HH:mm para el Slot */}\n \n handleChange({\n name,\n value: value\n .split(':')\n .splice(0, 2)\n .join(':'),\n })\n }\n />\n \n \n {/* El output de esto es tipo HH:mm:ss así que lo convertimos a HH:mm para el Slot */}\n \n handleChange({\n name,\n value: value\n .split(':')\n .splice(0, 2)\n .join(':'),\n })\n }\n />\n \n {periods && (\n \n ({\n caption: moment(period.ini).format(\n 'dddd, DD MMM YYYY',\n ),\n text: `${moment(period.ini).format(\n 'HH:mm',\n )} - ${moment(period.end).format('HH:mm')}`,\n }))}\n />\n \n )}\n \n }\n buttons={[\n {\n type: 'save',\n onClick: () => onSave(slot),\n disabled: loading,\n },\n slot.id\n ? {\n type: 'delete',\n onClick: () => onDelete(slot),\n }\n : null,\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Typography } from '@material-ui/core';\nimport moment from 'moment';\nimport { AppContext, SttDialog, SttList } from '../../../sporttia/all';\n\nexport default function ErrorsDialog({ errors, onClose }) {\n const cxt = useContext(AppContext);\n\n if (!errors) {\n return null;\n }\n\n return (\n \n \n \n {cxt.t('busySchedules.errorsTitle')}\n \n \n \n ({\n caption: `${i + 1}. ${moment(error.ini).format(\n 'dddd, DD MMMM HH:mm',\n )} - ${moment(error.end).format('HH:mm')}, ${\n error.mark == 'FREE'\n ? cxt.t(\n `controller.support.capacityField`,\n )\n : error.title\n }`,\n text: `${cxt.t(`const.TT.${error.mark}`)} - ${\n error.duration\n } ${cxt.t('minutes')}`,\n }))}\n />\n \n \n }\n />\n );\n}\n","import moment from 'moment';\nimport React, { useState, useEffect, useContext } from 'react';\nimport { Box, Paper, Grid, Divider } from '@material-ui/core';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport {\n AppContext,\n SttButtonCancel,\n SttButtonDelete,\n SttButtonRecover,\n SttButtonSave,\n SttFacilityList,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttLabelForm,\n SttBusySlotList,\n SttFullDialog,\n} from '../../../sporttia/all';\nimport { BusySlotDialog } from './BusySlotDialog';\nimport ErrorsDialog from './ErrorsDialog';\nimport { useTranslations } from '../../../lib/hooks';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function BusySchedule({\n idBusySchedule,\n trash,\n onClose,\n match,\n}) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const [busySchedule, setBusySchedule] = useState(null);\n const [viewSlot, setViewSlot] = useState(null);\n const [errors, setErrors] = useState(null);\n const [loading, setLoading] = useState(false);\n const [title, setTitle] = useState(null);\n const history = useHistory();\n const { search } = useLocation();\n\n useEffect(() => {\n if (!idBusySchedule) {\n idBusySchedule = match.params.id;\n trash = new URLSearchParams(search).get('trash') || false;\n }\n\n if (idBusySchedule === 'create') {\n setBusySchedule({\n name: '',\n status: 'ACTIVE',\n ini: moment().format('YYYY-MM-DD HH:mm:ss'),\n end: moment().format('YYYY-12-31 23:59:59'),\n facilities: null,\n slots: null,\n });\n setTitle(translate('New'));\n } else {\n loadBusySchedule();\n }\n }, [idBusySchedule]);\n\n function loadBusySchedule() {\n cxt.api('GET', `/busies/schedules/${idBusySchedule}`, {\n params: {\n trash,\n },\n success: (response) => {\n if (response.busySchedule) {\n setBusySchedule(response.busySchedule);\n setTitle(response.busySchedule.name);\n }\n },\n });\n }\n\n if (!busySchedule) {\n return null;\n }\n\n function handleChange({ name, value }) {\n setBusySchedule({ ...busySchedule, [name]: value });\n }\n\n function addFacility(facility) {\n cxt.api(\n 'POST',\n `/busies/schedules/${busySchedule.id}/facilities/${facility.id}`,\n {\n success: () => {\n setBusySchedule({\n ...busySchedule,\n facilities: busySchedule.facilities.concat([facility]),\n });\n },\n },\n );\n }\n\n function deleteFacility(facility) {\n cxt.api(\n 'DELETE',\n `/busies/schedules/${busySchedule.id}/facilities/${facility.id}`,\n {\n confirmation: true,\n success: () => {\n setBusySchedule({\n ...busySchedule,\n facilities: busySchedule.facilities.reduce(\n (result, item) =>\n item.id !== facility.id\n ? result.concat([item])\n : result,\n [],\n ),\n });\n },\n },\n );\n }\n\n function saveSlot(slot) {\n if (slot.id) {\n setLoading(true);\n\n cxt.api('PUT', `/busies/schedules/slots/${slot.id}`, {\n params: {\n ini: slot.ini,\n end: slot.end,\n weekdays: slot.weekdays,\n },\n success: (response) => {\n if (response.busyScheduleSlot) {\n cxt.showMessage('S', cxt.t('OperationSuccessful'));\n setBusySchedule({\n ...busySchedule,\n slots: busySchedule.slots.map((slt) =>\n slt.id === response.busyScheduleSlot.id\n ? {\n ...response.busyScheduleSlot,\n ini: moment(\n response.busyScheduleSlot.ini,\n ).format('HH:mm'),\n end: moment(\n response.busyScheduleSlot.end,\n ).format('HH:mm'),\n }\n : slt,\n ),\n });\n setViewSlot(null);\n }\n setLoading(false);\n },\n errors: () => {\n setLoading(false);\n },\n });\n } else {\n setLoading(true);\n\n cxt.api('POST', `/busies/schedules/${busySchedule.id}/slots`, {\n params: slot,\n success: (response) => {\n if (response.busyScheduleSlot) {\n const addedSlot = {\n ...response.busyScheduleSlot,\n ini: moment(response.busyScheduleSlot.ini).format(\n 'HH:mm',\n ),\n end: moment(response.busyScheduleSlot.end).format(\n 'HH:mm',\n ),\n };\n const slots = busySchedule.slots\n ? busySchedule.slots.concat([addedSlot])\n : [addedSlot];\n\n setBusySchedule({ ...busySchedule, slots });\n\n cxt.showMessage('S', cxt.t('OperationSuccessful'));\n setViewSlot(null);\n }\n\n if (response.fails) {\n setErrors(response.fails);\n }\n\n setLoading(false);\n },\n errors: () => {\n setLoading(false);\n },\n });\n }\n }\n\n function deleteSlot(slot) {\n cxt.api('DELETE', `/busies/schedules/slots/${slot.id}`, {\n confirmation: true,\n success: () => {\n cxt.showMessage('S', cxt.t('Deleted'));\n setViewSlot(null);\n setBusySchedule({\n ...busySchedule,\n slots: busySchedule.slots.filter(\n (slt) => slt.id !== slot.id,\n ),\n });\n },\n });\n }\n\n function saveBusySchedule() {\n if (busySchedule.id) {\n const { name, ini, end, status } = busySchedule;\n cxt.api('PUT', `/busies/schedules/${busySchedule.id}`, {\n params: { name, ini, end, status },\n success: () => {\n cxt.showMessage('S', cxt.t('OperationSuccessful'));\n setTitle(name);\n },\n });\n } else {\n const { name, ini, end, status } = busySchedule;\n cxt.api('POST', `/scs/${cxt.sc.id}/busies/schedules`, {\n params: {\n name,\n ini: moment(ini).format('YYYY-MM-DD'),\n end: moment(end).format('YYYY-MM-DD'),\n status,\n },\n success: (response) => {\n if (response.busySchedule) {\n setBusySchedule(response.busySchedule);\n cxt.showMessage('S', cxt.t('OperationSuccessful'));\n setTitle(busySchedule.name);\n }\n },\n });\n }\n }\n\n function deleteBusySchedule() {\n if (!busySchedule.id) {\n return;\n }\n\n cxt.api('DELETE', `/busies/schedules/${busySchedule.id}`, {\n confirmation: true,\n success: () => {\n cxt.showMessage('S', cxt.t('Deleted'));\n if (onClose) {\n onClose();\n } else {\n history.goBack();\n }\n },\n });\n }\n\n function recoverBusySchedule() {\n cxt.api('PUT', `/busies/schedules/${busySchedule.id}/recover`, {\n confirmation: true,\n success: () => {\n cxt.showMessage('S', cxt.t('Recovered'));\n loadBusySchedule();\n },\n });\n }\n\n function openCreateSlot() {\n setViewSlot({\n ini: '09:00',\n end: '23:00',\n weekdays: [],\n });\n }\n\n return (\n history.goBack())}\n title={title}\n >\n \n \n \n \n {busySchedule.id && (\n <>\n \n \n \n {/* \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t */}\n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {busySchedule.id && !busySchedule.trash && (\n \n \n \n \n \n addFacility(facility)\n }\n onDelete={(facility) =>\n deleteFacility(facility)\n }\n trash={trash}\n />\n \n \n\n \n \n setViewSlot(slot)}\n />\n \n \n \n \n )}\n\n \n \n {!busySchedule.trash && (\n \n \n \n )}\n\n {!busySchedule.id && (\n \n onClose()}\n />\n \n )}\n\n {busySchedule.id && !busySchedule.trash && (\n \n \n \n )}\n\n {busySchedule.trash && (\n \n \n \n )}\n \n \n\n saveSlot(slot)}\n onDelete={(slot) => deleteSlot(slot)}\n onClose={() => setViewSlot(null)}\n loading={loading}\n />\n\n setErrors(null)} />\n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttButtonFab,\n SttChipFacilityRow,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\nimport { usePageHeader, useToggle } from '../../../lib/hooks';\nimport BusySchedule from './BusySchedule';\nimport translations from '../../../translations';\nimport { fullName } from '../../../lib/utils';\n\nconst statusFilters = {\n all: 'ALL',\n active: 'ACTIVE',\n inactive: 'INACTIVE',\n current: 'CURRENT',\n};\n\nexport default function BusySchedules() {\n usePageHeader('ClosedFields');\n const cxt = useContext(AppContext);\n\n const [busySchedules, setBusySchedules] = useState();\n const [busyScheduleId, setBusyScheduleId] = useState(null);\n const [filters, setFilters] = useState({\n name: '',\n year: moment().year(),\n status: statusFilters.current,\n });\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadBusySchedules();\n });\n // Variable para resolver el problema (chapuza) de Material UI que no se puede usar como valor en un selector un valor vacío.\n const [statusFilter, setStatusFilter] = useState({\n status: statusFilters.current,\n });\n\n function loadBusySchedules(params = { page: 1, rows: 20 }) {\n const filterParams = {\n name: filters.name,\n year: filters.year,\n };\n\n if (statusFilter?.status === statusFilters.current) {\n filterParams.inTime = true;\n } else {\n filterParams.status =\n statusFilter.status === statusFilters.all\n ? ''\n : statusFilter.status;\n }\n\n cxt.api('GET', `/scs/${cxt.sc.id}/busies/schedules`, {\n params: {\n ...params,\n ...filterParams,\n trash,\n },\n success: (response) => {\n if (response.rows) {\n setBusySchedules(response);\n }\n },\n });\n }\n\n function goCreateNew() {\n setBusyScheduleId('create');\n }\n\n return (\n <>\n \n {\n setStatusFilter({ ...statusFilter, [name]: value });\n setFilters({ ...filters, [name]: value });\n }}\n onFilter={loadBusySchedules}\n onToggleTrash={toggleTrash}\n />\n setBusyScheduleId(row.id)}\n columns={[\n {\n title: cxt.t(translations.generic.name),\n type: 'link',\n align: 'left',\n field: 'name',\n },\n {\n title: cxt.t(translations.generic.creator),\n type: 'text',\n value: (row) => fullName(row?.creator),\n },\n {\n title: cxt.t(translations.generic.period),\n type: 'period',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t(translations.generic.periods),\n type: 'nonZero',\n field: 'numBusies',\n },\n {\n title: cxt.t(translations.generic.facilities),\n type: 'text',\n value: (row) => (\n \n ),\n },\n ]}\n />\n \n \n\n {busyScheduleId && (\n {\n setBusyScheduleId(null);\n loadBusySchedules();\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, Box } from '@material-ui/core';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport {\n SttFormTime,\n SttSelectWeekdays,\n SttPriceList,\n} from '../../../sporttia/all';\nimport {\n subsetObject,\n deleteElementFromArray,\n updateElementInArray,\n} from '../../../lib/utils';\n\n/**\n * Free schedule slot\n * ==================\n *\n * Props\n *\n * \t* integer|string idSlot: if it's \"create\" then start creating process\n * \t* object freeSchedule: only used when creating\n *\t* function onClose\n *\t* function onUpdate(slot): execute when the slot has changed on server\n */\nexport default function FreeScheduleSlotDialog({\n idSlot = null,\n freeSchedule,\n onClose,\n onUpdate,\n}) {\n const cxt = useContext(AppContext);\n const [slot, setSlot] = useState(null);\n const [creating, setCreating] = useState(false);\n\n /**\n * Load slot\n */\n const loadSlot = () => {\n cxt.api('GET', `/frees/schedules/slots/${idSlot}`, {\n success: (r) => {\n setSlot(r.slot);\n setCreating(false);\n },\n });\n };\n\n /**\n * Save\n */\n const saveSlot = () => {\n const params = subsetObject(slot, ['ini', 'end', 'weekdays']);\n\n // Create\n if (creating) {\n cxt.api('POST', `/frees/schedules/${freeSchedule.id}/slots`, {\n params,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Saved'));\n setSlot(r.slot);\n setCreating(false);\n if (onUpdate) onUpdate(r.slot);\n },\n });\n\n // Update\n } else {\n cxt.api('PUT', `/frees/schedules/slots/${slot.id}`, {\n params,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Saved'));\n if (onUpdate) onUpdate(r.slot);\n if (onClose) onClose();\n },\n });\n }\n };\n\n /**\n * Add price to slot\n */\n const addPrice = (price) => {\n if (price.prices[0]) {\n cxt.api(\n 'POST',\n `/frees/schedules/slots/${slot.id}/prices/${price.id}`,\n {\n success: () => {\n const priceAdded = {\n id: price.id,\n name: price.name,\n price: price.prices[0].price,\n };\n const slotUpdated = {\n ...slot,\n prices: updateElementInArray(\n slot.prices,\n priceAdded,\n ),\n };\n setSlot(slotUpdated);\n if (onUpdate) onUpdate(slotUpdated);\n },\n },\n );\n }\n };\n\n /**\n * Delete price\n */\n const deletePrice = (price) => {\n cxt.api(\n 'DELETE',\n `/frees/schedules/slots/${slot.id}/prices/${price.id}`,\n {\n success: () => {\n const newSlot = {\n ...slot,\n prices: deleteElementFromArray(slot.prices, price),\n };\n setSlot(newSlot);\n if (onUpdate) onUpdate(newSlot);\n },\n },\n );\n };\n\n /**\n * Handle change slot\n */\n const handleChangeSlot = ({ name, value }) => {\n setSlot({ ...slot, [name]: value });\n };\n\n /**\n * Slot id changes\n */\n useEffect(() => {\n if (idSlot) {\n if (idSlot === 'create') {\n setSlot({\n weekdays: [1, 2, 3, 4, 5, 6, 0],\n ini: '07:00',\n end: '23:00',\n });\n setCreating(true);\n } else {\n loadSlot();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [idSlot]);\n\n // Render\n return (\n \n \n \n \n \n\n \n\n \n \n\n {!creating && (\n \n \n \n )}\n \n )\n }\n buttons={[\n {\n type: 'save',\n onClick: () => saveSlot(),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Grid, Box, Paper, Divider, TextField } from '@material-ui/core';\nimport moment from 'moment';\nimport { useQueryClient } from 'react-query';\nimport {\n AppContext,\n SttLabelForm,\n SttFormPeriod,\n SttFormText,\n SttFormSelect,\n SttSelectInterval,\n SttFormTime,\n SttSelectGroup,\n SttButtonMonths,\n SttFacilityList,\n SttButtonSave,\n SttButtonDelete,\n SttList,\n SttLabelWeekdays,\n SttButtonRecover,\n SttButtonCancel,\n SttFullDialog,\n} from '../../../sporttia/all';\nimport { subsetObject, updateElementInArray } from '../../../lib/utils';\nimport FreeScheduleSlotDialog from './FreeScheduleSlotDialog';\nimport { SPORTCENTER_FREE_SCHEDULES } from '../../../lib/queryKeys';\nimport { useTranslations, useFormatDate } from '../../../lib/hooks';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function FreeSchedule({ idFreeSchedule, onClose }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const queryClient = useQueryClient();\n const [creating, setCreating] = useState(false);\n const [title, setTitle] = useState(null);\n const { translate } = useTranslations();\n const [freeSchedule, setFreeSchedule] = useState();\n const [facilities, setFacilities] = useState();\n const [slots, setSlots] = useState();\n const [removeSeconds] = useFormatDate();\n const [openedSlotId, setOpenedSlotId] = useState(null);\n\n /**\n * Load free schedule\n */\n const loadFreeSchedule = () => {\n cxt.api('GET', `/frees/schedules/${idFreeSchedule}`, {\n params: {\n trash: true,\n },\n success: (r) => {\n if (!r.freeSchedule.hasOwnProperty('months'))\n r.freeSchedule.months = [];\n setFreeSchedule(r.freeSchedule);\n setFacilities(r.freeSchedule.facilities);\n setSlots(r.freeSchedule.slots);\n setTitle(r.freeSchedule.name);\n // Set creating\n setCreating(false);\n },\n });\n };\n\n /**\n * Save free schedule\n */\n const saveFreeSchedule = () => {\n const params = subsetObject(freeSchedule, [\n 'name',\n 'ini',\n 'end',\n 'status',\n 'layer',\n 'capacity',\n 'interval',\n 'preBookingIni',\n 'preBookingEnd',\n 'preBookingIniTime',\n 'months',\n ]);\n\n // Set mandatory group\n if (freeSchedule.mandatory)\n params.idMandatory = freeSchedule.mandatory.id;\n\n // Create\n if (creating) {\n cxt.api('POST', `/scs/${cxt.sc.id}/frees/schedules`, {\n params,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Created'));\n if (!r.freeSchedule.hasOwnProperty('months'))\n r.freeSchedule.months = [];\n setFreeSchedule(r.freeSchedule);\n setFacilities(r.freeSchedule.facilities);\n setSlots(r.freeSchedule.slots);\n setTitle(freeSchedule.name);\n setCreating(false);\n queryClient.invalidateQueries(SPORTCENTER_FREE_SCHEDULES);\n },\n });\n\n // Update\n } else {\n cxt.api('PUT', `/frees/schedules/${freeSchedule.id}`, {\n params,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Saved'));\n if (title != freeSchedule.name) setTitle(freeSchedule.name);\n },\n });\n }\n };\n\n /**\n * Delete free schedule\n */\n const delFreeSchedule = () => {\n cxt.api('DELETE', `/frees/schedules/${freeSchedule.id}`, {\n confirmation: true,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Deleted'));\n queryClient.invalidateQueries(SPORTCENTER_FREE_SCHEDULES);\n onClose();\n },\n });\n };\n\n /**\n * Recover free schedule\n */\n const recoverFreeSchedule = () => {\n cxt.api('PUT', `/frees/schedules/${freeSchedule.id}/recover`, {\n confirmation: true,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Recovered'));\n loadFreeSchedule();\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n if (name === 'capacity' && value === '') value = 0;\n setFreeSchedule({ ...freeSchedule, [name]: value });\n };\n\n /**\n * On month updated\n */\n const onMonthUpdated = (month) => {\n // Set it off\n if (freeSchedule.months.includes(month)) {\n const newMonths = [...freeSchedule.months];\n newMonths.splice(\n newMonths.findIndex((e) => e === month),\n 1,\n );\n setFreeSchedule({ ...freeSchedule, months: newMonths });\n\n // Set it on\n } else {\n setFreeSchedule({\n ...freeSchedule,\n months: freeSchedule.months.concat([month]),\n });\n }\n };\n\n /**\n * Add facility\n */\n const addFacility = (facility) => {\n cxt.api(\n 'POST',\n `/frees/schedules/${freeSchedule.id}/facilities/${facility.id}`,\n {\n success: (r) => {\n const newFacilities = [...(facilities || [])];\n newFacilities.push(facility);\n setFacilities(newFacilities);\n },\n },\n );\n };\n\n /**\n * Delete facility\n */\n const delFacility = (facility) => {\n cxt.api(\n 'DELETE',\n `/frees/schedules/${freeSchedule.id}/facilities/${facility.id}`,\n {\n confirmation: true,\n success: (r) => {\n const newFacilities = [...facilities];\n newFacilities.splice(\n newFacilities.findIndex((e) => e.id === facility.id),\n 1,\n );\n setFacilities(newFacilities);\n },\n },\n );\n };\n\n /**\n * Open adding slot\n */\n const openAddingSlot = () => {\n setOpenedSlotId('create');\n };\n\n /**\n * Delete slot\n */\n const delSlot = (slot) => {\n cxt.api('DELETE', `/frees/schedules/slots/${slot.id}`, {\n confirmation: true,\n success: (r) => {\n const newSlots = [...slots];\n newSlots.splice(\n newSlots.findIndex((e) => e.id === slot.id),\n 1,\n );\n setSlots(newSlots);\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (idFreeSchedule) {\n if (idFreeSchedule === 'create') {\n // Init data to create\n setFreeSchedule({\n status: 'ACTIVE',\n layer: 0,\n months: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],\n ini: `${moment().format('YYYY')}-01-01`,\n end: `${moment().format('YYYY')}-12-31`,\n capacity: 0,\n interval: 60,\n preBookingIni: '0000-00-00',\n preBookingIniTime: '00:00',\n preBookingEnd: '0000-00-00T00:00:00',\n mandatory: null,\n });\n\n setTitle(translate('New'));\n // Set status and header\n setCreating(true);\n } else {\n loadFreeSchedule();\n }\n }\n }, []);\n\n // -----| Render |-----\n return (\n \n \n \n \n {freeSchedule && (\n <>\n {!creating && (\n <>\n \n \n \n\n \n \n \n \n )}\n\n \n \n\n \n\n \n\n \n\n \n\n \n handleForm({\n name: 'interval',\n value: minutes,\n })\n }\n min={5}\n max={1435} /* 23:55 horas */\n interval={5}\n />\n\n \n\n \n\n \n\n {/* --- Mandatory group --- */}\n \n\n \n \n \n \n \n )}\n \n \n\n {freeSchedule && !freeSchedule.trash && !creating && (\n \n \n \n \n \n addFacility(facility)\n }\n onDelete={(facility) =>\n delFacility(facility)\n }\n />\n \n \n\n \n \n openAddingSlot()}\n onDelete={delSlot}\n onSelect={(slot) =>\n setOpenedSlotId(slot.id)\n }\n data={\n slots &&\n slots.map((slot) => ({\n caption: (\n \n \n\n \n {removeSeconds(\n slot.ini,\n )}{' '}\n -{' '}\n {removeSeconds(\n slot.end,\n )}\n \n \n ),\n objToSelect: slot,\n chips:\n slot.prices &&\n slot.prices.map(\n (price) => ({\n caption: price.name,\n }),\n ),\n }))\n }\n />\n \n \n \n \n )}\n\n {freeSchedule && (\n \n \n {freeSchedule.trash && (\n \n recoverFreeSchedule()}\n />\n \n )}\n\n {!freeSchedule.trash && (\n \n saveFreeSchedule()}\n />\n \n )}\n\n {!creating && !freeSchedule.trash && (\n \n delFreeSchedule()}\n />\n \n )}\n\n {creating && (\n \n {\n onClose();\n }}\n />\n \n )}\n \n \n )}\n\n \n setSlots(updateElementInArray(slots, slot))\n }\n onClose={() => setOpenedSlotId(null)}\n />\n \n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1V19z\"\n}), 'AssignmentInd');","import React, { useContext, useState } from 'react';\nimport { Chip, Avatar } from '@material-ui/core';\nimport { AppContext, SttUnlockerDialog } from '../all';\n\n/**\n * Chip unlocker\n */\nexport function SttChipUnlocker({\n unlocker = null,\n showModal = false,\n onClick = null,\n}) {\n const cxt = useContext(AppContext);\n const [unlockerDialogOpened, setUnlockerDialogOpened] = useState(false);\n const [isDeleted, setIsDeleted] = useState(false);\n\n /**\n * Get type letter\n */\n const getTypeLetter = (unlocker) => {\n switch (unlocker.type) {\n case 'PIN':\n return 'P';\n break;\n case 'QR':\n return 'Q';\n break;\n case 'TICKET_CARD':\n return 'T';\n break;\n case 'CARD':\n return 'C';\n break;\n case 'FINGERPRINT':\n return 'F';\n break;\n case 'TICKET_ONE_USE':\n return '1';\n break;\n default:\n return 'X';\n }\n };\n\n // Render\n return (\n <>\n {unlocker && unlocker.type && !isDeleted && (\n \n {getTypeLetter(unlocker)}\n \n }\n label={cxt.t(`UT.${unlocker.type}`)}\n onClick={\n showModal\n ? (ev) => setUnlockerDialogOpened(true)\n : onClick\n }\n />\n )}\n\n {showModal && unlocker && unlockerDialogOpened && (\n setUnlockerDialogOpened(false)}\n onDelete={(ev) => setIsDeleted(true)}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Chip, Box } from '@material-ui/core';\nimport { AppContext } from '../all';\n\nexport function SttChipFacilityRow({ facilities, maxWidth = 'auto' }) {\n const cxt = useContext(AppContext);\n\n /**\n * Get initials\n */\n const getInitials = (name) => {\n if (!name) {\n return '';\n }\n\n const words = name.split(' ');\n const result = [];\n words.forEach((word) => {\n if (!['-', '(', ')'].includes(word))\n return result.push(word.substring(0, 1));\n });\n\n return result;\n };\n\n // -----| Render |-----\n return (\n \n {facilities &&\n facilities.map((facility, idx) => (\n \n \n \n ))}\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Box, Container, IconButton } from '@material-ui/core';\nimport moment from 'moment';\nimport Paper from '@material-ui/core/Paper';\nimport { FilterList as FilterListIcon } from '@material-ui/icons';\nimport SearchIcon from '@material-ui/icons/Search';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttFullDialog } from '../../../sporttia/dialogs/SttFullDialog';\nimport { SttChipUnlocker } from '../../../sporttia/chips/SttChipUnlocker';\nimport { SttChipFacilityRow } from '../../../sporttia/chips/SttChipFacilityRow';\nimport { SttButton, SttTable, SttTopControls } from '../../../sporttia/all';\nimport { useToggle, useTuples } from '../../../lib/hooks';\n\nexport function DevicesKeysDialog({ openStatus = false, onClose }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [keys, setKeys] = useState(null);\n\n // Trash hook\n const [trash, toggleTrash] = useToggle(() => {\n loadKeys();\n });\n\n const [filters, setFilter] = useState({\n code: '',\n mshipName: '',\n });\n\n // Initial type\n const [keyType, setKeyType] = useState('ALL');\n\n // On keyType change, reload data\n useEffect(() => {\n loadKeys();\n }, [keyType]);\n\n /**\n * Load keys\n */\n const loadKeys = (p = { page: 1, rows: 10 }) => {\n const finalFilters = {\n code: filters.code,\n type: keyType === 'ALL' ? '' : keyType,\n mshipName: filters.mshipName,\n };\n\n cxt.api('GET', `/scs/${cxt.sc.id}/unlockers`, {\n params: {\n page: p.page,\n rows: p.rows,\n ...finalFilters,\n trash,\n },\n success: (r) => {\n setKeys(r);\n },\n });\n };\n\n // -----| Render |-----\n return (\n \n \n \n \n loadKeys()}>\n \n \n ),\n }}\n fields={[\n {\n caption: cxt.t('Code'),\n type: 'text',\n name: 'code',\n value: filters.code,\n width: 100,\n onEnterKey: loadKeys,\n },\n {\n caption: cxt.t('Type'),\n type: 'select',\n name: 'type',\n value: keyType,\n options: [\n {\n caption: cxt.t('All'),\n value: 'ALL',\n },\n {\n caption: cxt.t('UT.CARD'),\n value: 'CARD',\n },\n {\n caption: cxt.t('UT.PIN'),\n value: 'PIN',\n },\n {\n caption: cxt.t('UT.QR'),\n value: 'QR',\n },\n ],\n onChange: ({ name, value }) =>\n setKeyType(value),\n },\n {\n caption: cxt.t('Name'),\n type: 'text',\n name: 'mshipName',\n value: filters.mshipName,\n onEnterKey: loadKeys,\n },\n ]}\n onToggleTrash={toggleTrash}\n onChange={({ name, value }) =>\n setFilter({ ...filters, [name]: value })\n }\n onFilter={loadKeys}\n />\n\n (\n \n ),\n },\n {\n align: 'left',\n title: cxt.t('User'),\n value: (row) => row.user.fullName,\n },\n ]}\n />\n \n \n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Box, Container, IconButton, Paper } from '@material-ui/core';\n\nimport SearchIcon from '@material-ui/icons/Search';\nimport moment from 'moment';\nimport {\n AppContext,\n SttFullDialog,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\n\nexport function DevicesAuthorizationsDialog({ openStatus = false, onClose }) {\n const cxt = useContext(AppContext);\n\n const [authorizations, setAuthorizations] = useState(null);\n\n const [filters, setFilter] = useState({\n deviceId: '',\n unlockerCode: '',\n mshipFullname: '',\n });\n\n /**\n * Load authorizations\n */\n const loadAuthorizations = (p = { page: 1, rows: 10 }) => {\n const finalFilters = {\n deviceId: filters.deviceId,\n unlockerCode: filters.unlockerCode,\n mshipFullname: filters.mshipFullname,\n };\n\n cxt.api('GET', `/scs/${cxt.sc.id}/devices/single-authorizations`, {\n params: {\n page: p.page,\n rows: p.rows,\n ...finalFilters,\n },\n success: (r) => {\n setAuthorizations(r);\n },\n });\n };\n\n return (\n \n \n \n \n loadAuthorizations()}\n >\n \n \n ),\n }}\n fields={[\n {\n caption: cxt.t('deviceId'),\n type: 'text',\n name: 'deviceId',\n value: filters.deviceId,\n width: 100,\n onEnterKey: loadAuthorizations,\n },\n {\n caption: cxt.t('unlockerCode'),\n type: 'text',\n name: 'unlockerCode',\n value: filters.unlockerCode,\n width: 100,\n onEnterKey: loadAuthorizations,\n },\n {\n caption: cxt.t('Fullname'),\n type: 'text',\n name: 'mshipFullname',\n value: filters.mshipFullname,\n width: 100,\n onEnterKey: loadAuthorizations,\n },\n ]}\n onChange={({ name, value }) =>\n setFilter({ ...filters, [name]: value })\n }\n onFilter={loadAuthorizations}\n />\n\n row.deviceId,\n },\n {\n title: cxt.t('Device'),\n value: (row) => row.deviceName,\n },\n {\n title: cxt.t('deviceType'),\n value: (row) => row.deviceType,\n },\n {\n title: cxt.t('Module'),\n value: (row) => row.module,\n },\n {\n title: cxt.t('DateIni'),\n value: (row) =>\n moment(row.ini).format(\n 'D-M-YYYY, H:mm',\n ),\n },\n {\n title: cxt.t('DateEnd'),\n value: (row) =>\n moment(row.end).format(\n 'D-M-YYYY, H:mm',\n ),\n },\n {\n title: cxt.t('unlockerCode'),\n value: (row) => row.unlockerCode,\n },\n {\n align: 'left',\n title: cxt.t('User'),\n value: (row) => row.mshipFullname,\n },\n ]}\n />\n \n \n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Box } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport { SttForm } from '../../sporttia/SttForm';\nimport { SttDialog } from '../../sporttia/dialogs/SttDialog';\nimport { AppContext } from '../../sporttia/AppContext';\nimport { useInteractionsFiles, useLoader } from '../../lib/hooks';\n\nexport default function Q60DownloadDialog({\n open = false,\n onClose,\n filters = {},\n}) {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const [downloadStatus, setDownloadStatus] = useState('idle');\n const [q60Params, setQ60Params] = useState({\n codeTramitter: 30820,\n presenterEntity: '0081',\n presenterOffice: 1045,\n paidIni: new Date(),\n paymentDate: new Date(),\n ccc: null,\n collectorEntity: 81,\n collectorOffice: 1045,\n paidEnd: new Date(),\n validityDate: new Date(),\n taxCode: 35,\n });\n\n const downloadQ60 = () => {\n downloadFile(\n `/scs/${cxt?.sc?.id}/payments/q60mod2`,\n 'application/pdf',\n filters,\n undefined,\n 'POST',\n { period: q60Params.paidEnd },\n (response) => {\n const { errors } = response.error;\n if (errors && errors.length >= 1) {\n const formattedErrors = {\n dniError:\n errors && errors.find((error) => error.dni)\n ? 'No tiene dni asignado.'\n : '',\n fullnameError: errors.find((error) => error.fullname)\n ? 'No tiene nombre completo asignado.'\n : '',\n userId: errors[0].userId ?? '',\n };\n cxt.showMessage(\n 'E',\n `El usuario con id ${formattedErrors.userId ? formattedErrors.userId : ''}: ${formattedErrors.fullnameError} ${formattedErrors.dniError}`,\n );\n } else {\n cxt.showMessage('E', `${response.error.msg} }`);\n }\n\n setDownloadStatus('success');\n },\n () => {\n setDownloadStatus('success');\n },\n );\n };\n\n /**\n * Handle form.\n * @param name Key value.\n * @param value Value to be set.\n */\n const handleForm = ({ name, value }) => {\n setQ60Params({ ...q60Params, [name]: value });\n };\n\n const [, loader] = useLoader([downloadStatus]);\n\n return (\n \n {loader}\n \n \n \n \n \n \n }\n buttons={[\n {\n caption: cxt.t('Generate'),\n type: 'accept',\n onClick: () => {\n setDownloadStatus('loading');\n downloadQ60();\n },\n },\n {\n caption: cxt.t('Close'),\n onClick: () => {\n onClose();\n setDownloadStatus('success');\n },\n },\n ]}\n />\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Box, Chip, Avatar, Paper, Link } from '@material-ui/core';\nimport moment from 'moment';\nimport { CloudDownload as CloudDownloadIcon } from '@material-ui/icons';\nimport { useMutation } from 'react-query';\nimport {\n AppContext,\n SttButtonFab,\n SttChipUser,\n SttTopControls,\n SttTable,\n} from '../../../sporttia/all';\nimport {\n useInteractionsFiles,\n useLoader,\n usePageHeader,\n useToggle,\n} from '../../../lib/hooks';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport PaymentCreationDialog from '../../../components/dialogs/PaymentCreationDialog';\nimport { copyToClipboard, fullName, subsetObject } from '../../../lib/utils';\nimport Q60DownloadDialog from '../../../components/dialogs/Q60DownloadDialog';\nimport Mship from '../mships/Mship';\nimport DiscountTooltip from '../../../components/discounts/DiscountTooltip';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nconst filterConfigurations = {\n NORMAL: {\n concept: '',\n userName: '',\n subpayments: false,\n usePeriodEnabled: false,\n paymentPeriodEnabled: false,\n useIni: moment().format('YYYY-MM-DD'),\n useEnd: moment().format('YYYY-MM-DD'),\n paidIni: moment().format('YYYY-MM-DD'),\n paidEnd: moment().format('YYYY-MM-DD'),\n paymentForms: '',\n withDiscounts: false,\n },\n CASH_CONTROL: {\n concept: '',\n userName: '',\n subpayments: false,\n usePeriodEnabled: false,\n paymentPeriodEnabled: true,\n useIni: moment().format('YYYY-MM-DD'),\n useEnd: moment().format('YYYY-MM-DD'),\n paidIni: moment().format('YYYY-MM-DD'),\n paidEnd: moment().format('YYYY-MM-DD'),\n paymentForms:\n 'CASH,DATAFONO,DATAFONO_CONNECTED,TPV,BANK,RECEIPT,CASHDRO',\n withDiscounts: false,\n },\n PURSE: {\n concept: '',\n userName: '',\n subpayments: false,\n usePeriodEnabled: false,\n paymentPeriodEnabled: true,\n useIni: moment().format('YYYY-MM-DD'),\n useEnd: moment().format('YYYY-MM-DD'),\n paidIni: moment().format('YYYY-MM-DD'),\n paidEnd: moment().format('YYYY-MM-DD'),\n paymentForms: 'PURSE',\n withDiscounts: false,\n },\n};\n\n// TODO No está realizado de la mejor forma, hay que cambiar en el futuro, chapuza para entrega rápida.\nconst SCsWithXMLPermissions = ['2525', '3042', '3271', '3128'];\n\nconst getParamsToAPI = (filterParam) => {\n let params = subsetObject(\n filterParam,\n 'concept,subpayments,userName,modules,status,idCreator,idCollector,withDiscounts',\n );\n\n if (params.modules === '') {\n delete params.modules;\n }\n\n if (filterParam.paymentForms !== '') {\n const paymentsType = filterParam.paymentForms.replace('PENDING', '');\n\n params = {\n ...params,\n paymentForms: paymentsType,\n };\n }\n\n // Add paid period\n if (filterParam.paymentPeriodEnabled) {\n params.paidIni = filterParam.paidIni;\n params.paidEnd = filterParam.paidEnd;\n }\n\n // Add use period\n if (filterParam.usePeriodEnabled) {\n params.useIni = filterParam.useIni;\n params.useEnd = filterParam.useEnd;\n }\n\n return params;\n};\n\n/*\n * Página de cobros /sc/payments.\n */\nexport default function Payments() {\n usePageHeader('Collections');\n\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n\n const [payments, setPayments] = useState(null);\n const [paymentId, setPaymentId] = useState(null);\n const [preset, setPreset] = useState('CASH_CONTROL');\n const [admins, setAdmins] = useState([]);\n const [creatingPayment, setCreatingPayment] = useState(false);\n const [filters, setFilters] = useState(filterConfigurations.CASH_CONTROL);\n const [loadingData, setLoadingData] = useState(false);\n const [openQ60Dialog, setOpenQ60Dialog] = useState(false);\n const [selectedMship, setSelectedMship] = useState(null);\n\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadPayments();\n });\n\n /**\n * Init\n *\n * Title & load administrators (used in 2 different filter fields)\n */\n\n /**\n * Accepts an optional parameter 'fltr' to enforce a set of filters regardless of 'filters' state. Used to enforce filterConfigurations.\n */\n function loadPayments(p = { page: 1, rows: 20 }, filterParam = filters) {\n setLoadingData(true);\n const params = getParamsToAPI(filterParam);\n\n // Call API\n cxt.api('GET', `/scs/${cxt.sc.id}/payments`, {\n params: {\n ...params,\n summatory: true,\n trash,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setPayments(r);\n setLoadingData(false);\n },\n });\n }\n\n // If the preset changes, we must save the filters AND request the data manually\n useEffect(() => {\n const newFilters = filterConfigurations[preset];\n setFilters(newFilters);\n loadPayments(undefined, newFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [preset]);\n\n /**\n * Convenient because we'll use the list of admins on 2 different filter fields that are rendered simultaneously and are thus prone to the 404 API bug\n */\n function loadAdmins() {\n cxt.api('GET', `/scs/${cxt.sc.id}/admins`, {\n success: (response) => setAdmins(response?.rows),\n });\n }\n\n useEffect(() => {\n loadAdmins();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const generateORGTFilesMutation = useMutation(\n (bodyParams) =>\n cxt.api('POST', '/files/sgttxs', { params: bodyParams }),\n {\n onSuccess: () => {\n cxt.showMessage('S', 'Ficheros generados exitosamente.');\n },\n onError: () => {\n cxt.showMessage('E', 'Problema en la generación de ficheros');\n },\n },\n );\n\n function download(format) {\n const params = getParamsToAPI(filters);\n let type = '';\n let downloadURL = '';\n\n switch (format) {\n case 'pdf':\n type = 'application/pdf';\n break;\n case 'csv':\n type = 'text/csv';\n break;\n case 'xml':\n type = 'text/xml';\n break;\n default:\n break;\n }\n\n if (format === 'xml') {\n downloadURL = `/scs/${cxt.sc.id}/payments/navision.xml`;\n } else {\n downloadURL = `/scs/${cxt.sc.id}/payments.${format}`;\n }\n\n downloadFile(\n downloadURL,\n type,\n params,\n `${cxt.t('Payments')}.${format}`,\n );\n }\n\n function updatePayment(payment) {\n if (payment) {\n setPayments({\n ...payments,\n rows: payments.rows.map((p) =>\n p.id === payment.id ? payment : p,\n ),\n });\n }\n }\n\n function deletePayment(payment) {\n if (payment) {\n setPayments({\n ...payments,\n count: payments.count - 1,\n rows: payments.rows.filter((p) => p.id !== payment.id),\n });\n }\n }\n const [, loader] = useLoader([\n generateORGTFilesMutation?.isLoading && 'loading',\n ]);\n return (\n <>\n {loader}\n \n \n setFilters({\n ...filters,\n usePeriodEnabled: value,\n }),\n },\n // Date of payment\n {\n xs: 12,\n sm: 12,\n md: 6,\n caption: cxt.t('DateOfPayment'),\n type: 'period',\n enabled: filters.paymentPeriodEnabled,\n nameIni: 'paidIni',\n valIni: filters.paidIni,\n nameEnd: 'paidEnd',\n valEnd: filters.paidEnd,\n onToggle: (value) =>\n setFilters({\n ...filters,\n paymentPeriodEnabled: value,\n }),\n },\n // Payment form\n {\n caption: cxt.t('PaymentForm'),\n name: 'paymentForms',\n type: 'selectMulti',\n value: filters.paymentForms,\n sm: 12,\n md: 12,\n options:\n cxt.constants &&\n cxt.constants.paymentForms &&\n cxt.constants.paymentForms.map((pf) => ({\n label: pf.label,\n value: pf.id === '' ? 'PENDING' : pf.id,\n })),\n },\n // Creator (user)\n {\n caption: cxt.t('Creator'),\n name: 'idCreator',\n type: 'selectAutocomplete',\n value: filters.idCreator,\n options: admins,\n },\n // Collector (user)\n {\n caption: cxt.t('Collector'),\n name: 'idCollector',\n type: 'selectAutocomplete',\n value: filters.idCollector,\n options: admins,\n },\n // Sub payments\n {\n caption: cxt.t('ChildPayments'),\n name: 'subpayments',\n type: 'check',\n checked: !!filters.subpayments,\n onChange: ({ name, value }) =>\n setFilters({ ...filters, [name]: +value }),\n },\n // With discounts\n {\n caption: cxt.t('Discounts'),\n name: 'withDiscounts',\n type: 'check',\n checked: !!filters.withDiscounts,\n onChange: ({ name, value }) =>\n setFilters({\n ...filters,\n [name]:\n name === 'withDiscounts'\n ? !!value\n : value,\n }),\n },\n // Module\n {\n caption: cxt.t('Module'),\n name: 'modules',\n type: 'selectMulti',\n value: filters.modules,\n sm: 8,\n md: 8,\n options: cxt.constants?.modules?.map((m) => {\n // El back end entiende que el valor del modulo para eventos es TOURNAMENT\n // EVENT falla ya que es un modulo que no está permitido\n if (m.id === 'EVENT') {\n return {\n label: m.label,\n value: 'TOURNAMENT',\n };\n }\n\n return {\n label: m.label,\n value: m.id,\n };\n }),\n },\n ]}\n menu={[\n {\n caption: `${cxt.t('Download')} PDF`,\n onClick: () => download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n {\n caption: 'Q60 mod. 2',\n onClick: () => setOpenQ60Dialog(true),\n },\n (cxt?.sc?.id === 3444 || cxt?.sc?.id === 2401) && {\n caption: `${cxt.t('Download')} ORGT`,\n onClick: () => {\n generateORGTFilesMutation.mutate({\n useIni: filters?.useIni,\n useEnd: filters?.useEnd,\n paymentForms: filters?.paymentForms,\n paymentStatus: filters?.status,\n });\n },\n },\n ...(SCsWithXMLPermissions.includes(\n localStorage.getItem('idSC'),\n )\n ? [\n {\n caption: `${cxt.t('Download')} XML`,\n onClick: () => download('xml'),\n },\n ]\n : [{}]),\n cxt.sc &&\n cxt.sc.id === 2359 && {\n caption: cxt.t('XabiaDocuments'),\n onClick: () => setOpenQ60Dialog(true),\n },\n ]}\n menuIcon={}\n onChange={({ name, value }) => {\n setFilters({ ...filters, [name]: value });\n }}\n onFilter={loadPayments}\n loadingData={loadingData}\n mainAction={{\n type: 'select',\n options: [\n {\n caption: cxt.t('Normal'),\n value: 'NORMAL',\n },\n {\n caption: cxt.t(\n 'page.sc.collections.type.cashControl',\n ),\n value: 'CASH_CONTROL',\n },\n {\n caption: cxt.t(\n 'page.sc.collections.type.purse',\n ),\n value: 'PURSE',\n },\n ],\n selected: preset,\n onChange: (value) => setPreset(value),\n }}\n />\n\n ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: cxt.t('Created'),\n align: 'center',\n value: (row) => (\n <>\n \n \n {new DateBuilder(\n row.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy()}\n \n \n ),\n },\n {\n field: 'module',\n title: cxt.t('Module'),\n type: 'module',\n },\n {\n title: `${cxt.t('User')} / ${cxt.t('Tutor')}`,\n width: 160,\n align: 'left',\n value: (row) => {\n if (!row.user?.mship) {\n return null;\n }\n\n return (\n \n setSelectedMship(row.user.mship)\n }\n >\n {fullName(row.user)}\n \n );\n },\n },\n {\n title: cxt.t('Concept'),\n align: 'left',\n value: (row) => (\n <>\n setPaymentId(row.id)}>\n {row.concept}\n \n\n {row.children && (\n \n \n {row.children.count}\n \n }\n label={cxt.t('Children')}\n />\n \n )}\n\n {row.parent && (\n \n \n \n )}\n\n {row.discounts && (\n \n )}\n \n ),\n },\n {\n title: cxt.t('Period'),\n type: 'periodPlain',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Paid'),\n type: 'text',\n value: (row) =>\n row.paymentDate && (\n <>\n \n \n {moment(row.paymentDate).format(\n 'D MMM YYYY',\n )}\n \n \n ),\n },\n {\n title: cxt.t('PForm'),\n type: 'pf',\n field: 'paymentForm',\n },\n {\n title: cxt.t('Price'),\n align: 'right',\n type: 'price',\n field: 'price',\n value: (row) => ({\n paid: row.status === 'PAID',\n price: row.price,\n priceShape: row.priceShape,\n }),\n },\n ]}\n totals={\n payments && payments.summatory\n ? [\n {\n index: 7,\n value: payments\n ? payments.summatory.total\n : null,\n adornment: cxt.sc.city.country\n .currencySymbol\n ? ` ${cxt.sc.city.country.currencySymbol}`\n : ' €',\n },\n ]\n : null\n }\n // Llamamos a la autoCarga con el 'preset' inicial\n onFetch={loadPayments}\n />\n\n {paymentId && (\n setPaymentId(null)}\n onPay={updatePayment}\n onRecovered={updatePayment}\n onRefund={loadPayments}\n onDeleted={deletePayment}\n onSave={updatePayment}\n />\n )}\n\n {\n setCreatingPayment(false);\n loadPayments();\n }}\n onClose={() => setCreatingPayment(false)}\n />\n\n setOpenQ60Dialog(false)}\n filters={getParamsToAPI(filters)}\n />\n\n setSelectedMship(null)}\n />\n\n setCreatingPayment(true)} />\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport constants from '../../../config/constants';\nimport {\n AppContext,\n SttDialog,\n SttFormPeriod,\n SttFormSelect,\n SttFormText,\n SttFormTextarea,\n SttSelectFixedInterval,\n} from '../../../sporttia/all';\nimport translations from '../../../translations';\nimport { useTranslations } from '../../../lib/hooks';\n\nexport default function CreateGroupDialog({ open, onSave, onClose }) {\n const [group, setGroup] = useState();\n const [parentGroups, setParentGroups] = useState([]);\n // const [parentGroup, setParentGroup] = useState(null);\n\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n\n /**\n * Load groups that they can be parents\n */\n function loadParentGroups() {\n cxt.api('GET', `/scs/${cxt.sc.id}/groups`, {\n params: {\n year: moment().get('year'),\n types: 'NORMAL,ABONADOS',\n page: 1,\n rows: 1000,\n },\n success: (result) => {\n if (result.rows) {\n setParentGroups(result.rows);\n }\n // console.log(\"GROUPS\", result.rows.reduce((res, val, i) => ( res + (i>0?\", \":\"\") + val.name),\"\"));\n },\n });\n }\n\n useEffect(() => {\n if (open) loadParentGroups();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n useEffect(() => {\n // Set init group data\n if (open) {\n setGroup({\n name: '',\n maxMembers: 0,\n type: 'NORMAL',\n idParent: null,\n description: '',\n ini: moment().format('YYYY-MM-DD'),\n end: moment().endOf('year').format('YYYY-MM-DD'),\n enrollmentPrice: 0,\n expiration: '0000-00-00 00:00:00',\n feeTaxConceptCode: Object.values(constants.orgt.scIds).includes(\n cxt?.sc?.id,\n )\n ? constants.orgt.taxCodes.noOption\n : undefined,\n signupTaxConceptCode: Object.values(\n constants.orgt.scIds,\n ).includes(cxt?.sc?.id)\n ? constants.orgt.taxCodes.noOption\n : undefined,\n });\n }\n }, [open]);\n\n useEffect(() => {\n if (group) {\n if (group.type === 'NORMAL') {\n if ('feePrice' in group) delete group.feePrice;\n if ('feeInterval' in group) delete group.feeInterval;\n } else if (group.type === 'ABONADOS') {\n if (!('feePrice' in group)) setGroup({ ...group, feePrice: 0 });\n if (!('feeInterval' in group))\n setGroup({ ...group, feeInterval: '0000-00-00 00:00:00' });\n }\n }\n }, [group]);\n\n function saveAndClose() {\n if (onSave && onSave.constructor === Function) {\n onSave();\n }\n if (onClose && onClose.constructor === Function) {\n onClose();\n }\n }\n\n /**\n * Create group\n */\n function save() {\n if (group?.type === constants.group.types.family.name) {\n group.maxMembers = 0;\n }\n\n if (group?.feeInterval === '0000-00-00 00:00:00') {\n group.feeInterval = '';\n }\n\n cxt.api('POST', `/scs/${cxt.sc.id}/groups`, {\n params: { ...group },\n success: (response) => {\n if (response.group) {\n cxt.showMessage('S', cxt.t('Saved'));\n saveAndClose();\n }\n },\n });\n }\n\n // Set named field to specified value\n function handleChange({ name, value }) {\n setGroup({ ...group, [name]: value });\n }\n\n if (!group) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n \n \n {group.type !== 'FAMILY' ? (\n \n ) : (\n \n )}\n \n \n {\n const processPrice = price;\n processPrice.value = price.value.replace(\n /[^0-9]/g,\n '.',\n );\n handleChange(processPrice);\n }}\n />\n \n \n ({\n caption: currentGroup.name,\n value: currentGroup.id,\n }))}\n onChange={handleChange}\n />\n \n \n \n \n \n \n \n {(group.type === 'ABONADOS' || group.type === 'AF') && (\n <>\n \n \n \n \n \n \n \n )}\n\n \n \n \n {Object.values(constants.orgt.scIds).includes(\n cxt?.sc?.id,\n ) && (\n \n \n \n )}\n {Object.values(constants.orgt.scIds).includes(\n cxt?.sc?.id,\n ) && (\n \n \n \n )}\n \n }\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Button, Chip, Divider, Grid, Typography } from '@material-ui/core';\nimport { Publish } from '@material-ui/icons';\n\nimport {\n SttDialog,\n SttFormText,\n SttFormDate,\n SttUploadDialog,\n AppContext,\n} from '../all';\nimport { useLoader, useTranslations } from '../../lib/hooks';\nimport useActivitiesService from '../../services/ActivitiesService';\nimport { CreateDuplicationActivitiesBody } from '../../types/api/paths/Student';\nimport translations from '../../translations';\nimport { isErrorResponse } from '../../types/common';\n\ntype SttActivitiesDuplicationDialogProps = {\n open?: boolean;\n onClose: () => void;\n onDuplicate: () => void;\n activities: number[];\n};\n\ntype ActivityDocument = {\n id: number;\n url: string;\n name: string;\n};\n/**\n * Select group dialog\n */\nexport function SttActivitiesDuplicationDialog({\n open = false,\n onClose,\n onDuplicate,\n activities,\n}: SttActivitiesDuplicationDialogProps) {\n // Handler to ensure page is reset to the first page when the filter is changed\n const cxt = useContext(AppContext)!;\n\n const [form, setForm] = useState({\n ids: activities,\n originalNameFragment: undefined,\n newNameFragment: undefined,\n inscIni: undefined,\n inscEnd: undefined,\n timeini: undefined,\n timeend: undefined,\n });\n\n const { translate } = useTranslations();\n const [documents, setDocuments] = useState([]);\n const [openUploadPoster, setOpenUploadPoster] = useState(false);\n const { useCreateDuplicationsActivities } = useActivitiesService();\n const duplicateActivitiesMutation = useCreateDuplicationsActivities();\n const [, loader] = useLoader([duplicateActivitiesMutation.status]);\n\n if (!open) {\n return null;\n }\n\n if (isErrorResponse(duplicateActivitiesMutation.error)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n cxt.showMessage('E', duplicateActivitiesMutation.error.error.msg);\n duplicateActivitiesMutation.reset();\n }\n\n if (duplicateActivitiesMutation.isSuccess) {\n onDuplicate();\n }\n\n if (duplicateActivitiesMutation.status)\n return (\n onClose()}\n maxWidth=\"md\"\n content={\n <>\n {loader}\n \n \n \n {\n setForm({\n ...form,\n originalNameFragment:\n data.value,\n });\n }}\n />\n {\n setForm({\n ...form,\n newNameFragment: data.value,\n });\n }}\n />\n \n \n {\n setForm({\n ...form,\n inscIni: data.value,\n });\n }}\n />\n {\n setForm({\n ...form,\n inscEnd: data.value,\n });\n }}\n />\n \n \n {\n setForm({\n ...form,\n timeini: data.value,\n });\n }}\n />\n {\n setForm({\n ...form,\n timeend: data.value,\n });\n }}\n />\n \n \n \n \n \n \n {translate(\n translations.generic.documents,\n )}\n \n \n\n {documents.length > 0 &&\n documents.map(\n (document: ActivityDocument) => (\n \n \n \n ),\n )}\n \n \n \n \n setOpenUploadPoster(false)}\n onUploaded={(r: {\n file: { id: number; url: string; name: string };\n }) => {\n const { file } = r;\n setOpenUploadPoster(false);\n setDocuments([\n ...documents,\n {\n id: file?.id,\n url: file?.url,\n name: file?.name,\n },\n ]);\n }}\n />\n \n }\n buttons={[\n {\n type: 'component',\n show: true,\n component: (\n }\n onClick={() => setOpenUploadPoster(true)}\n >\n {translate(\n translations.activity.uploadDocuments,\n )}\n \n ),\n onClick: () => () => setOpenUploadPoster(true),\n },\n {\n type: 'save',\n label: 'Duplicar actividades',\n onClick: () => {\n duplicateActivitiesMutation.mutate(\n {\n params: {\n ...form,\n idFiles: documents?.map(\n (doc) => doc?.id,\n ),\n },\n },\n {\n onSuccess: () =>\n cxt.showMessage(\n 'S',\n translate(\n translations.generic\n .OperationSuccessful,\n ),\n ),\n },\n );\n },\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, Box } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport RedoIcon from '@material-ui/icons/Redo';\nimport {\n AppContext,\n SttDialog,\n SttFormText,\n SttFormTextarea,\n SttLabelDate,\n} from '../../../sporttia/all';\nimport { subsetObject } from '../../../lib/utils';\n\n/**\n * Remittence line\n * ===============\n *\n * Props\n *\n * \t* object remittenceLine\n * \t* function onClose\n * \t* function onUpdate(remittenceLine): call it when the internal line is updated\n */\nexport default function RemittenceLineDialog({\n remittenceLine = null,\n onClose,\n onUpdate,\n}) {\n const cxt = useContext(AppContext);\n const [internalLine, setInternalLine] = useState();\n\n /**\n * Remittence line changes\n */\n useEffect(() => {\n setInternalLine(remittenceLine);\n }, [remittenceLine]);\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setInternalLine({ ...internalLine, [name]: value });\n };\n\n /**\n * Save line\n */\n const saveLine = () => {\n cxt.api('PUT', `/remittences/lines/${internalLine.id}`, {\n params: subsetObject(internalLine, ['name', 'description', 'iban']),\n success: (r) => {\n setInternalLine(r.remittenceLine);\n cxt.showMessage('S', cxt.t('Saved'));\n if (onUpdate) onUpdate(r.remittenceLine);\n },\n });\n };\n\n /**\n * Delete line\n */\n const deleteLine = () => {\n cxt.api('DELETE', `/remittences/lines/${internalLine.id}`, {\n confirmation: true,\n success: (r) => {\n setInternalLine(r.remittenceLine);\n cxt.showMessage('S', cxt.t('Deleted'));\n if (onUpdate) onUpdate(r.remittenceLine);\n },\n });\n };\n\n /**\n * Return line\n */\n const returnLine = () => {\n cxt.api('PUT', `/remittences/lines/${internalLine.id}/reject`, {\n confirmation: true,\n success: (r) => {\n setInternalLine(r.remittenceLine);\n cxt.showMessage('S', cxt.t('Returned'));\n if (onUpdate) onUpdate(r.remittenceLine);\n },\n });\n };\n\n // -----| Render |-----\n return (\n \n {internalLine && (\n <>\n {internalLine.rejected && (\n \n \n \n {cxt.t('Returned')}:{' '}\n \n \n \n \n )}\n\n \n\n \n\n \n \n )}\n \n }\n buttons={[\n {\n show: internalLine && !internalLine.rejected,\n caption: cxt.t('Return'),\n icon: ,\n onClick: () => returnLine(),\n },\n {\n show: internalLine && !internalLine.rejected,\n type: 'delete',\n onClick: () => deleteLine(),\n },\n {\n show: internalLine && !internalLine.rejected,\n type: 'save',\n onClick: () => saveLine(),\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport { AppContext, SttDialog, SttForm } from '../../../sporttia/all';\n\nexport default function FileCSVLineDialog({ line, onClose, onUpdate }) {\n const cxt = useContext(AppContext);\n const [internalLine, setInternalLine] = useState();\n\n /**\n * Intpu line changes\n */\n useEffect(() => {\n setInternalLine(line);\n }, [line]);\n\n /**\n * Save line\n */\n const saveLine = () => {\n const newValues = [];\n for (let i = 0; i < cxt.constants.numFieldsToUserImport; i++) {\n newValues.push(internalLine[`field_${i}`]);\n }\n\n cxt.api('PUT', `/files/csvs/lines/${internalLine.id}`, {\n params: {\n values: newValues,\n },\n success: (r) => {\n if (onUpdate) onUpdate(r.fileCSVLine);\n },\n });\n };\n\n /**\n * Delete line\n */\n const delLine = () => {\n cxt.api('DELETE', `/files/csvs/lines/${internalLine.id}`, {\n confirmation: true,\n success: (r) => {\n if (onUpdate) onUpdate(r.fileCSVLine);\n },\n });\n };\n\n /**\n * Recover line\n */\n const recoverLine = () => {\n cxt.api('PUT', `/files/csvs/lines/${internalLine.id}/recover`, {\n success: (r) => {\n if (onUpdate) onUpdate(r.fileCSVLine);\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setInternalLine({ ...internalLine, [name]: value });\n };\n\n // -----| Render |-----\n return (\n <>\n {internalLine && (\n \n {line && line.error && (\n \n \n {line.error}\n \n \n )}\n\n ({\n md: 6,\n sm: 12,\n xs: 12,\n type: 'text',\n name: `field_${num}`,\n caption: `#${num}`,\n value: internalLine[`field_${num}`],\n }))}\n onChangeForm={handleForm}\n />\n \n }\n buttons={[\n {\n show: internalLine && internalLine.trash,\n type: 'recover',\n onClick: () => recoverLine(),\n },\n {\n show: internalLine && !internalLine.trash,\n type: 'delete',\n onClick: () => delLine(),\n },\n {\n show: internalLine && !internalLine.trash,\n type: 'save',\n onClick: () => saveLine(),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n )}\n \n );\n}\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgTime(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512 512\",\n style: {\n enableBackground: \"new 0 0 512 512\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E5E5E5\"\n },\n d: \"M301,167c-29.546,0-52.983-17.241-53.965-17.974C246.918,148.938,230.38,137,211,137 s-35.874,11.895-36.035,12.026l-14.37,10.767c-4.351,3.281-10.181,3.911-15.117,1.699c-4.98-2.227-8.35-6.987-8.818-12.422 c-0.352-4.013-0.66-8.042-0.66-12.07V45c0-8.291,6.709-15,15-15h210c8.291,0,15,6.709,15,15v80.896 c0,4.761-2.256,9.229-6.079,12.056l-15,11.104C353.983,149.759,330.546,167,301,167z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FCBF29\"\n },\n d: \"M256,257c-61.743,0-113.042-46.289-119.326-107.681c-0.527-5.229,1.714-10.371,5.933-13.521 l14.399-10.796C158.017,124.241,181.454,107,211,107s52.983,17.241,53.965,17.974C265.082,125.062,281.62,137,301,137 s35.874-11.895,36.035-12.026l15.044-11.133c4.526-3.354,10.605-3.896,15.674-1.333c5.054,2.549,8.247,7.72,8.247,13.389V137 C376,203.167,322.167,257,256,257z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FCBF29\"\n },\n d: \"M354.994,452H157.006c-4.673,0-9.097-2.183-11.924-5.903c-2.842-3.721-3.779-8.555-2.549-13.066 C159.115,372.605,204.716,332,256,332s96.885,40.605,113.467,101.03c1.23,4.512,0.293,9.346-2.549,13.066 C364.091,449.817,359.667,452,354.994,452z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FEA832\"\n },\n d: \"M354.994,452c4.673,0,9.097-2.183,11.924-5.903c2.842-3.721,3.779-8.555,2.549-13.066 C352.885,372.605,307.284,332,256,332v120H354.994z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E5E5E5\"\n },\n d: \"M361,482h-6.006c-6.753,0-12.686-4.512-14.473-11.03C327.572,423.729,293.603,392,256,392 s-71.572,31.729-84.521,78.97c-1.787,6.519-7.72,11.03-14.473,11.03H151c-8.291,0-15-6.709-15-15v-90c0-66.167,53.833-120,120-120 c32.212,0,62.314,12.554,84.785,35.376C363.432,314.671,376,344.788,376,377v90C376,475.291,369.291,482,361,482z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FCBF29\"\n },\n d: \"M256,302c-8.291,0-15-6.709-15-15v-30c0-8.291,6.709-15,15-15c8.291,0,15,6.709,15,15v30 C271,295.291,264.291,302,256,302z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#787780\"\n },\n d: \"M91,482c-8.291,0-15-6.709-15-15V45c0-8.291,6.709-15,15-15s15,6.709,15,15v422 C106,475.291,99.291,482,91,482z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#57555C\"\n },\n d: \"M421,482c-8.291,0-15-6.709-15-15V45c0-8.291,6.709-15,15-15s15,6.709,15,15v422 C436,475.291,429.291,482,421,482z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FD3018\"\n },\n d: \"M451,512H61c-8.291,0-15-6.709-15-15l0,0c0-24.814,20.186-45,45-45h330c24.814,0,45,20.186,45,45l0,0 C466,505.291,459.291,512,451,512z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#D9D9D9\"\n },\n d: \"M340.521,470.97c1.787,6.519,7.72,11.03,14.473,11.03H361c8.291,0,15-6.709,15-15v-90 c0-32.212-12.568-62.329-35.215-84.624C318.314,269.554,288.212,257,256,257v135C293.603,392,327.572,423.729,340.521,470.97z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#D9D9D9\"\n },\n d: \"M361,30H256v124.604C265.597,159.89,281.983,167,301,167c29.546,0,52.983-17.241,53.921-17.944 l15-11.104c3.823-2.827,6.079-7.295,6.079-12.056V45C376,36.709,369.291,30,361,30z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FEA832\"\n },\n d: \"M367.753,112.508c-5.068-2.563-11.147-2.021-15.674,1.333l-15.044,11.133 C336.874,125.105,320.38,137,301,137s-35.918-11.938-36.035-12.026c-0.35-0.262-3.651-2.651-8.965-5.577V257 c66.167,0,120-53.833,120-120v-11.104C376,120.228,372.807,115.057,367.753,112.508z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E61E14\"\n },\n d: \"M421,452H256v60h195c8.291,0,15-6.709,15-15C466,472.186,445.814,452,421,452z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FEA832\"\n },\n d: \"M271,287v-30c0-8.291-6.709-15-15-15v60C264.291,302,271,295.291,271,287z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FD3018\"\n },\n d: \"M421,60H91c-24.814,0-45-20.186-45-45l0,0c0-8.291,6.709-15,15-15h390c8.291,0,15,6.709,15,15l0,0 C466,39.814,445.814,60,421,60z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E61E14\"\n },\n d: \"M451,0H256v60h165c24.814,0,45-20.186,45-45C466,6.709,459.291,0,451,0z\"\n }), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null)), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTime);\nexport default __webpack_public_path__ + \"static/media/time.0af55bb05eb869e402fda6becfa138c2.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect, useContext, Fragment } from 'react';\nimport {\n Grid,\n Box,\n IconButton,\n Button,\n LinearProgress,\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport AddIcon from '@material-ui/icons/Add';\nimport moment from 'moment';\nimport {\n AppContext,\n SttDialog,\n SttFormSelect,\n SttFormTextarea,\n SttFormText,\n SttFormCheck,\n} from '../../../sporttia/all';\nimport {\n deleteElementFromArray,\n updateElementInArray,\n} from '../../../lib/utils';\nimport timeImg from '../../../images/time.svg';\n\nexport default function ImportUsersDialog({\n open = false,\n file,\n lines,\n onClose,\n onUpdate,\n}) {\n const cxt = useContext(AppContext);\n const [importing, setImporting] = useState(false);\n const [notes, setNotes] = useState();\n const [numUsersToImport, setNumUsersToImport] = useState(1);\n const [modifyExisting, setModifyExisting] = useState(false);\n\n /**\n *\t1 => login\n *\n *\tmenas that the column 1 of the list goes as \"login\" of user\n */\n const [conversions, setConversions] = useState([\n /*\n\t\t{\n\t\t\torigin: 1,\n\t\t\tdestine: 'login'\n\t\t}\n\t\t*/\n ]);\n\n const fieldNumbers = [...Array(cxt.constants.numFieldsToUserImport).keys()];\n const fieldConversions = [\n { value: 'login', caption: 'Login' },\n { value: 'name', caption: cxt.t('Name') },\n { value: 'surname1', caption: `${cxt.t('Surname')} 1` },\n { value: 'surname2', caption: `${cxt.t('Surname')} 2` },\n { value: 'password', caption: cxt.t('Password') },\n { value: 'dni', caption: cxt.t('DNI') },\n { value: 'address', caption: cxt.t('Address') },\n { value: 'phone', caption: cxt.t('Mobile') },\n { value: 'email', caption: cxt.t('Email') },\n { value: 'iban', caption: cxt.t('IBAN') },\n { value: 'idCity', caption: `${cxt.t('City')} (id)` },\n { value: 'idGroup', caption: `${cxt.t('Group')} (id)` },\n { value: 'purseAmount', caption: cxt.t('purse') },\n { value: 'birthday', caption: cxt.t('Birthday') },\n { value: 'gender', caption: cxt.t('Gender') },\n ];\n\n /**\n * Do import\n */\n const doImport = () => {\n setImporting(true);\n cxt.api('POST', `/files/csvs/${file.id}/users`, {\n params: {\n conversions: conversions.map((conv) => ({\n origin: conv.origin == 'B' ? 0 : conv.origin,\n destine: conv.destine,\n })),\n notes,\n numUsersToImport,\n modifyExisting,\n },\n success: (r) => {\n cxt.showMessage('S', cxt.t('page.import.success'));\n onClose();\n onUpdate(r.fileCSV);\n setImporting(false);\n },\n });\n };\n\n /**\n * Add conversion\n */\n const addConversion = () => {\n setConversions([\n ...conversions,\n {\n id: conversions.length ? conversions.length : 'B',\n origin: conversions.length ? conversions.length : 'B',\n destine: fieldConversions[0].value,\n },\n ]);\n };\n\n /**\n * Remove conversion\n */\n const removeConversion = (conv) => {\n setConversions(deleteElementFromArray(conversions, conv));\n };\n\n /**\n * Update conversion\n */\n const updateConversion = (conversion) => {\n setConversions(updateElementInArray(conversions, conversion));\n };\n\n /**\n * File changes\n */\n useEffect(() => {\n setNotes(\n `${file && file.name} - Import ${moment().format(\n 'YYYY-MM-DD HH:mm:ss',\n )}`,\n );\n }, [file]);\n\n /**\n * Init\n */\n useEffect(() => {\n addConversion();\n }, []);\n\n // -----| Render |-----\n return (\n \n {importing ? (\n \n \n \n \n \n \n ) : (\n \n \n {cxt.t('page.import.rules')}\n\n {/* --- Convertion list --- */}\n \n {conversions.map((conv, idx) => (\n \n \n updateConversion({\n id: conv.id,\n origin: value || 'B',\n destine: conv.destine,\n })\n }\n options={fieldNumbers.map(\n (num) => ({\n caption: `#${num}`,\n value: num || 'B',\n }),\n )}\n />\n\n \n updateConversion({\n id: conv.id,\n origin: conv.origin,\n destine: value,\n })\n }\n options={fieldConversions}\n />\n\n \n \n removeConversion(conv)\n }\n >\n \n \n \n \n ))}\n\n {/* --- Add new convertion --- */}\n \n }\n onClick={() => addConversion()}\n >\n {cxt.t('New')}\n \n \n \n \n\n \n \n {/* --- Notes --- */}\n \n setNotes(value)\n }\n />\n\n {/* --- Num users to iportt --- */}\n \n setNumUsersToImport(value)\n }\n />\n\n {/* --- Modify existing while importing --- */}\n \n setModifyExisting(value)\n }\n />\n \n \n \n )}\n \n }\n buttons={[\n {\n show: !importing,\n type: 'accept',\n onClick: () => doImport(),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { AppContext, SttFormSelect } from '../all';\n\nexport const GENDER = {\n MALE: 'MALE',\n FEMALE: 'FEMALE',\n UNKNOWN: 'UNKNOWN',\n OTHER: 'OTHER',\n};\n\nexport function SttSelectGender({\n grid = false,\n xs = 12,\n md = 3,\n caption,\n name,\n defVal = GENDER.UNKNOWN,\n onChange,\n ...rest\n}) {\n const cxt = useContext(AppContext);\n\n const content = (\n \n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, Box, Divider } from '@material-ui/core';\nimport moment from 'moment';\n\nimport { useQueryClient } from 'react-query';\nimport {\n AppContext,\n SttLabelForm,\n SttFormText,\n SttButtonSave,\n SttButtonDelete,\n SttButtonRecover,\n SttButtonCancel,\n SttSelectGender,\n} from '../../../sporttia/all';\nimport { SPORTCENTER_ACTIVITY_TEACHERS } from '../../../lib/queryKeys';\nimport { GENDER } from '../../../sporttia/selectors/SttSelectGender';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function Teacher({ idTeacher, onClose, onCreate }) {\n const queryClient = useQueryClient();\n const cxt = useContext(AppContext);\n const [creating, setCreating] = useState(false);\n const [teacher, setTeacher] = useState();\n\n /**\n * Load free schedule\n */\n const loadTeacher = () => {\n cxt.api('GET', `/teachers/${idTeacher}`, {\n params: {\n trash: true,\n },\n success: (r) => {\n setTeacher(r.teacher);\n\n // Set creating\n setCreating(false);\n },\n });\n };\n\n /**\n * Save free schedule\n */\n const saveTeacher = () => {\n // Create\n if (creating) {\n cxt.api('POST', `/scs/${cxt.sc.id}/teachers`, {\n params: {\n ...teacher,\n gender: teacher.gender || GENDER.UNKNOWN,\n },\n success: (r) => {\n cxt.showMessage('S', cxt.t('Created'));\n setTeacher(r.teacher);\n setCreating(false);\n onCreate(r.teacher.name, r.teacher.id);\n queryClient.invalidateQueries(\n SPORTCENTER_ACTIVITY_TEACHERS,\n );\n },\n });\n\n // Update\n } else {\n const putParameters = {\n name: teacher.name,\n login: teacher.login,\n surname1: teacher.surname1,\n surname2: teacher.surname2,\n email: teacher.email,\n phone: teacher.phone,\n gender: teacher.gender || GENDER.UNKNOWN,\n dni: teacher.dni,\n };\n cxt.api('PUT', `/teachers/${teacher.id}`, {\n params: putParameters,\n success: () => {\n cxt.showMessage('S', cxt.t('Saved'));\n },\n });\n }\n };\n\n /**\n * Delete free schedule\n */\n const delTeacher = () => {\n cxt.api('DELETE', `/teachers/${teacher.id}`, {\n confirmation: true,\n success: () => {\n cxt.showMessage('S', cxt.t('Deleted'));\n queryClient.invalidateQueries(SPORTCENTER_ACTIVITY_TEACHERS);\n onClose();\n },\n });\n };\n\n /**\n * Recover free schedule\n */\n const recoverTeacher = () => {\n cxt.api('PUT', `/teachers/${teacher.id}/recover`, {\n confirmation: true,\n success: () => {\n cxt.showMessage('S', cxt.t('Recovered'));\n loadTeacher();\n queryClient.invalidateQueries(SPORTCENTER_ACTIVITY_TEACHERS);\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setTeacher({ ...teacher, [name]: value });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (idTeacher) {\n if (idTeacher === 'create') {\n // Init data to create\n setTeacher({\n login: null,\n name: null,\n surname1: null,\n surname2: null,\n dni: null,\n email: null,\n phone: null,\n gender: null,\n });\n\n // Set status\n setCreating(true);\n } else {\n loadTeacher();\n }\n }\n }, [idTeacher]);\n\n // -----| Render |-----\n return (\n \n {teacher && (\n <>\n {!creating && (\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 {teacher && (\n \n \n {teacher.trash && (\n \n recoverTeacher()}\n />\n \n )}\n\n {!teacher.trash && (\n \n saveTeacher()}\n />\n \n )}\n\n {!creating && !teacher.trash && (\n \n delTeacher()}\n />\n \n )}\n\n {creating && (\n \n onClose()}\n />\n \n )}\n \n \n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport moment from 'moment';\nimport { AppContext, SttTopControls, SttTable } from '../../../sporttia/all';\nimport ActivityClassDialog from '../activities/ActivityClassDialog';\n\nexport default function TeacherClasses({ idTeacher }) {\n const cxt = useContext(AppContext);\n const [classes, setClasses] = useState();\n const [filters, setFilters] = useState({ name: '' });\n const [classOpened, setClassOpened] = useState(null);\n\n /**\n * Load classes\n */\n const loadClasses = (p = { rows: 20, page: 1 }) => {\n cxt.api('GET', `/teachers/${idTeacher}/classes`, {\n params: {\n ...filters,\n ...p,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setClasses(r);\n },\n });\n };\n\n /**\n * Teacher id changes\n */\n useEffect(() => {\n if (idTeacher) loadClasses();\n }, [idTeacher]);\n\n // -----| Render |-----\n return (\n <>\n \n setFilters({ ...filters, [name]: value })\n }\n onFilter={loadClasses}\n />\n\n setClassOpened(row),\n },\n {\n title: cxt.t('Facility'),\n name: 'facility',\n type: 'facility',\n field: 'facility',\n },\n {\n title: cxt.t('Day'),\n name: 'day',\n value: (row) => moment(row.ini).format('ddd'),\n },\n {\n title: cxt.t('Date'),\n name: 'date',\n type: 'dmy',\n field: 'ini',\n },\n {\n title: cxt.t('Time'),\n name: 'time',\n type: 'periodTime',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n ]}\n />\n\n setClassOpened(null)}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {} from '@material-ui/core';\nimport { AppContext, SttFullDialog, SttTabs } from '../../../sporttia/all';\nimport TeacherDetail from './TeacherDetail';\nimport TeacherClasses from './TeacherClasses';\n\nexport default function Teacher({ teacherId, onClose, title }) {\n const cxt = useContext(AppContext);\n const [teacherName, setTeacherName] = useState(title);\n const [idTeacher, setIdTeacher] = useState(teacherId);\n\n // -----| Render |-----\n return (\n \n {\n setTeacherName(teacherName);\n setIdTeacher(id);\n }}\n />\n ),\n },\n {\n caption: cxt.t('Classes'),\n component: (\n \n ),\n },\n ]}\n />\n \n );\n}\n","import React, { useContext } from 'react';\nimport { AppContext, SttSelectableItems } from '../all';\n\n/**\n * SttSelectWeekdays - Present a SttSelectableItems preloaded with the weekdays\n * string name - field name\n * int[] Array selected - values of the selected days: 0,1,2...\n * Function onChange({name, value}) - callback for when selection changes.\n */\nexport function SttSelectWeekdays({ name, selected, onChange, disabled }) {\n const cxt = useContext(AppContext);\n\n // TODO: Make Sunday's position locale-dependant?\n return (\n ({\n label: cxt.t(`day.${day}.mini`),\n value: day,\n }))}\n selected={selected}\n onChange={onChange}\n />\n );\n}\n","import React from 'react';\nimport { Grid, TextField } from '@material-ui/core';\nimport moment from 'moment';\nimport { Autocomplete } from '@material-ui/lab';\n\n/**\n * Generates an array of time options based on the given min time, max time, and interval.\n * @param {string} minTime - The minimum time in the format 'HH:mm'.\n * @param {string} maxTime - The maximum time in the format 'HH:mm'.\n * @param {number} interval - The interval in minutes between each time option.\n * @param {Object} options - Additional options\n * @param {boolean} options.includeMaxTime - Whether or not to include the max time in the generated options.\n * @return {Array} An array of time options in the format { minutes, label, hhmmss }.\n */\nfunction getTimeRangeOptions(minTime, maxTime, interval, options = {}) {\n // Init time array (time format HH:mm)\n let times = [];\n let currentTime = moment(minTime, 'HH:mm');\n const max = moment(maxTime, 'HH:mm');\n while (currentTime.isSameOrBefore(max)) {\n times.push({\n minutes: currentTime.hours() * 60 + currentTime.minutes(),\n label: currentTime.format('HH:mm'),\n hhmmss: currentTime.format('HH:mm:ss'),\n });\n currentTime = currentTime.clone().add(interval, 'minutes');\n }\n if (options.includeMaxTime) {\n times.push({\n minutes: max.hours() * 60 + max.minutes(),\n label: max.format('HH:mm'),\n hhmmss: max.format('HH:mm:ss'),\n });\n } else {\n times = times.filter((e) => e.minutes % interval === 0);\n }\n return times;\n}\n\n/**\n * Form time component.\n * Presents a dropdown list of time options with a specified interval, starting at a given minimum time and ending at a given maximum time.\n *\n * @param {boolean} [grid=false] - Indicates if the component should be wrapped in a Grid element\n * @param {string} name - Name of the input field\n * @param {string} caption - Label text for the input field\n * @param {string} defVal - Default selected value\n * @param {string} [min='06:00:00'] - Starting hour, in the format of 'HH:mm:ss'\n * @param {string} [max='23:55:00'] - Ending hour, in the format of 'HH:mm:ss'\n * @param {number} [interval=30] - Interval between options, in minutes\n * @param {boolean} [disableClearable=true] - Indicates if the clear button in the dropdown list should be disabled\n * @param {boolean} [disabled=false] - Indicates if the component should be disabled\n * @param {Function} onChange - Callback function when the selected time is changed\n * @param {Object} timeRangeOptions - Additional time range options\n * @param {boolean} timeRangeOptions.includeMaxTime - Whether or not to include the max time in the generated options\n * @param {Object} rest - additional props\n */\nexport function SttFormTime({\n grid = false,\n name,\n caption,\n defVal,\n min = '06:00:00',\n max = '23:55:00',\n interval = 30,\n disableClearable = true,\n disabled = false,\n onChange,\n timeRangeOptions = { includeMaxTime: false },\n ...rest\n}) {\n const times = getTimeRangeOptions(min, max, interval, timeRangeOptions);\n\n // Main content\n const content = (\n option?.label || ''}\n value={\n times.find(\n (time) => time?.label === defVal || time?.hhmmss === defVal,\n ) || ''\n }\n onChange={(_, time) =>\n onChange({\n name,\n value: time?.label || '',\n })\n }\n disableClearable={disableClearable}\n renderInput={(params) => (\n \n )}\n />\n );\n\n // Wrapped by grid\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { useCrud } from '../../../lib/hooks';\nimport { SttSelectWeekdays } from '../../../sporttia/selectors/SttSelectWeekdays';\nimport { SttFormTime } from '../../../sporttia/forms/SttFormTime';\nimport { SttList } from '../../../sporttia/lists/SttList';\nimport moment from '../busySchedules/BusySlotDialog';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\n\nexport default function BookingScheduleSlotDialog({\n item,\n onSave,\n onDelete,\n onClose,\n ...rest\n}) {\n const cxt = useContext(AppContext);\n\n const [slot, setSlot, setProperty, Get, Post, Put, Delete] = useCrud(item);\n const [periods, setPeriods] = useState();\n\n // item cambia. Si el contiene id, cargar los periodos asociados.\n useEffect(() => {\n setSlot(item);\n }, [item]);\n\n if (!slot) {\n return null;\n }\n\n return (\n \n \n \n \n \n {/* El output de esto es tipo HH:mm:ss así que lo convertimos a HH:mm para el Slot */}\n handleChange(({name, value: value.split(\":\").splice(0,2).join(\":\")}))}\n onChange={setProperty}\n />\n \n \n {/* El output de esto es tipo HH:mm:ss así que lo convertimos a HH:mm para el Slot */}\n handleChange(({name, value: value.split(\":\").splice(0,2).join(\":\")}))}\n onChange={setProperty}\n />\n \n \n }\n buttons={[\n !slot.id && {\n type: 'save',\n onClick: () => onSave(slot),\n loading: rest.loading,\n },\n slot.id && {\n type: 'delete',\n onClick: () => onDelete(slot),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useContext } from 'react';\nimport { AppContext, SttButton, SttDialog } from '../../../sporttia/all';\n\nexport default function BookingScheduleDeleteDialog({\n open,\n onResponse,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n\n return (\n onResponse(true)}\n />\n ),\n },\n {\n type: 'component',\n component: (\n onResponse(false)}\n />\n ),\n },\n ]}\n content={
{cxt.t('question.remove.fixedRentals')}
}\n />\n );\n}\n","import React, { useEffect, useContext, useState } from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { useCrud } from '../../../lib/hooks';\nimport {\n AppContext,\n SttButtonCancel,\n SttButtonDelete,\n SttButtonRecover,\n SttButtonSave,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttLabelForm,\n SttSelectFacility,\n SttSelectUser,\n SttBookingScheduleSlotList,\n} from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport BookingScheduleSlotDialog from './BookingScheduleSlotDialog';\nimport BookingScheduleDeleteDialog from './BookingScheduleDeleteDialog';\nimport DateBuilder from '../../../lib/DateBuilder';\n\n/**\n * BookingSchedule : Alquiler fijo\n * Object match : navigation params match\n */\nexport default function BookingScheduleDetails({\n id,\n onSaveSlot,\n onSaveBookingSchedule,\n bookingScheduleInit,\n}) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [\n bookingSchedule,\n setBookingSchedule,\n setProperty,\n Get,\n Post,\n Put,\n Delete,\n ] = useCrud(bookingScheduleInit);\n const [slots, setSlots] = useState([]);\n const [viewSlot, setViewSlot] = useState(null);\n const [savingSlots, setSavingSlots] = useState(false);\n const [openDeleteResponseDialog, setOpenDeleteResponseDialog] =\n useState(false);\n\n // Load schedule slots\n function loadSlots() {\n Get(`/bookings/schedules/${id}/slots`).then((response) => {\n if (response.rows) {\n setSlots(response.rows);\n }\n });\n }\n\n useEffect(() => {\n setBookingSchedule(bookingScheduleInit);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bookingScheduleInit?.id]);\n\n // Initialize (load by id or create)\n useEffect(() => {\n if (id === 'create') {\n setBookingSchedule({\n name: '',\n dateini: moment().format('YYYY-MM-DD'),\n dateend: moment().format('YYYY-12-31'),\n status: 'ACTIVE',\n });\n cxt.setHeader({\n title: cxt.t('newBookingSchedule'),\n urlBack: getPath('bookingSchedules'),\n });\n } else {\n loadSlots();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n // Save. Put if 'id' is defined, POST otherwise.\n function saveBookingSchedule() {\n if (bookingSchedule.id) {\n Put(`/bookings/schedules/${bookingSchedule.id}`, {\n status: bookingSchedule?.status,\n name: bookingSchedule?.name,\n }).then((response) => {\n if (response.bookingSchedule) {\n onSaveBookingSchedule(response.bookingSchedule);\n }\n });\n } else {\n const params = {\n name: bookingSchedule.name,\n idUser: bookingSchedule.user?.id,\n idFacility: bookingSchedule.facility?.id,\n dateini: bookingSchedule.dateini,\n dateend: bookingSchedule.dateend,\n weekdays: bookingSchedule.weekdays,\n status: bookingSchedule.status || 'ACTIVE',\n };\n\n Post(`/scs/${cxt.sc.id}/bookings/schedules`, params).then(\n (response) => {\n if (response.bookingSchedule) {\n onSaveBookingSchedule(response.bookingSchedule);\n }\n },\n );\n }\n }\n\n // Delete with API\n function deleteBookingSchedule(userResponse) {\n Delete(`/bookings/schedules/${bookingSchedule.id}`, {\n deleteAllBookings: userResponse,\n }).then(() => {\n history.replace(getPath('bookingSchedules'));\n });\n }\n\n // Recover with API\n function recoverBookingSchedule() {\n Put(`/bookings/schedules/${bookingSchedule.id}/recover`).then(() => {\n setBookingSchedule({\n ...bookingSchedule,\n trash: 0,\n });\n });\n }\n\n if (!bookingSchedule) {\n return false;\n }\n\n // Save Slot: POST only since these can't be edited\n function saveSlot(slot) {\n if (slot.id) {\n return;\n }\n\n setSavingSlots(true);\n\n cxt.api('POST', `/bookings/schedules/${bookingSchedule.id}/slots`, {\n params: {\n ...slot,\n },\n success: (response) => {\n if (response.bookingScheduleSlot) {\n setSlots([...slots, response.bookingScheduleSlot]);\n if (onSaveSlot) onSaveSlot();\n }\n\n if (response.bookingScheduleSlot?.count > 0) {\n cxt.showMessage('S', cxt.t(`Created`));\n }\n\n setViewSlot(null);\n\n setSavingSlots(false);\n },\n error: (response) => {\n if (response.error) {\n cxt.showMessage('E', response.error.msg);\n }\n setSavingSlots(false);\n },\n });\n }\n\n // Delete slot\n function deleteSlot(slot) {\n if (!slot.id) {\n return;\n }\n\n Delete(`/bookings/schedules/slots/${slot.id}`).then((response) => {\n if (response.bookingScheduleSlot) {\n setSlots(slots.filter((slt) => slt.id !== slot.id));\n }\n setViewSlot(null);\n });\n }\n\n return (\n <>\n \n {bookingSchedule.id && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n setProperty({\n name: 'user',\n value: {\n fullName: mship.fullName,\n id: mship.user.id,\n },\n });\n }}\n returnMship\n />\n \n \n {\n setProperty({ name: 'facility', value: facility });\n }}\n />\n \n {bookingSchedule.id && (\n \n {\n setViewSlot({\n weekdays: [],\n });\n }}\n onSelect={setViewSlot}\n />\n \n )}\n \n \n \n {!bookingSchedule.trash && (\n \n \n \n )}\n\n {!bookingSchedule.id && (\n \n \n \n )}\n\n {bookingSchedule.id && !bookingSchedule.trash && (\n \n {\n setOpenDeleteResponseDialog(true);\n }}\n />\n \n )}\n\n {bookingSchedule.trash && (\n \n \n \n )}\n \n \n {\n setViewSlot(null);\n }}\n loading={savingSlots}\n />\n {\n setOpenDeleteResponseDialog(false);\n }}\n onResponse={(userResponse) => {\n deleteBookingSchedule(userResponse);\n }}\n />\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 18.5c-2.51 0-4.68-1.42-5.76-3.5H15l1-2H8.58c-.05-.33-.08-.66-.08-1s.03-.67.08-1H15l1-2H9.24C10.32 6.92 12.5 5.5 15 5.5c1.61 0 3.09.59 4.23 1.57L21 5.3C19.41 3.87 17.3 3 15 3c-3.92 0-7.24 2.51-8.48 6H3l-1 2h4.06c-.04.33-.06.66-.06 1s.02.67.06 1H3l-1 2h4.52c1.24 3.49 4.56 6 8.48 6 2.31 0 4.41-.87 6-2.3l-1.78-1.77c-1.13.98-2.6 1.57-4.22 1.57z\"\n}), 'Euro');","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Divider } from '@material-ui/core';\nimport {\n AppContext,\n SttBookingList,\n SttButtonCollect,\n SttDialog,\n SttSelectPForm,\n} from '../../../sporttia/all';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function ModalCollectBatch({\n open,\n bookings,\n onCollect,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const [paymentForm, setPaymentForm] = useState('');\n\n return (\n onCollect(paymentForm)}\n />\n ),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n content={\n
\n \n \n \n \n \n \n {cxt.t('Total')}:\n \n \n {formatPriceByLocale(\n bookings.reduce(\n (result, booking) => result + booking.price,\n 0,\n ),\n bookings[0]?.totalBillShape?.currency,\n )}\n \n \n \n \n setPaymentForm(value)\n }\n />\n \n
\n }\n />\n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport { Euro, Close } from '@material-ui/icons';\nimport { AppContext, SttChipUser, SttTable } from '../../../sporttia/all';\nimport BookingDialog from '../../../components/dialogs/bookingDialog/BookingDialog';\nimport ModalCollectBatch from './ModalCollectBatch';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\n\nexport default function BookingScheduleBookings({ bookings, onFetch }) {\n const cxt = useContext(AppContext);\n\n const [viewBooking, setViewBooking] = useState(null);\n const [_bookings, setBookings] = useState(bookings);\n const [batch, setBatch] = useState([]);\n const [idPayModal, setIdPayModal] = useState(null);\n\n useEffect(() => {\n setBookings(bookings);\n }, [bookings]);\n\n function openCollectBookings(rows) {\n setBatch(rows);\n }\n\n // Collect payment for bookings via POST /batch\n // The API contains a 'responses' array with the response of each individual request\n function collectBookings(paymentForm) {\n if (batch.length > 0) {\n cxt.api('POST', '/batch', {\n params: {\n calls: batch\n .filter((booking) => !booking.payment)\n .map((booking) => ({\n method: 'PUT',\n endpoint: `/bookings/${booking.id}/pay`,\n data: {\n paymentForm,\n },\n })),\n },\n success: (response) => {\n setBatch([]);\n\n if (response.responses) {\n let existing = { ..._bookings };\n\n response.responses.forEach((responseToSet) => {\n if (responseToSet.booking) {\n existing = {\n ...existing,\n rows: existing.rows.map((row) =>\n responseToSet.booking.id === row.id\n ? responseToSet.booking\n : row,\n ),\n };\n }\n\n if (\n responseToSet.payment &&\n idPayModal === null &&\n responseToSet.payment.parent\n ) {\n setIdPayModal(responseToSet.payment.parent.id);\n }\n });\n\n setBookings(existing);\n }\n },\n error: () => {\n setBatch([]);\n },\n });\n }\n }\n\n // Delete all selected bookings using POST /batch. Api retuns responses[], each one representing the response of each request.\n function cancelBookings(rows) {\n if (rows.length > 0) {\n cxt.api('POST', '/batch', {\n confirmation: true,\n params: {\n calls: rows.map((booking) => ({\n method: 'DELETE',\n endpoint: `/bookings/${booking.id}`,\n })),\n },\n success: () => {\n setBookings({\n count: _bookings.count - rows.length,\n rows: _bookings.rows.filter(\n (booking) =>\n rows.find((row) => row.id === booking.id) ===\n undefined,\n ),\n });\n },\n });\n }\n }\n\n return (\n <>\n setViewBooking(row)}\n // TODO: Descomentar para habilitar procesamiento por lotes de los alquileres (solo borar y cobrar). Añadir además en data={_bookings}\n selection={{\n actions: [\n {\n caption: cxt.t('Collect'),\n icon: ,\n onClick: openCollectBookings,\n },\n {\n caption: cxt.t('Delete'),\n icon: ,\n onClick: cancelBookings,\n },\n ],\n }}\n columns={[\n {\n align: 'left',\n title: cxt.t('User'),\n value: (row) => (\n \n ),\n },\n {\n title: cxt.t('Date'),\n type: 'period',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Time'),\n type: 'periodTime',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Facility'),\n type: 'facility',\n field: 'facility',\n },\n {\n title: cxt.t('Debt'),\n align: 'right',\n type: 'debt',\n value: (row) => row.price - row.totalPaid,\n },\n {\n title: cxt.t('Total'),\n align: 'right',\n type: 'price',\n field: 'price',\n },\n {\n title: cxt.t('Pending'),\n align: 'right',\n type: 'price',\n value: (row) => row.totalBill - row.totalPaid,\n },\n ]}\n />\n\n {viewBooking && (\n setViewBooking(null)}\n onUpdate={onFetch}\n />\n )}\n\n 0}\n onClose={() => setBatch([])}\n bookings={batch}\n onCollect={(paymentForm) => collectBookings(paymentForm)}\n />\n\n {idPayModal && (\n {\n setIdPayModal(null);\n }}\n />\n )}\n \n );\n}\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Box, Grid, Divider } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { useCrud } from '../../../lib/hooks';\nimport {\n AppContext,\n SttButtonCancel,\n SttButtonMonths,\n SttSelectWeekdays,\n SttButtonDelete,\n SttButtonRecover,\n SttFormInterval,\n SttButtonSave,\n SttFacilityList,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttFormTime,\n SttSelectFixedInterval,\n} from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\n\nexport default function RestrictionDetails({\n id,\n restrictionInit,\n weekdaysInit,\n monthsInit,\n}) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [restriction, setRestriction, setProperty, , Post, Put, Delete] =\n useCrud(restrictionInit);\n const [months, setMonths] = useState(monthsInit);\n const [weekdays, setWeekdays] = useState(weekdaysInit);\n const [showNumBookings, setShowNumBookings] = useState(false);\n const [showPeriod, setShowPeriod] = useState(false);\n const [showWeekdays, setShowWeekdays] = useState(false);\n const [showMonths, setShowMonths] = useState(false);\n const [showSpecialDays, setShowSpecialDays] = useState(false);\n const [showWindow, setShowWindow] = useState(false);\n\n useEffect(() => {\n if (id === 'create') {\n setRestriction({\n name: '',\n type: 'NUM_BOOKINGS',\n dateini: moment().format('YYYY-01-01'),\n dateend: moment().format('YYYY-12-31'),\n timeini: '08:00',\n timeend: '23:30',\n isDefault: '0',\n windowIniInterval: '0000-00-00 00:00:00',\n windowEndInterval: '0000-00-00 00:00:00',\n });\n /* cxt.setHeader({\n title: cxt.t('CreateRestriction'),\n urlBack: getPath('restrictions'),\n }); */\n }\n }, [id, setRestriction]);\n\n /**\n * Restriction type changes\n */\n useEffect(() => {\n if (restriction) {\n setShowNumBookings(\n ['NUM_BOOKINGS', 'NUM_ACTIVE_BOOKINGS'].includes(\n restriction.type,\n ),\n );\n setShowPeriod(restriction.type === 'NUM_BOOKINGS');\n setShowWeekdays(restriction.type === 'DAYS');\n setShowMonths(restriction.type === 'DAYS');\n setShowSpecialDays(restriction.type === 'DAYS');\n setShowWindow(restriction.type === 'WINDOW');\n }\n }, [restriction]);\n\n /**\n * Create or update restriction\n */\n function saveRestriction() {\n // Updating\n if (restriction.id) {\n const {\n trash,\n created,\n id: idRestriction,\n facilities,\n groups,\n ...putRestrictionRequestBody\n } = restriction;\n\n Put(`/bookings/restrictions/${restriction.id}`, {\n ...putRestrictionRequestBody,\n weekdays,\n months,\n }).then(() => {});\n\n // Creating\n } else {\n Post(`/scs/${cxt.sc.id}/bookings/restrictions`, {\n ...restriction,\n weekdays,\n months,\n }).then((response) => {\n if (response.bookingRestriction) {\n setRestriction(response.bookingRestriction);\n history.replace(\n getPath(`restriction`, {\n id: response.bookingRestriction.id,\n }),\n );\n }\n });\n }\n }\n\n /**\n * Delete restriction\n */\n function deleteRestriction() {\n Delete(`/bookings/restrictions/${restriction.id}`).then(() => {\n history.replace(getPath('restrictions'));\n });\n }\n\n /**\n * Recover restriction\n */\n function recoverRestriction() {\n Put(\n `/bookings/restrictions/${restriction.id}/recover`,\n null,\n true,\n ).then(() => {\n setRestriction({\n ...restriction,\n trash: 0,\n });\n });\n }\n\n /**\n * Add facility to restrcition\n */\n function addFacility(facility) {\n Post(`/bookings/restrictions/${id}/facilities/${facility.id}`).then(\n () => {\n setProperty({\n name: 'facilities',\n value: restriction.facilities.concat([facility]),\n });\n },\n );\n }\n\n /**\n * Delete facility from restriction\n */\n function removeFacility(facility) {\n Delete(`/bookings/restrictions/${id}/facilities/${facility.id}`).then(\n () => {\n setProperty({\n name: 'facilities',\n value: restriction.facilities.filter(\n (fct) => fct.id !== facility.id,\n ),\n });\n },\n );\n }\n\n /**\n * On month updated\n */\n const onMonthUpdated = (month) => {\n // Set it off\n if (months.includes(month)) {\n const newMonths = [...months];\n newMonths.splice(\n newMonths.findIndex((e) => e === month),\n 1,\n );\n setMonths(newMonths);\n\n // Set it on\n } else {\n setMonths(months.concat([month]));\n }\n };\n\n if (!restriction) {\n return false;\n }\n\n return (\n <>\n \n \n \n \n\n ({\n caption: restr.label,\n value: restr.id,\n }),\n )}\n onChange={setProperty}\n />\n\n \n setProperty({\n name,\n value: moment(value).format('YYYY-MM-DD'),\n })\n }\n />\n\n \n setProperty({\n name,\n value: moment(value).format('YYYY-MM-DD'),\n })\n }\n />\n \n \n\n \n \n\n \n \n \n \n \n\n \n {showNumBookings && (\n ({\n caption: `${i} ${cxt.t('bookings')}`,\n value: i.toString(),\n }),\n )}\n onChange={setProperty}\n />\n )}\n\n {showPeriod && (\n \n \n \n )}\n\n {showMonths && (\n \n \n \n )}\n\n {showWeekdays && (\n \n {\n setWeekdays(value);\n }}\n />\n \n )}\n\n {showSpecialDays && (\n \n )}\n\n {showWindow && (\n <>\n \n\n \n\n \n\n \n \n )}\n \n \n \n {restriction?.facilities !== undefined &&\n restriction?.facilities !== null && (\n \n )}\n \n \n\n \n \n {!restriction.trash && (\n \n \n \n )}\n\n {!restriction.id && (\n \n \n \n )}\n\n {restriction.id && !restriction.trash && (\n \n \n \n )}\n\n {restriction.trash && (\n \n \n \n )}\n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttDialog,\n SttFormDate,\n SttLabelForm,\n SttSelectMship,\n SttSelectUser,\n} from '../../../sporttia/all';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function RestrictionUserDialog({\n item,\n onSave,\n onDelete,\n onClose,\n}) {\n const [userRestriction, setUserRestriction] = useState(item);\n\n const cxt = useContext(AppContext);\n\n return (\n \n {userRestriction.created && (\n \n \n \n )}\n \n \n setUserRestriction({ ...userRestriction, user })\n }\n />\n \n \n \n setUserRestriction({\n ...userRestriction,\n ini: value,\n })\n }\n />\n \n \n \n setUserRestriction({\n ...userRestriction,\n end: value,\n })\n }\n />\n \n \n }\n buttons={[\n userRestriction.id && {\n type: 'delete',\n onClick: () => onDelete(userRestriction),\n },\n {\n type: 'save',\n onClick: () => onSave(userRestriction),\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport {\n AppContext,\n SttButtonFab,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\nimport { useToggle, useTuples, useCrud } from '../../../lib/hooks';\nimport { getPath } from '../../Pages';\nimport RestrictionUserDialog from './RestrictionUserDialog';\nimport { fullName } from '../../../lib/utils';\n\nexport default function RestrictionUsers({ id }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [userRestrictions, setUserRestrictions, , Get, Post, Put, Delete] =\n useCrud();\n const [filters, setFilter] = useTuples({\n name: '',\n });\n\n const [viewRestriction, setViewRestriction] = useState(null);\n\n function loadUsers(params = { rows: 20 }) {\n Get(`/bookings/restrictions/${id}/users`, {\n ...params,\n ...filters,\n }).then(setUserRestrictions);\n }\n\n function saveRestriction(restriction) {\n if (restriction.id) {\n Put(`/bookings/restrictions/users/${restriction.id}`, {\n ini: restriction.ini,\n end: restriction.end,\n }).then((result) => {\n setUserRestrictions({\n ...userRestrictions,\n rows: userRestrictions.rows.map((item) =>\n item.id !== restriction.id ? item : restriction,\n ),\n });\n setViewRestriction(null);\n });\n } else {\n Post(`/bookings/restrictions/${id}/users/${restriction.user.id}`, {\n ini: restriction.ini,\n end: restriction.end,\n }).then((result) => {\n if (result.bookingRestrictionUser) {\n setUserRestrictions({\n count: userRestrictions.count + 1,\n rows: userRestrictions.rows.concat([\n result.bookingRestrictionUser,\n ]),\n });\n setViewRestriction(null);\n }\n });\n }\n }\n\n function deleteRestriction(restriction) {\n Delete(`/bookings/restrictions/users/${restriction.id}`).then(\n (result) => {\n setUserRestrictions({\n count: userRestrictions.count - 1,\n rows: userRestrictions.rows.filter(\n (item) => item.id !== restriction.id,\n ),\n });\n setViewRestriction(null);\n },\n );\n }\n\n console.log(userRestrictions);\n\n return (\n <>\n \n setViewRestriction({\n ini: moment().format('YYYY-MM-DD'),\n end: moment().format('YYYY-12-31'),\n user: {\n name: '',\n },\n }),\n }}\n />\n setViewRestriction(row)}\n columns={[\n {\n title: cxt.t('Name'),\n align: 'left',\n type: 'text',\n value: (row) => row.user && fullName(row.user),\n },\n {\n title: cxt.t('Begin'),\n type: 'dmy',\n field: 'ini',\n },\n {\n title: cxt.t('End'),\n type: 'dmy',\n field: 'end',\n },\n ]}\n />\n {viewRestriction && (\n setViewRestriction(null)}\n onDelete={deleteRestriction}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n AppContext,\n SttList,\n SttSelectGroupDialog,\n} from '../../../sporttia/all';\nimport { deleteElementFromArray } from '../../../lib/utils';\nimport translations from '../../../translations';\n\nexport default function RestrictionGroups({ idRestriction }) {\n const cxt = useContext(AppContext);\n const [groups, setGroups] = useState([]);\n const [inclusiveGroups, setInclusiveGroups] = useState();\n const [excludedGroups, setExcludedGroups] = useState();\n const [openedSelectingGroup, setOpenedSelectingGroup] = useState({\n open: false,\n isExcluding: false,\n });\n\n const loadGroups = () => {\n cxt.api('GET', `/bookings/restrictions/${idRestriction}/groups`, {\n params: {\n page: 1,\n rows: 300,\n },\n success: (r) => {\n setGroups(r.rows);\n },\n });\n };\n\n const addGroupToRestriction = (group) => {\n const params = {};\n\n if (openedSelectingGroup.isExcluding)\n params.isExcluding = openedSelectingGroup.isExcluding;\n\n cxt.api(\n 'POST',\n `/bookings/restrictions/${idRestriction}/groups/${group.id}`,\n {\n params: {\n ...params,\n },\n success: () => {\n cxt.showMessage('S', cxt.t(translations.generic.added));\n\n loadGroups();\n\n setOpenedSelectingGroup({\n open: false,\n isExcluding: false,\n });\n },\n },\n );\n };\n\n const delGroupFromRestriction = (group) => {\n if (group?.group) {\n cxt.api(\n 'DELETE',\n `/bookings/restrictions/${idRestriction}/groups/${group.group.id}`,\n {\n success: () => {\n cxt.showMessage(\n 'S',\n cxt.t(translations.generic.deleted),\n );\n\n if (group.excluding) {\n setExcludedGroups(\n deleteElementFromArray(excludedGroups, group),\n );\n } else {\n setInclusiveGroups(\n deleteElementFromArray(inclusiveGroups, group),\n );\n }\n },\n },\n );\n }\n };\n\n const filterGroups = () => {\n const inclusiveGroupsFilter = [];\n const excludedGroupsFilter = [];\n\n groups.forEach((group) => {\n if (group.excluding) {\n excludedGroupsFilter.push(group);\n } else {\n inclusiveGroupsFilter.push(group);\n }\n });\n\n setInclusiveGroups(inclusiveGroupsFilter);\n setExcludedGroups(excludedGroupsFilter);\n };\n\n /**\n * Restriction id changes\n */\n useEffect(() => {\n if (idRestriction) {\n loadGroups();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [idRestriction]);\n\n useEffect(() => {\n if (groups) {\n filterGroups();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [groups]);\n\n return (\n <>\n \n setOpenedSelectingGroup({ open: true, isExcluding: false })\n }\n data={inclusiveGroups?.map((group) => ({\n caption: group?.group ? group.group.name : group.name,\n value: group.id,\n objToSelect: group,\n }))}\n />\n\n {\n setOpenedSelectingGroup({ open: true, isExcluding: true });\n }}\n data={excludedGroups?.map((group) => ({\n caption: group?.group ? group.group.name : group.name,\n value: group.id,\n objToSelect: group,\n }))}\n />\n\n {openedSelectingGroup.open && (\n \n setOpenedSelectingGroup({\n open: false,\n isExcluding: false,\n })\n }\n onSelect={addGroupToRestriction}\n />\n )}\n \n );\n}\n","import { useContext } from 'react';\nimport useRestService from './RestService';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\n\nconst resource = '/messages';\n\n/**\n * Hook to access all 'messages' resources.\n */\nexport default function useMessagesService() {\n const { migrationApis } = useContext(AppContext);\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * PUT /messages/:id/read request.\n * @param id Message ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateMessagesRead(id, params) {\n return request('PUT', `${resource}/${id}/read`, params);\n }\n\n return {\n ...services,\n updateMessagesRead,\n };\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Button } from '@material-ui/core';\nimport SendIcon from '@material-ui/icons/Send';\nimport IconButton from '@material-ui/core/IconButton';\nimport Typography from '@material-ui/core/Typography';\nimport Link from '@material-ui/core/Link';\nimport { AppContext, SttFormTextarea } from '../../../sporttia/all';\n\nexport default function MessageCommentBox({\n onSendComment,\n onSendPrivateMessage,\n senderName,\n}) {\n const cxt = useContext(AppContext);\n const [text, setText] = useState('');\n\n function SendButton() {\n return (\n sendComment(text)}\n style={{ color: '#495e0b' }}\n >\n \n {cxt.t('Comment')} \n \n\n \n \n );\n }\n\n /**\n * Send comment\n */\n const sendComment = () => {\n onSendComment(text);\n setText('');\n };\n\n // -----| Render |-----\n return (\n \n setText(value)}\n InputProps={{ endAdornment: }}\n />\n\n {onSendPrivateMessage &&\n cxt.logged &&\n cxt.user &&\n cxt.user.role !== cxt.constants.roleSC && (\n \n onSendPrivateMessage()}>\n {cxt.t('popup.message.startPrivate')}: {senderName}\n \n \n )}\n \n );\n}\n","import React, { useState, useEffect, useContext, Fragment } from 'react';\nimport {\n Box,\n List,\n Avatar,\n ListItem,\n ListItemText,\n ListItemAvatar,\n Divider,\n Typography,\n Button,\n} from '@material-ui/core';\nimport { AppContext, SttLabelDate } from '../../../sporttia/all';\nimport MessageCommentBox from './MessageCommentBox';\n\nexport default function MessageCommentList({ message }) {\n const cxt = useContext(AppContext);\n const [comments, setComments] = useState();\n const [page, setPage] = useState(1);\n const [rows, setRows] = useState(5);\n const [messageValue, setMessageValue] = useState({});\n\n /**\n * Load comments\n */\n const loadComments = () => {\n cxt.api('GET', `/messages/${messageValue.id}/comments`, {\n params: {\n page,\n rows,\n },\n success: (r) => {\n setComments(r);\n },\n });\n };\n\n /**\n * Send comment\n */\n const sendComment = (text) => {\n cxt.api('POST', `/messages/${messageValue.id}/comments`, {\n params: {\n text,\n },\n success: (r) => {\n loadComments();\n },\n });\n };\n\n const generatePrivateMessage = () => {\n cxt.api('POST', `/messages/${messageValue.id}/private`, {\n success: (r) => {\n setMessageValue(r.message);\n },\n });\n };\n\n /**\n * Message changes\n */\n useEffect(() => {\n if (message && message.id) setMessageValue(message);\n }, [message]);\n\n /**\n * MessageValue changes\n */\n useEffect(() => {\n if (messageValue && messageValue.id) loadComments();\n }, [messageValue]);\n\n /**\n * Rows change\n */\n useEffect(() => {\n if (rows && messageValue && messageValue.id) loadComments();\n }, [rows]);\n\n // -----| Render |-----\n return (\n \n \n {comments && comments.count > comments.rows.length && (\n \n )}\n\n {comments &&\n comments.rows.map((comment, idxComm) => (\n \n \n \n \n \n\n \n \n \n }\n />\n \n\n \n \n {comment.text}\n \n \n\n {idxComm != comments.rows.length - 1 && (\n \n )}\n \n ))}\n \n\n \n \n );\n}\n","import React from 'react';\nimport DateBuilder from '../../lib/DateBuilder';\n\n/**\n * Label date\n */\nexport function SttLabelDate({\n date,\n timezoneName = 'Europe/Madrid',\n locale = null,\n}) {\n return <>{new DateBuilder(date, timezoneName, locale).format('DMY')};\n}\n","import React, { useContext, useState } from 'react';\nimport {\n Avatar,\n Box,\n Grid,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Typography,\n} from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport ChatBubbleOutlineIcon from '@material-ui/icons/ChatBubbleOutline';\nimport ReplyIcon from '@material-ui/icons/Reply';\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\nimport { useMutation } from 'react-query';\nimport MessageCommentList from './MessageCommentList';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { useTranslations } from '../../../lib/hooks';\nimport { SttLabelDate } from '../../../sporttia/labels/SttLabelDate';\nimport useMessagesService from '../../../services/MessagesService';\n\n/**\n * Representation of a message that will later be rendered in a list.\n * @param message Message object.\n * @param fold Fold type (INBOX|...).\n * @param onUpdate Launched when a message is updated.\n * @returns {JSX.Element}\n */\nexport default function MessageItem({ message, fold, onUpdate }) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const messagesService = useMessagesService();\n const [showCommentsMessage, setShowCommentsMessage] = useState();\n const updateMessageReadMutation = useMutation(\n (params) =>\n messagesService.updateMessagesRead(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n\n const buildMsgTitle = (msg) => {\n if (fold === 'INBOX') {\n return msg?.sender?.fullName;\n }\n return msg?.receptors\n ? msg?.receptors?.rows\n .map(\n (receptor) =>\n receptor?.user?.name ||\n receptor?.group?.name ||\n receptor?.sc?.name,\n )\n .filter((value, index, self) => self.indexOf(value) === index)\n .join(', ')\n : translate('None');\n };\n\n return (\n <>\n \n \n \n \n\n \n \n \n }\n />\n \n\n \n 0 ? 'red' : '#fafafa',\n }}\n >\n {message?.text}\n \n\n \n \n \n {message?.comments?.count > 0 && (\n }\n onClick={() =>\n setShowCommentsMessage(\n showCommentsMessage\n ? null\n : message,\n )\n }\n >\n {message?.comments?.count}{' '}\n {cxt.t('comments')}\n \n )}\n\n {fold === 'INBOX' &&\n message?.comments?.count === 0 && (\n }\n onClick={() =>\n setShowCommentsMessage(message)\n }\n >\n {cxt.t('Reply')}\n \n )}\n \n\n \n {message?.numUnread > 0 && (\n }\n onClick={() =>\n updateMessageReadMutation.mutate({\n id: message?.id,\n })\n }\n >\n {cxt.t('MarkAsRead')}\n \n )}\n \n \n \n\n {showCommentsMessage?.id === message?.id && (\n \n )}\n \n \n );\n}\n","import React, { useState, useRef } from 'react';\nimport {\n Divider,\n Box,\n Grid,\n FormControlLabel,\n Switch,\n CircularProgress,\n} from '@material-ui/core';\nimport { useInfiniteQuery, useQueryClient } from 'react-query';\nimport { SttButtonRefresh } from '../../../sporttia/all';\nimport { useOnViewport, useTranslations } from '../../../lib/hooks';\nimport { USER_MESSAGES } from '../../../lib/queryKeys';\nimport useMessagesService from '../../../services/MessagesService';\nimport MessageItem from './MessageItem';\n\n/**\n * Infinite scroll with the messages of a user.\n * @param fold Fold type (INBOX|...).\n * @returns {JSX.Element}\n */\nexport default function MessageList({ fold }) {\n const ROWS_PER_PAGE = 15;\n const { translate } = useTranslations();\n const queryClient = useQueryClient();\n const ref = useRef();\n const messagesService = useMessagesService();\n const [onlyUnread, setOnlyUnread] = useState(true);\n const { data, status, isFetchingNextPage, fetchNextPage, hasNextPage } =\n useInfiniteQuery(\n [\n USER_MESSAGES,\n {\n fold,\n isUnread: fold === 'INBOX' ? onlyUnread : false,\n },\n ],\n ({ pageParam = 1 }) =>\n messagesService\n .getList({\n page: pageParam,\n rows: ROWS_PER_PAGE,\n fold,\n isUnread: fold === 'INBOX' ? onlyUnread : false,\n })\n .then((response) => {\n response.page = pageParam;\n return response;\n }),\n {\n getNextPageParam: (lastPage) =>\n lastPage?.page < lastPage?.pages\n ? lastPage?.page + 1\n : undefined,\n },\n );\n useOnViewport(ref, '-100px', fetchNextPage);\n\n return (\n \n \n \n \n {data?.pages[0]?.count} {translate('Messages')}\n \n \n \n \n {fold === 'INBOX' && (\n \n setOnlyUnread(ev.target.checked)\n }\n />\n }\n />\n )}\n\n \n \n queryClient.invalidateQueries(USER_MESSAGES)\n }\n />\n \n \n \n \n\n {status === 'loading' ? (\n \n \n \n ) : status === 'error' ? (\n <>Error\n ) : (\n <>\n {data.pages.map((page, i) => (\n \n {page.rows.map((msg, msgKey) => (\n \n {msgKey > 0 && (\n \n \n \n )}\n \n queryClient.invalidateQueries(\n USER_MESSAGES,\n )\n }\n />\n \n ))}\n \n ))}\n {isFetchingNextPage && (\n \n \n \n )}\n {!hasNextPage && (\n \n No hay más mensajes.\n \n )}\n \n )}\n\n {/* Este div es para detectar el final de la página, cuando sea visible se van a pedir datos a la API para realizar el scroll infinito. */}\n
\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Paper, Box, Grid, Switch, FormControlLabel } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport { Add as AddIcon } from '@material-ui/icons';\nimport PeopleOutlineIcon from '@material-ui/icons/PeopleOutline';\nimport PersonOutlineIcon from '@material-ui/icons/PersonOutline';\nimport {\n AppContext,\n SttButton,\n SttList,\n SttSelectMshipDialog,\n SttSelectGroupDialog,\n} from '../../../sporttia/all';\nimport translations from '../../../translations';\n\nexport default function Receptors({\n receptors,\n sendAllSC,\n setSendAllSC,\n onAddReceptor,\n onDelReceptor,\n}) {\n const cxt = useContext(AppContext);\n const [openedSelectingMship, setOpenedSelectingMship] = useState(false);\n const [openedSelectingGroup, setOpenedSelectingGroup] = useState(false);\n\n const addReceptor = ({ mship, group }) => {\n // Add mship to receptors\n if (mship) {\n // Check if it exists\n if (receptors.find((e) => e.mship && e.mship.id === mship.id)) {\n cxt.showMessage('E', cxt.t('UserAlreadyOnList'));\n } else {\n onAddReceptor({\n id: receptors.length,\n caption: mship.name,\n mship,\n objToSelect: mship,\n avatar: ,\n });\n cxt.showMessage('S', cxt.t(translations.generic.added));\n }\n }\n\n // Add group to receptors\n if (group) {\n // Check if it exists\n if (receptors.find((e) => e.group && e.group.id === group.id)) {\n cxt.showMessage('E', cxt.t('GroupAlreadyExists'));\n } else {\n onAddReceptor({\n id: receptors.length,\n caption: group.name,\n group,\n objToSelect: group,\n avatar: ,\n });\n cxt.showMessage('S', cxt.t(translations.generic.added));\n }\n }\n };\n\n return (\n \n \n setSendAllSC(ev.target.checked)}\n color=\"primary\"\n />\n }\n />\n\n {sendAllSC ? (\n \n {cxt.t('SendAllSCAlert')}\n \n ) : (\n <>\n \n\n \n \n }\n caption={cxt.t(translations.generic.user)}\n onClick={() =>\n setOpenedSelectingMship(true)\n }\n />\n \n \n }\n caption={cxt.t(translations.generic.group)}\n onClick={() =>\n setOpenedSelectingGroup(true)\n }\n />\n \n \n \n )}\n \n\n setOpenedSelectingMship(false)}\n onSelectMship={(mship) => addReceptor({ mship })}\n />\n\n {openedSelectingGroup && (\n setOpenedSelectingGroup(false)}\n onSelect={(group) => addReceptor({ group })}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport { AppContext, SttDialog, SttList } from '../../../sporttia/all';\n\nexport default function NewMessageResultDialog({\n open = false,\n errors = [],\n onClose,\n}) {\n const cxt = useContext(AppContext);\n\n // -----| Render |-----\n return (\n \n \n {cxt.t('page.sc.comm.noteNoEmailSMS')}\n {cxt.t('page.sc.comm.emailTime')}\n \n\n {errors && (\n ({\n caption: error,\n }))}\n />\n )}\n \n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Container,\n Paper,\n Box,\n Switch,\n Grid,\n FormControlLabel,\n} from '@material-ui/core';\nimport SendIcon from '@material-ui/icons/Send';\nimport FlipCameraAndroidIcon from '@material-ui/icons/FlipCameraAndroid';\nimport {\n AppContext,\n SttFullDialog,\n SttFormTextarea,\n SttButton,\n SttButtonCancel,\n SttList,\n SttUploadDialog,\n} from '../../../sporttia/all';\nimport Receptors from './Receptors';\nimport { deleteElementFromArray } from '../../../lib/utils';\nimport NewMessageResultDialog from './NewMessageResultDialog';\n\nexport default function NewMessageDialog({ open = false, onClose }) {\n const cxt = useContext(AppContext);\n const [text, setText] = useState('');\n const [shortText, setShortText] = useState('');\n const [sendAllSC, setSendAllSC] = useState(false);\n const [SMSCount, setSMSCount] = useState(0);\n const [receptors, setReceptors] = useState([]); // {caption, user, group}\n\n // Attach file\n const [uploadFileOpen, setUploadFileOpen] = useState(false);\n const [attachedFiles, setAttachedFiles] = useState([]);\n\n // Sent\n const [messageSent, setMessageSent] = useState(false);\n const [errors, setErrors] = useState();\n\n /**\n * Send message\n */\n const sendMessage = () => {\n const groups = receptors\n .filter((r) => r.group != undefined)\n .map((r) => r.group.id);\n\n const users = receptors\n .filter((r) => r.mship != undefined)\n .map((r) => r.mship.user.id);\n\n // Call API\n cxt.api('POST', '/messages', {\n params: {\n text,\n short: shortText,\n scs: sendAllSC ? [cxt.sc.id] : null,\n groups: !sendAllSC ? groups : null,\n users: !sendAllSC ? users : null,\n files: attachedFiles.map((file) => file.id),\n },\n success: (r) => {\n setMessageSent(true);\n setErrors(r.errors);\n },\n });\n };\n\n /**\n * Clean all\n */\n const cleanAll = () => {\n setText('');\n setShortText('');\n setReceptors([]);\n setAttachedFiles([]);\n };\n\n /**\n * Add receptor\n */\n const addReceptor = (receptor) => {\n setReceptors([...receptors, receptor]);\n };\n\n /**\n * Delete receptor\n */\n const delReceptor = (receptor) => {\n setReceptors(deleteElementFromArray(receptors, receptor));\n };\n\n /**\n * Short text changes\n */\n useEffect(() => {\n setSMSCount(shortText.length);\n }, [shortText]);\n\n /**\n * Open this dialog\n */\n useEffect(() => {\n if (open) cleanAll();\n }, [open]);\n\n // -----| Render |-----\n return (\n <>\n ,\n onClick: () => cleanAll(),\n },\n ]}\n >\n \n \n \n \n \n \n \n setText(value)\n }\n />\n\n {/* \n\t\t\t\t\t\t\t\t\t\t\t setShortText(value)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t */}\n \n \n \n\n \n \n\n \n setUploadFileOpen(true)}\n onDelete={(file) =>\n setAttachedFiles(\n deleteElementFromArray(\n attachedFiles,\n file,\n ),\n )\n }\n data={attachedFiles.map((file) => ({\n caption: file.name,\n objToSelect: file,\n }))}\n />\n \n \n \n\n \n \n \n }\n onClick={() => sendMessage()}\n >\n {cxt.t('Send')}\n \n \n\n \n onClose()}\n />\n \n \n \n \n \n \n\n {\n setMessageSent(false);\n cleanAll();\n }}\n />\n\n setUploadFileOpen(false)}\n onUploaded={(r) => {\n const { file } = r;\n setUploadFileOpen(false);\n setAttachedFiles([...attachedFiles, file]);\n }}\n />\n \n );\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport Typography from '../Typography';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'flex',\n alignItems: 'center',\n padding: 16\n },\n\n /* Styles applied to the avatar element. */\n avatar: {\n flex: '0 0 auto',\n marginRight: 16\n },\n\n /* Styles applied to the action element. */\n action: {\n flex: '0 0 auto',\n alignSelf: 'flex-start',\n marginTop: -8,\n marginRight: -8\n },\n\n /* Styles applied to the content wrapper element. */\n content: {\n flex: '1 1 auto'\n },\n\n /* Styles applied to the title Typography element. */\n title: {},\n\n /* Styles applied to the subheader Typography element. */\n subheader: {}\n};\nvar CardHeader = /*#__PURE__*/React.forwardRef(function CardHeader(props, ref) {\n var action = props.action,\n avatar = props.avatar,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$disableTypogra = props.disableTypography,\n disableTypography = _props$disableTypogra === void 0 ? false : _props$disableTypogra,\n subheaderProp = props.subheader,\n subheaderTypographyProps = props.subheaderTypographyProps,\n titleProp = props.title,\n titleTypographyProps = props.titleTypographyProps,\n other = _objectWithoutProperties(props, [\"action\", \"avatar\", \"classes\", \"className\", \"component\", \"disableTypography\", \"subheader\", \"subheaderTypographyProps\", \"title\", \"titleTypographyProps\"]);\n\n var title = titleProp;\n\n if (title != null && title.type !== Typography && !disableTypography) {\n title = /*#__PURE__*/React.createElement(Typography, _extends({\n variant: avatar ? 'body2' : 'h5',\n className: classes.title,\n component: \"span\",\n display: \"block\"\n }, titleTypographyProps), title);\n }\n\n var subheader = subheaderProp;\n\n if (subheader != null && subheader.type !== Typography && !disableTypography) {\n subheader = /*#__PURE__*/React.createElement(Typography, _extends({\n variant: avatar ? 'body2' : 'body1',\n className: classes.subheader,\n color: \"textSecondary\",\n component: \"span\",\n display: \"block\"\n }, subheaderTypographyProps), subheader);\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className),\n ref: ref\n }, other), avatar && /*#__PURE__*/React.createElement(\"div\", {\n className: classes.avatar\n }, avatar), /*#__PURE__*/React.createElement(\"div\", {\n className: classes.content\n }, title, subheader), action && /*#__PURE__*/React.createElement(\"div\", {\n className: classes.action\n }, action));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardHeader.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The action to display in the card header.\n */\n action: PropTypes.node,\n\n /**\n * The Avatar for the Card Header.\n */\n avatar: PropTypes.node,\n\n /**\n * @ignore\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, `subheader` and `title` won't be wrapped by a Typography component.\n * This can be useful to render an alternative Typography variant by wrapping\n * the `title` text, and optional `subheader` text\n * with the Typography component.\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n subheader: PropTypes.node,\n\n /**\n * These props will be forwarded to the subheader\n * (as long as disableTypography is not `true`).\n */\n subheaderTypographyProps: PropTypes.object,\n\n /**\n * The content of the Card Title.\n */\n title: PropTypes.node,\n\n /**\n * These props will be forwarded to the title\n * (as long as disableTypography is not `true`).\n */\n titleTypographyProps: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiCardHeader'\n})(CardHeader);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'block',\n textAlign: 'inherit',\n width: '100%',\n '&:hover $focusHighlight': {\n opacity: theme.palette.action.hoverOpacity\n },\n '&$focusVisible $focusHighlight': {\n opacity: 0.12\n }\n },\n\n /* Pseudo-class applied to the ButtonBase root element if the action area is keyboard focused. */\n focusVisible: {},\n\n /* Styles applied to the overlay that covers the action area when it is keyboard focused. */\n focusHighlight: {\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit',\n opacity: 0,\n backgroundColor: 'currentcolor',\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.short\n })\n }\n };\n};\nvar CardActionArea = /*#__PURE__*/React.forwardRef(function CardActionArea(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n focusVisibleClassName = props.focusVisibleClassName,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"focusVisibleClassName\"]);\n\n return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n className: clsx(classes.root, className),\n focusVisibleClassName: clsx(focusVisibleClassName, classes.focusVisible),\n ref: ref\n }, other), children, /*#__PURE__*/React.createElement(\"span\", {\n className: classes.focusHighlight\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardActionArea.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiCardActionArea'\n})(CardActionArea);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n }\n};\nvar CardContent = /*#__PURE__*/React.forwardRef(function CardContent(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiCardContent'\n})(CardContent);","import React, { useState, useEffect, useContext } from 'react';\nimport {} from '@material-ui/core';\nimport { AppContext, SttDialog, SttForm } from '../../../sporttia/all';\nimport {\n getObjectDiff,\n subsetObject,\n usePrevAndUpdatedStates,\n} from '../../../lib/utils';\n\nexport default function ProductDialog({\n product,\n autoClose = true,\n onClose,\n onUpdateProduct,\n onDeleteProduct,\n}) {\n const cxt = useContext(AppContext);\n const [internalProduct, setInternalProduct] = useState(product);\n const { setPrevState, setUpdatedState, updatedState, prevState } =\n usePrevAndUpdatedStates(product);\n\n /**\n * Set product\n */\n useEffect(() => {\n setInternalProduct(product);\n setPrevState(product);\n }, [product, setPrevState]);\n\n /**\n * Save product\n */\n const saveProduct = () => {\n const params = subsetObject(\n getObjectDiff(updatedState, prevState),\n 'name,description,category,finalPrice,stockageActive,vat,stock',\n );\n\n // Updating\n if (internalProduct.id) {\n cxt.api('PUT', `/products/${internalProduct.id}`, {\n params,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Saved'));\n setPrevState(updatedState);\n if (onUpdateProduct) onUpdateProduct(r.product);\n if (autoClose) onClose();\n },\n });\n\n // Creating\n } else {\n cxt.api('POST', `/scs/${cxt.sc.id}/products`, {\n params,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Created'));\n if (onUpdateProduct) onUpdateProduct(r.product);\n if (autoClose) onClose();\n },\n });\n }\n };\n\n /**\n * Delete product\n */\n const deleteProduct = () => {\n cxt.api('DELETE', `/products/${internalProduct.id}`, {\n confirmation: true,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Deleted'));\n if (onDeleteProduct) onDeleteProduct(r.product);\n if (autoClose) onClose();\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setInternalProduct({ ...internalProduct, [name]: value });\n setUpdatedState({ ...updatedState, [name]: value });\n };\n\n // -----| Render |-----\n return (\n \n )\n }\n buttons={[\n {\n type: 'delete',\n show: internalProduct && internalProduct.id > 0,\n onClick: () => deleteProduct(),\n },\n {\n type: 'save',\n onClick: () => saveProduct(),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useContext } from 'react';\nimport {\n Box,\n Grid,\n Card,\n CardHeader,\n CardActions,\n CardContent,\n CardActionArea,\n Avatar,\n IconButton,\n Typography,\n makeStyles,\n Button,\n Tooltip,\n Theme,\n} from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport CategoryIcon from '@material-ui/icons/Category';\nimport CreateIcon from '@material-ui/icons/Create';\nimport AddIcon from '@material-ui/icons/Add';\nimport { AppContext, SttFormSearch, SttNoResults } from '../../../sporttia/all';\nimport ProductDialog from './ProductDialog';\nimport { copyToClipboard, formatPriceByLocale } from '../../../lib/utils';\nimport Product from '../../../types/models/Product';\n\nconst useStyles = makeStyles((theme: Theme) => ({\n productCardHeaderRoot: {\n padding: 0,\n },\n productCardHeaderAction: {\n margin: 0,\n },\n productCardContentRoot: {\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n },\n}));\n\ntype SalePointProductCardProps = {\n product: Product;\n selectProduct: (product: Product) => void;\n setOpenProduct: (product: Product) => void;\n};\n\nfunction SalePointProductCard({\n product,\n selectProduct,\n setOpenProduct,\n}: SalePointProductCardProps) {\n const cxt = useContext(AppContext)!;\n\n const classes = useStyles();\n\n return (\n \n \n \n copyToClipboard(product.id, () => {\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n );\n })\n }\n >\n #\n \n \n }\n />\n selectProduct(product)}>\n \n \n {product.name}\n \n \n {product.category}\n \n \n \n\n \n {formatPriceByLocale(\n product.finalPrice,\n cxt.sc?.city?.country?.currency,\n )}\n\n {product.stockageActive && (\n \n Uds.: {product.stock}\n \n )}\n\n setOpenProduct(product)}\n >\n \n \n \n \n );\n}\n\ntype SalePointProductsProps = {\n selectProduct: (product: Product) => void;\n allProducts: Product[];\n onUpdateProduct: () => void;\n onDeleteProduct: () => void;\n};\n\nexport default function SalePointProducts({\n selectProduct,\n allProducts,\n onUpdateProduct,\n onDeleteProduct,\n}: SalePointProductsProps) {\n const cxt = useContext(AppContext)!;\n\n const [searchingKeyword, setSearchingKeyword] = useState('');\n const [selectedCategory, setSelectedCategory] = useState();\n const [openProduct, setOpenProduct] = useState<\n Product | Record\n >();\n\n const filteredProducts = allProducts\n .filter(\n (product) =>\n product.category === selectedCategory || searchingKeyword,\n )\n .filter(\n (product) =>\n product.name\n .toLowerCase()\n .indexOf(searchingKeyword.toLowerCase()) !== -1,\n );\n\n const categories = allProducts\n .map((product) => product.category || cxt.t('Others'))\n .filter((cat) => cat !== undefined)\n .filter((value, index, self) => self.indexOf(value) === index);\n\n return (\n \n \n setSearchingKeyword('')}\n onChange={({ value }) => setSearchingKeyword(value)}\n />\n \n\n \n {selectedCategory || searchingKeyword ? (\n <>\n {selectedCategory && (\n \n \n setSelectedCategory(undefined)\n }\n >\n \n \n \n \n }\n title={cxt.t('Back')}\n />\n \n \n \n )}\n\n {filteredProducts.length > 0 &&\n filteredProducts.map((product) => (\n \n \n \n ))}\n\n {filteredProducts.length === 0 && }\n \n ) : (\n <>\n {categories.map((category) => (\n \n \n setSelectedCategory(category)\n }\n >\n \n \n \n \n }\n title={category}\n />\n \n \n \n ))}\n\n \n setOpenProduct({})}>\n \n \n \n \n }\n title={cxt.t('AddProduct')}\n />\n \n \n \n \n )}\n \n\n setOpenProduct(undefined)}\n onUpdateProduct={onUpdateProduct}\n onDeleteProduct={onDeleteProduct}\n />\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"\n}), 'Edit');","import React, { useState, useContext } from 'react';\nimport {\n Table,\n TableContainer,\n Paper,\n TableRow,\n TableCell,\n TableBody,\n TableHead,\n IconButton,\n Box,\n Typography,\n Input,\n} from '@material-ui/core';\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\nimport { Edit as EditIcon, Done as DoneIcon } from '@material-ui/icons';\nimport { AppContext } from '../../../sporttia/all';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function SalePointCart({\n cart,\n saveMovementInCart,\n readOnly = true,\n totalNet,\n totalVat,\n total,\n}) {\n const cxt = useContext(AppContext);\n const [editedAmount, setEditedAmount] = useState(null);\n const [editingAmount, setEditingAmount] = useState(false);\n const toggleEdit = () => setEditingAmount(!editingAmount);\n\n /**\n * Decrement amount\n */\n const decrementAmount = (mov) => {\n saveMovementInCart({\n ...mov,\n amount: mov.amount + 1,\n });\n };\n\n // -----| Render |-----\n return (\n <>\n \n \n \n \n \n {cxt.t('Product')}\n \n \n {cxt.t('Amount')}\n \n \n {cxt.t('Price')}\n \n {cxt.t('vat')}\n \n {cxt.t('Total')}\n \n \n \n \n\n \n {cart &&\n cart.map((mov) => (\n \n \n {mov.product.name}\n \n \n {editingAmount ? (\n <>\n \n setEditedAmount(\n event.target.value,\n )\n }\n size=\"small\"\n variant=\"outlined\"\n />\n {\n saveMovementInCart({\n id: mov?.id,\n amount: -editedAmount,\n });\n toggleEdit();\n }}\n >\n \n \n \n ) : (\n \n \n {Math.abs(mov.amount)}\n \n \n \n \n \n )}\n \n \n {formatPriceByLocale(\n mov.finalPrice,\n cxt.sc.city.country.currency,\n )}\n \n \n {mov.vat} %\n \n \n \n {formatPriceByLocale(\n Math.abs(mov.total),\n cxt.sc.city.country.currency,\n )}\n \n \n\n {!readOnly && (\n \n \n decrementAmount(mov)\n }\n >\n \n \n \n )}\n \n ))}\n\n {cart && cart.length === 0 && (\n \n \n {cxt.t('Empty')}\n \n \n )}\n \n
\n
\n\n \n \n {cxt.t('Net')}:{' '}\n {formatPriceByLocale(\n totalNet,\n cxt.sc?.city?.country?.currency,\n )}\n \n \n {cxt.t('VAT')}:{' '}\n {formatPriceByLocale(\n totalVat,\n cxt.sc?.city?.country?.currency,\n )}\n \n \n {cxt.t('Total')}:{' '}\n \n {formatPriceByLocale(\n total,\n cxt.sc?.city?.country?.currency,\n )}\n \n \n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Box, Paper, Grid, Typography } from '@material-ui/core';\nimport {\n AppContext,\n SttFormText,\n SttButton,\n SttFormPrice,\n} from '../../../sporttia/all';\nimport { formatPriceByLocale, getErrorMessage } from '../../../lib/utils';\nimport POSPaymentDialog from '../../../components/dialogs/POSPaymentDialog';\nimport POSStripePaymentDialog from '../../../components/stripe/POSStripePaymentDialog';\nimport constants from '../../../config/constants';\nimport translations from '../../../translations';\nimport useProductsService from '../../../services/ProductsService';\nimport ModalConfirmation from '../../../layout/ModalConfirmation';\nimport { useLoader } from '../../../lib/hooks';\nimport { PaymentForm, PosPaymentParams } from '../../../types/payment';\nimport ProductTicket from '../../../types/models/ProductTicket';\nimport Mship from '../../../types/models/Mship';\nimport CashdroControlDialog from '../../../components/dialogs/CashdroControlDialog';\n\ntype ReturnParams = {\n productTicket: ProductTicket;\n};\n\ntype SalePointPaymentProps = {\n ticket: ProductTicket;\n mship: Mship;\n total: number;\n onUpdateTicket: (ticket: ProductTicket) => void;\n onReset: (closedTicket: ProductTicket) => void;\n};\n\nexport default function SalePointPayment({\n ticket,\n mship,\n total,\n onUpdateTicket,\n onReset,\n}: SalePointPaymentProps) {\n const cxt = useContext(AppContext)!;\n\n const [cashIn, setCashIn] = useState(0);\n const [posPaymentParams, setPosPaymentParams] =\n useState | null>(null);\n\n const [selectedPaymentForm, setSelectedPaymentForm] =\n useState();\n\n const [ticketForDelayedUpdate, setTicketForDelayedUpdate] =\n useState();\n\n const [cashdroPayment, setCashdroPayment] = useState(false);\n const [cashdroPaymentAmount, setCashdroPaymentAmount] = useState(0);\n\n const CASHDRO = cxt?.sc?.cashdroConnected;\n\n const rest = parseInt(cashIn.toString()) > 0 ? cashIn - total : 0;\n\n const productsServices = useProductsService();\n const closeProductTicketMutation = productsServices.useCloseProductTicket({\n onSuccess: (result) => {\n const { tpv, productTicket } = result;\n\n // Pay with TPV\n if (tpv) {\n if (\n tpv.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n // params for the POS dialog (datáfono físico)\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n returnParams: {\n productTicket,\n },\n sc: {\n id: tpv?.sc?.id,\n scName: tpv?.sc?.short,\n entityName: tpv?.sc?.customer?.name,\n address: tpv?.sc?.address,\n cif: tpv?.sc?.customer?.cif,\n phone: tpv?.sc?.phonePublic,\n },\n });\n }\n } else {\n cxt.showMessage('S', cxt.t(translations.generic.ticketClosed));\n onUpdateTicket(productTicket);\n onReset(productTicket);\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const setupPayment = () => {\n if (\n CASHDRO &&\n selectedPaymentForm === constants.payment.paymentForms.cashdro.name\n ) {\n setCashdroPayment(true);\n setCashdroPaymentAmount(total);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n closeTicket(null);\n }\n };\n\n const closeTicket = (amount: number | null) => {\n closeProductTicketMutation.mutate({\n id: ticket.id,\n params: {\n // @ts-expect-error no hay tiempo\n paymentForm:\n selectedPaymentForm ===\n constants.payment.paymentForms.later.name\n ? constants.payment.pendingPaymentForm\n : selectedPaymentForm,\n paid: amount || cashIn,\n idUser: mship?.user?.id,\n },\n });\n\n setSelectedPaymentForm(undefined);\n };\n\n const cashdroPaymentSuccess = () => {\n closeTicket(total);\n };\n\n const [, loader] = useLoader([closeProductTicketMutation.status]);\n\n return (\n <>\n {loader}\n \n \n \n \n \n {cxt.t(translations.generic.collect)}\n \n \n\n \n \n\n {\n const parsedValue = Number(value);\n\n if (Number.isNaN(parsedValue)) {\n return;\n }\n\n setCashIn(parsedValue);\n }}\n />\n\n \n \n\n {[\n constants.payment.paymentForms.cash,\n constants.payment.paymentForms.purse,\n cxt?.sc?.dataphoneConnected\n ? constants.payment.paymentForms\n .dataphoneConnected\n : constants.payment.paymentForms.dataphone,\n constants.payment.paymentForms.later,\n constants.payment.paymentForms.bank,\n ]\n .concat(\n // @ts-expect-error no hay tiempo\n CASHDRO\n ? [constants.payment.paymentForms.cashdro]\n : [],\n )\n .map((paymentForm) => (\n \n {\n setSelectedPaymentForm(\n paymentForm.name,\n );\n }}\n />\n \n ))}\n \n \n \n\n {selectedPaymentForm && (\n {\n setSelectedPaymentForm(undefined);\n }}\n />\n )}\n\n {cxt.sc?.sporttiaStripeLocationId && posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n const { productTicket } = posPaymentParams.returnParams;\n cxt.showMessage(\n 'S',\n cxt.t(translations.generic.ticketClosed),\n );\n onUpdateTicket(productTicket);\n onReset(productTicket);\n }}\n />\n ) : (\n {\n setPosPaymentParams(null);\n if (ticketForDelayedUpdate) {\n onUpdateTicket(ticketForDelayedUpdate);\n onReset(ticketForDelayedUpdate);\n setTicketForDelayedUpdate(null);\n }\n }}\n onSuccess={(t: unknown, returnParams: ReturnParams) => {\n const { productTicket } = returnParams;\n cxt.showMessage(\n 'S',\n cxt.t(translations.generic.ticketClosed),\n );\n\n setTicketForDelayedUpdate(productTicket);\n }}\n />\n )}\n\n {cashdroPayment && (\n {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n }}\n onSuccess={() => {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n cashdroPaymentSuccess();\n }}\n />\n )}\n \n );\n}\n","import { useContext } from 'react';\nimport { MutationFunction, UseMutationOptions, useMutation } from 'react-query';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport {\n UpdateProductTicketClose200,\n UpdateProductTicketCloseBody,\n} from '../types/api/paths/Product';\n\nconst resource = '/products';\n\n/**\n * Hook to access all 'products' resources.\n */\nexport default function useProductsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n /**\n * PUT /products/tickets/id/close request.\n */\n function useCloseProductTicket(\n mutationOptions?: UseMutationOptions<\n UpdateProductTicketClose200,\n unknown,\n { id: number; params: UpdateProductTicketCloseBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdateProductTicketClose200,\n { id: number; params: UpdateProductTicketCloseBody }\n > = ({ id, params }) =>\n request('PUT', `${resource}/tickets/${id}/close`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n useCloseProductTicket,\n };\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid, Box, Container } from '@material-ui/core';\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\nimport {\n AppContext,\n SttFullDialog,\n SttSelectMship,\n} from '../../../sporttia/all';\nimport SalePointProducts from './SalePointProducts';\nimport SalePointCart from './SalePointCart';\nimport SalePointPayment from './SalePointPayment';\nimport {\n updateElementInArray,\n deleteElementFromArray,\n subsetObject,\n} from '../../../lib/utils';\nimport { useInteractionsFiles } from '../../../lib/hooks';\n\nconst type = 'SALE';\n\nexport default function SalePoint({\n open = false,\n idTicket, // \"create\" to creating mode\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const { openFile } = useInteractionsFiles();\n const [cart, setCart] = useState([]);\n const [mship, setMship] = useState({ fullName: '' });\n const [ticket, setTicket] = useState();\n const [allProducts, setAllProducts] = useState([]);\n const [readOnly, setReadOnly] = useState(true);\n const [previousPurchaseTicket, setPreviousPurchaseTicket] = useState(null);\n\n // Totals\n const [totalNet, setTotalNet] = useState(0);\n const [totalVat, setTotalVat] = useState(0);\n const [total, setTotal] = useState(0);\n\n const loadAllProducts = () => {\n cxt.api('GET', `/scs/${cxt.sc.id}/products`, {\n params: {\n rows: 500,\n },\n success: (r) => {\n // Product with no category, category = 'Productos'\n const products = r.rows.map((product) => ({\n ...product,\n category: product.category\n ? product.category\n : cxt.t('Others'),\n }));\n\n setAllProducts(products);\n },\n });\n };\n\n const loadTicket = () => {\n cxt.api('GET', `/products/tickets/${idTicket}`, {\n success: (r) => {\n setTicket(r.productTicket);\n setReadOnly(r.productTicket.status === 'CLOSE');\n if (r.productTicket.status === 'CLOSE')\n setPreviousPurchaseTicket(r.productTicket);\n if (r.productTicket.movs) {\n setCart(r.productTicket.movs);\n }\n },\n });\n };\n\n const createNewTicket = () => {\n cxt.api('POST', `/scs/${cxt.sc.id}/products/tickets`, {\n params: {\n type,\n idUser: mship?.user?.id,\n },\n success: (r) => {\n setTicket(r.productTicket);\n setReadOnly(false);\n },\n });\n };\n\n const downloadTicket = () => {\n if (previousPurchaseTicket.payment) {\n openFile(\n `/payments/${previousPurchaseTicket.payment.id}.pdf`,\n 'application/pdf',\n null,\n `${cxt.t('Ticket')}_${previousPurchaseTicket.payment.id}`,\n );\n }\n };\n\n const deleteTicket = () => {\n cxt.api('DELETE', `/products/tickets/${ticket.id}`, {\n success: () => {\n onClose();\n },\n });\n };\n\n const updateProduct = (product) => {\n setAllProducts(updateElementInArray(allProducts, product));\n };\n\n const deleteProduct = (product) => {\n setAllProducts(\n allProducts.filter(\n (currentProduct) => currentProduct?.id !== product?.id,\n ),\n );\n };\n\n /**\n * Create/update movement in cart\n */\n const saveMovementInCart = (mov) => {\n const params = subsetObject(mov, 'amount,concept,netPrice,vat');\n\n // Product is in the cart already -> update movement\n if (mov.id) {\n cxt.api('PUT', `/products/movs/${mov.id}`, {\n params,\n success: (r) => {\n // Final amount was 0 then the mov has been deleted by backend\n if (r.productMov.trash) {\n // Delete product from cart\n setCart(deleteElementFromArray(cart, r.productMov));\n } else {\n // Update cart & product (stock)\n setCart(updateElementInArray(cart, r.productMov));\n }\n\n updateProduct(r.product);\n },\n });\n\n // Product new in the cart -> create movement\n } else {\n cxt.api('POST', `/products/tickets/${ticket.id}/movs`, {\n params: {\n ...params,\n idProduct: mov.product.id,\n },\n success: (r) => {\n // Update cart & product (stock)\n setCart(updateElementInArray(cart, r.productMov));\n updateProduct(r.product);\n },\n });\n }\n };\n\n const onSelectProduct = (product) => {\n // Find the movement just in case the product is already in the cart\n const foundMov = cart.find((mov) => mov.product.id === product.id);\n // Si seleccionamos un nuevo producto, reseteamos el anterior ticket, ya no se podrá imprimir\n setPreviousPurchaseTicket(null);\n // Create new movement with amount -1\n saveMovementInCart({\n id: foundMov && foundMov.id,\n amount: (foundMov ? foundMov.amount : 0) - 1,\n product,\n });\n };\n\n const reset = (closedProductTicket) => {\n // Empty cart\n setCart([]);\n\n // It's on creating mode\n if (idTicket === 'create') {\n // Guardamos el ticket que se ha cerrado para que se pueda imprimir y no se sobreescriba con el nuevo\n setPreviousPurchaseTicket(closedProductTicket);\n createNewTicket();\n }\n };\n\n /**\n * Before close, delete if it's empty\n */\n const onCloseDialog = () => {\n // Cart empty\n if (cart.length === 0 && ticket.status === 'OPEN') {\n deleteTicket();\n } else {\n onClose();\n }\n };\n\n /**\n * Ticket id changes\n */\n useEffect(() => {\n // Only create if we are not loading one\n if (idTicket) {\n if (idTicket === 'create') {\n createNewTicket();\n } else {\n loadTicket();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [idTicket]);\n\n /**\n * INIT - Just opened\n */\n useEffect(() => {\n // Load all products\n loadAllProducts();\n\n // Get sports center to get the guest user\n cxt.api('GET', `/scs/${cxt.sc.id}`, {\n success: (r) => {\n // Set guest user\n if (r.sc.guestUser && r.sc.guestUser.mship) {\n setMship({\n id: r.sc.guestUser.mship.id,\n fullName: r.sc.guestUser.mship.fullName,\n user: {\n id: r.sc.guestUser.id,\n },\n });\n }\n },\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Calculate totals\n */\n useEffect(() => {\n let calcTotal = 0;\n let calcTotalNet = 0;\n let calcTotalVat = 0;\n cart.forEach((mov) => {\n calcTotal += mov.finalPrice * mov.amount;\n });\n if (cart.length > 0) {\n calcTotalNet = calcTotal / (1 + cart[0].vat / 100);\n calcTotalVat = calcTotal - calcTotalNet;\n }\n\n setTotalNet(Math.abs(calcTotalNet));\n setTotalVat(Math.abs(calcTotalVat));\n setTotal(Math.abs(calcTotal));\n }, [cart]);\n\n return (\n downloadTicket(),\n icon: ,\n },\n ]}\n menu={[\n {\n caption: cxt.t('Delete'),\n icon: ,\n onClick: () => deleteTicket(),\n },\n ]}\n >\n \n \n \n {!readOnly && (\n \n \n \n )}\n\n \n \n \n \n\n \n\n {total !== 0 && !readOnly && (\n {\n setTicket(ticketToUpdate);\n }}\n onReset={reset}\n />\n )}\n \n \n \n \n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z\"\n}), 'PowerSettingsNew');","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Checkbox, FormControlLabel, Grid } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport Container from '@material-ui/core/Container';\nimport Typography from '@material-ui/core/Typography';\nimport { AppContext, SttPage, SttForm } from '../../sporttia/all';\nimport { useTranslations } from '../../lib/hooks';\nimport translations from '../../translations';\n\nexport default function Contact() {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const [form, setForm] = useState({});\n const [sent, setSent] = useState(false);\n const [privacyPolicy, setPrivacyPolicy] = useState(false);\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setForm({ ...form, [name]: value });\n };\n\n /**\n * Send\n */\n const send = () => {\n if (form.email === null) {\n form.email = '';\n }\n cxt.api('POST', '/consults', {\n params: form,\n success: () => {\n cxt.showMessage('S', cxt.t('Sent'));\n setSent(true);\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (cxt.user) {\n setForm({\n name: cxt.user.name,\n email: cxt.user.email,\n phone: cxt.user.mobile,\n });\n }\n }, [cxt.user]);\n\n // -----| Render |-----\n return (\n \n \n
    \n
  • \n {cxt.t('view.contact.byPhone')}:{' '}\n {cxt.constants.contactPhone}\n
  • \n
  • \n {cxt.t('view.contact.byWhatsApp')}:{' '}\n {cxt.constants.contactWhatsApp}\n
  • \n
  • \n {cxt.t('view.contact.byEmail')}:{' '}\n {cxt.constants.contactEmail}\n
  • \n
\n\n \n {cxt.t('view.contact.byForm')}\n \n\n \n \n setPrivacyPolicy(\n !privacyPolicy,\n )\n }\n />\n }\n label={\n \n {translate(\n translations.generic\n .iHaveReadAndAccept,\n )}{' '}\n \n {translate(\n translations.generic\n .privacyPolicy,\n )}\n \n \n }\n />\n \n ),\n },\n ]}\n buttons={[\n {\n type: 'accept',\n show: !sent,\n caption: cxt.t('Send'),\n onClick: () => {\n if (privacyPolicy) send();\n else\n cxt.showMessage(\n 'E',\n translate(\n translations.generic\n .youMustAcceptPrivacyPolicy,\n ),\n );\n },\n },\n ]}\n />\n\n {sent && (\n \n \n {cxt.t('ContactSent')}\n \n \n )}\n \n
\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Divider from '@material-ui/core/Divider';\nimport Typography from '@material-ui/core/Typography';\nimport Link from '@material-ui/core/Link';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { IconButton } from '@material-ui/core';\nimport { MoreVert as MoreIcon, PowerSettingsNew } from '@material-ui/icons';\nimport { getPath } from '../../Pages';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttTable } from '../../../sporttia/all';\nimport { useAPI, useCrud, useLoadingBar } from '../../../lib/hooks';\nimport Contact from '../../public/Contact';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nconst useStyles = makeStyles((theme) => ({\n subscriptionBox: {\n backgroundColor: '#D8EDD0',\n padding: '1px',\n borderRadius: '3px',\n },\n subExpired: {\n backgroundColor: '#ede0e0',\n },\n subscriptionSummary: {},\n subscriptionPayments: {\n backgroundColor: 'white',\n },\n dividerSubscriptionSummary: {\n marginLeft: '15px',\n marginRight: '15px',\n marginTop: '10px',\n marginBottom: '10px',\n },\n greenBold: {\n display: 'inline',\n color: '#3C763D',\n fontWeight: 'bold',\n },\n redBold: {\n display: 'inline',\n color: '#b22a00',\n },\n}));\n\nexport default function Subscription({}) {\n const classes = useStyles();\n const history = useHistory();\n const cxt = useContext(AppContext);\n\n const [, , , Get, Post, ,] = useCrud(undefined, false);\n\n const [sportCenter, setSportCenter] = useState();\n const [currentSubscription, setCurrentSubscription] = useState({\n id: null,\n status: '',\n dateini: '',\n dateend: '',\n plan: '',\n fee: 0,\n feeInterval: '',\n });\n const [licences, setLicences] = useState();\n const [ready, setReady] = useState(false);\n const [subIsValid, setSubIsValid] = useState(false);\n const currentDate = new Date();\n\n const [showLoading, hideLoading, loadingBar] = useLoadingBar(true);\n\n /**\n * Set header title.\n */\n useEffect(() => {\n cxt.setHeader({\n title: cxt.t('Subscription'),\n });\n }, []);\n\n /**\n * When load page we will request sport center data.\n */\n useEffect(() => {\n if (cxt.sc && !isNaN(cxt.sc.id)) {\n loadSportCenterData();\n }\n }, [cxt.sc]);\n\n /**\n * When \"sportCenter\" change we will request subscription sport center data.\n */\n useEffect(() => {\n if (sportCenter) {\n loadSubscriptionData();\n }\n }, [sportCenter]);\n\n /**\n * When \"currentSubscription\" is modified will be request to server\n * to load subscription licenses.\n */\n useEffect(() => {\n if (currentSubscription.id) {\n loadLicenses();\n }\n }, [currentSubscription]);\n\n useEffect(() => {\n if (licences) {\n setSubIsValid(validateSub(licences));\n }\n }, [licences]);\n\n useEffect(() => {\n if (ready) {\n hideLoading();\n }\n }, [ready]);\n\n /**\n * Load sportcenter data\n */\n const loadSportCenterData = () => {\n Get(`/scs/${cxt.sc.id}`).then((response) => {\n setSportCenter(response.sc);\n });\n };\n\n /**\n * Load subscription data\n */\n const loadSubscriptionData = () => {\n Get(`/customers/${sportCenter.customer.id}/subscriptions`, {\n page: 1,\n rows: 100,\n }).then((response) => {\n if (response.count > 0) {\n setCurrentSubscription(getCurrentSubscription(response.rows));\n } else {\n // no sub, like, at all\n setReady(true);\n }\n });\n };\n\n /**\n * Method to get licences associated with subscription.\n * @param params Params with rows.\n */\n function loadLicenses(params = { rows: 10 }) {\n Get(`/subscriptions/${currentSubscription.id}/licences`, params)\n .then((response) => {\n setLicences(response);\n })\n .finally(() => {\n setReady(true);\n });\n }\n\n /**\n * Method to get current subscription using current date, \"dateini\" and \"dateend\" from subscriptions date.\n * @param subscriptions Array with subscriptions\n * @returns {*} return current subscription.\n */\n function getCurrentSubscription(subscriptions) {\n return subscriptions.find(\n (sub) =>\n currentDate >=\n (new Date(sub.dateini) && currentDate <= new Date(sub.dateend)),\n );\n }\n\n // Get the latest chronological licence\n function getLatestLicence(licences) {\n if (!licences.rows) {\n return null;\n }\n\n return licences.rows.sort((a, b) => moment(a.end) > moment(b.end))[0];\n }\n\n /// /Return true if at least one liecense is not expired\n function validateSub(licences) {\n if (!licences.rows) {\n return false;\n }\n\n return licences.rows.reduce(\n (result, item) =>\n (!item.trash && !item.inExpirationPeriod) || result,\n false,\n );\n }\n\n function logout() {\n Post('/logout', {}, true).then((response) => {\n cxt.setLoggedUser(false);\n cxt.setHeader(null);\n });\n }\n\n const sub = {\n id: 958,\n created: '2020-07-01T11:52:51',\n status: 'ACTIVE',\n dateini: '2020-07-01T00:00:00',\n dateend: '2020-09-30T00:00:00',\n plan: 'ZERO',\n fee: 0,\n feeInterval: '0000-03-00 00:00:00',\n trash: false,\n };\n\n const lic = {\n id: 3714,\n created: '2020-10-27T08:46:13',\n status: null,\n price: 0,\n ini: '2020-07-01T00:00:00',\n end: '2020-09-30T00:00:00',\n paymentForm: 'FREE',\n trash: false,\n inExpirationPeriod: true,\n daysToExpire: -236,\n subscription: {\n id: 958,\n },\n };\n\n const latest = licences && getLatestLicence(licences);\n\n if (!ready) {\n return null;\n }\n\n if (!currentSubscription.id) {\n return (\n <>\n \n \n \n {cxt.t('page.sc.subscription.noSubscription')}\n \n \n
\n \n \n \n
\n
\n
\n \n \n );\n }\n\n // -----| Render |-----\n return (\n <>\n {loadingBar}\n\n {/* Container with remaining days of subscription. */}\n \n \n {subIsValid ? (\n
\n {cxt.t('page.sc.subscription.numDaysToExpire')}:\n \n {moment(currentSubscription.dateend).diff(\n new Date(),\n 'days',\n )}\n \n \n  (\n {moment(currentSubscription.dateend).format(\n 'DD MMMM YYYY',\n )}\n )\n \n
\n ) : (\n latest && (\n \n \n {cxt.t('page.sc.licence.expiredAt')}: \n \n {moment(latest.end).format(\n 'DD/MM/YYYY',\n )}\n \n \n
\n \n \n \n
\n
\n )\n )}\n \n \n\n {/* Container with subscription summary and subscription payments table. */}\n \n {/* First box with subscription summary. */}\n \n \n \n \n \n {cxt.t('Subscription').toUpperCase()}\n {' '}\n [{' '}\n \n {subIsValid\n ? cxt.t(`Active`)\n : cxt.t('Inactive')}\n {' '}\n ]\n \n \n \n \n {moment(currentSubscription.dateini).format(\n 'DD MMM YYYY',\n )}{' '}\n -{' '}\n {moment(currentSubscription.dateend).format(\n 'DD MMM YYYY',\n )}\n \n \n \n \n \n \n {cxt.t('Plan')}:{' '}\n \n {cxt.t(`SP.${currentSubscription.plan}`)}\n \n \n \n {cxt.t('Fee')}:{' '}\n {`${formatPriceByLocale(\n currentSubscription.fee,\n cxt.sc.city.country.currency,\n )}`}{' '}\n /{' '}\n \n {cxt.t(`${currentSubscription.feeInterval}`)}\n \n \n \n {subIsValid ? (\n \n history.push(getPath('help'))\n }\n >\n {cxt.t('page.sc.subscription.cancel')}\n \n ) : (\n {\n // window.location.href = \"https://www.sporttia.com/es/contactar/\";\n window.open(\n 'https://www.sporttia.com/es/contactar/',\n '_new',\n );\n }}\n >\n {cxt.t('page.sc.subscription.renewLicence')}\n \n )}\n \n \n \n\n {/* Second box with subscription payments table. */}\n \n \n `${moment(row.ini).format(\n 'DD MMM YYYY',\n )} - ${moment(row.end).format(\n 'DD MMM YYYY',\n )}\n\t\t\t\t\t\t\t\t\t${\n currentDate >= new Date(row.ini) &&\n currentDate <= new Date(row.end)\n ? `[ ${cxt.t('Active')} ]`\n : ''\n }`,\n },\n {\n title: cxt.t('PaymentForm'),\n value: (row) =>\n row.paymentForm\n ? cxt.t(`PF.${row.paymentForm}`)\n : '',\n },\n {\n title: cxt.t('Status'),\n value: (row) =>\n row.paymentForm ? (\n cxt.t('PAID')\n ) : (\n \n {cxt.t('Pending')}\n \n ),\n },\n {\n title: cxt.t('price'),\n field: 'price',\n align: 'right',\n value: (row) =>\n `${formatPriceByLocale(\n row.price,\n cxt.sc?.city?.country?.currency,\n )}`,\n },\n ]}\n onFetch={loadLicenses}\n />\n \n \n \n \n );\n}\n","import React from 'react';\nimport { Box, Container, makeStyles } from '@material-ui/core';\nimport Subscription from '../subscription/Subscription';\n\nconst useStyles = makeStyles((theme) => ({\n container: {\n paddingTop: theme.spacing(3),\n paddingBottom: theme.spacing(4),\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 'auto',\n },\n}));\n\n// NoSubscription: container page to redirect the customer to, when they lack a valid license.\nexport default function NoSubscription() {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n );\n}\n","import { useContext } from 'react';\nimport useRestService from './RestService';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\n\nconst resource = '/golf';\n\n/**\n * Hook to access all 'golf' resources.\n */\nexport default function useGolfService() {\n const { migrationApis } = useContext(AppContext);\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /golf/courses/:id request.\n * @param id Golf course ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getGolfCourse(id, params) {\n return request('GET', `${resource}/courses/${id}`, params);\n }\n\n /**\n * PUT /golf/courses/:id request.\n * @param id Sport center ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateGolfCourse(id, params) {\n return request('PUT', `${resource}/courses/${id}`, params);\n }\n\n /**\n * DELETE /golf/courses/:id request.\n * @param id Golf course ID.\n * @returns {Promise|*} Return request promise.\n */\n function removeGolfCourse(id) {\n return request('DELETE', `${resource}/courses/${id}`);\n }\n\n /**\n * PUT /golf/courses/holes/:id request.\n * @param id Golf course hole ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateGolfCourseHole(id, params) {\n return request('PUT', `${resource}/courses/holes/${id}`, params);\n }\n\n /**\n * GET /golf/courses/:id/frees request.\n * @param id Golf course ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getGolfCourseFrees(id, params) {\n return request('GET', `${resource}/courses/${id}/frees`, params);\n }\n\n /**\n * POST /golf/courses/:id/frees request.\n * @param id Golf course ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createGolfCoursesFrees(id, params) {\n return request('POST', `${resource}/courses/${id}/frees`, params);\n }\n\n /**\n * PUT /golf/courses/frees/:id request.\n * @param id Golf course schedule ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateGolfCoursesFrees(id, params) {\n return request('PUT', `${resource}/courses/frees/${id}`, params);\n }\n\n /**\n * GET /golf/courses/frees/:id request.\n * @param id Golf course schedule ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getGolfCourseFree(id, params) {\n return request('GET', `${resource}/courses/frees/${id}`, params);\n }\n\n /**\n * DELETE /golf/courses/frees/:id request.\n * @param id Golf course schedule ID.\n * @returns {Promise|Promise}\n */\n function removeGolfCoursesFrees(id) {\n return request('DELETE', `${resource}/courses/frees/${id}`);\n }\n\n /**\n * POST /golf/courses/frees/:id/rates request.\n * @param id Golf course schedule ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createGolfCoursesFreesRates(id, params) {\n return request('POST', `${resource}/courses/frees/${id}/rates`, params);\n }\n\n /**\n * PUT /golf/courses/rates/:id request.\n * @param id Golf course rate ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateGolfCoursesRates(id, params) {\n return request('PUT', `${resource}/courses/rates/${id}`, params);\n }\n\n /**\n * DELETE /golf/courses/frees/rates/:id request.\n * @param id Golf course rate ID.\n * @returns {Promise|Promise}\n */\n function removeGolfCoursesRates(id) {\n return request('DELETE', `${resource}/courses/rates/${id}`);\n }\n\n return {\n ...services,\n getGolfCourse,\n updateGolfCourse,\n removeGolfCourse,\n updateGolfCourseHole,\n getGolfCourseFrees,\n createGolfCoursesFrees,\n updateGolfCoursesFrees,\n getGolfCourseFree,\n removeGolfCoursesFrees,\n createGolfCoursesFreesRates,\n updateGolfCoursesRates,\n removeGolfCoursesRates,\n };\n}\n","import React, { useEffect } from 'react';\nimport { useMutation } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\nimport useGolfService from '../../../services/GolfService';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\nimport { useLoader, useTranslations } from '../../../lib/hooks';\n\n/**\n * Dialog to modify a golf hole.\n * @param golfHole Golf hole object.\n * @param onClose Launched when the dialog is closed.\n * @param onUpdate Launched when a golf course hole is updated.\n * @returns {JSX.Element}\n */\nexport function GolfCourseConfigurationHoleDialog({\n golfHole,\n onClose,\n onUpdate,\n}) {\n const { translate } = useTranslations();\n const form = useForm();\n const golfService = useGolfService();\n const updateHoleMutation = useMutation(\n (params) =>\n golfService.updateGolfCourseHole(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n const [, loader] = useLoader([updateHoleMutation.status]);\n\n /**\n * Method executed when the user clicks on save hole.\n * @param formData Form data.\n */\n const mutateHole = (formData) => {\n const formatedFormData = { ...formData };\n\n formatedFormData.status = formData?.status ? 'ACTIVE' : 'INACTIVE';\n\n updateHoleMutation.mutate({\n id: golfHole?.id,\n params: formatedFormData,\n });\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (golfHole) {\n form.reset({\n par: golfHole?.par,\n notes: golfHole?.notes,\n tee: golfHole?.tee,\n status: golfHole?.status === 'ACTIVE',\n });\n } else {\n form.reset({\n par: '',\n notes: '',\n tee: false,\n status: true,\n });\n }\n }, [golfHole]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateHole(formData),\n ),\n },\n ]}\n />\n );\n}\n","import React, { useState } from 'react';\nimport { Box, makeStyles, Paper, Typography } from '@material-ui/core';\nimport NoteOutlinedIcon from '@material-ui/icons/NoteOutlined';\nimport { GolfCourseConfigurationHoleDialog } from './GolfCourseConfigurationHoleDialog';\n\n/**\n * Card that identifies a hole on a golf course.\n * @param hole Hole object.\n * @param onUpdate Launched when golf hole is updated.\n * @returns {JSX.Element}\n */\nfunction GolfHoleCard({ hole, onUpdate }) {\n const classes = useStyles();\n const [selectedGolfHole, setSelectedGolfHole] = useState(null);\n\n return (\n <>\n setSelectedGolfHole(hole)}\n >\n \n {`Hoyo ${hole?.position}`}\n {`Par ${hole?.par}`}\n \n {hole?.notes && }\n \n \n \n T\n \n \n \n \n H\n \n \n \n \n\n setSelectedGolfHole(null)}\n onUpdate={(data) => {\n onUpdate(data);\n setSelectedGolfHole(null);\n }}\n />\n \n );\n}\n\nconst useStyles = makeStyles({\n golfHoleCard: {\n padding: 10,\n display: 'flex',\n flexDirection: 'column',\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: 'rgba(33, 150, 243, 0.5)',\n },\n },\n golfHoleBox: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n golfCircle: {\n borderRadius: '50%',\n width: '15px',\n height: '15px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n golfCircleActive: {\n backgroundColor: 'green',\n },\n golfCircleInactive: {\n backgroundColor: '#E0E0E0',\n },\n noteIcon: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default GolfHoleCard;\n","import React, { useContext, useEffect } from 'react';\nimport { useMutation } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { Box, Grid, Typography } from '@material-ui/core';\nimport useScsService from '../../../services/ScsService';\nimport { useLoader, useTranslations } from '../../../lib/hooks';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\nimport useGolfService from '../../../services/GolfService';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport GolfHoleCard from './GolfHoleCard';\n\n/**\n * Golf course configuration view. View to modify the data of a golf course.\n * @param golfCourse Golf course object.\n * @param status API Request status.\n * @param onCreate Launched when a new golf course is created.\n * @param onUpdate Launched when a golf course is updated.\n * @param onUpdateHole Launched when a golf course hole is updated.\n * @param onDelete Launched when a golf course is removed.\n * @returns {JSX.Element}\n */\nexport default function GolfCourseConfiguration({\n golfCourse,\n status,\n onCreate,\n onUpdate,\n onUpdateHole,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const scsService = useScsService();\n const golfService = useGolfService();\n const deleteMutation = useMutation(\n (params) => golfService.removeGolfCourse(params?.id),\n {\n onSuccess: onDelete,\n onError: (error) => cxt.showMessage('E', error?.error?.msg),\n },\n );\n const updateMutation = useMutation(\n (params) => golfService.updateGolfCourse(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n onError: (error) => cxt.showMessage('E', error?.error?.msg),\n },\n );\n const createMutation = useMutation(\n (params) => scsService.createScsGolfCourse(cxt?.sc?.id, params?.params),\n {\n onSuccess: onCreate,\n onError: (error) => cxt.showMessage('E', error?.error?.msg),\n },\n );\n const form = useForm();\n const [, loader] = useLoader([\n createMutation.status,\n updateMutation.status,\n deleteMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create golf course.\n */\n const mutateGolfCourse = (formData) => {\n if (golfCourse?.id) {\n updateMutation.mutate({ id: golfCourse?.id, params: formData });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (status === 'success' && golfCourse) {\n form.reset({\n name: golfCourse?.name,\n description: golfCourse?.description,\n type: golfCourse?.type,\n status: golfCourse?.status,\n holes: golfCourse?.holes?.count,\n duration: golfCourse?.duration,\n });\n } else {\n form.reset({\n name: '',\n description: '',\n type: 'ONLY9',\n status: 'ACTIVE',\n holes: '',\n duration: 0,\n });\n }\n }, [golfCourse]);\n\n return (\n <>\n {loader}\n \n \n \n mutateGolfCourse(formData),\n ),\n },\n {\n show: !!golfCourse?.id && !golfCourse?.trash,\n type: 'delete',\n onClick: () =>\n deleteMutation.mutate({\n id: golfCourse?.id,\n }),\n },\n ]}\n />\n \n {golfCourse?.id && (\n \n \n {golfCourse?.holes?.rows.map((hole) => (\n \n \n \n ))}\n \n\n \n \n {translate('legendTee')}\n \n \n {translate('legendHole')}\n \n \n \n )}\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\nimport { useLoader, useTranslations } from '../../../lib/hooks';\nimport useGolfService from '../../../services/GolfService';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\n\n/**\n * Dialog to modify, edit and delete rates of a golf course schedule.\n * @param golfScheduleId Golf schedule ID.\n * @param rate Golf rate.\n * @param onClose Action taken when closing the modal.\n * @param onCreate Action taken when creating the tpv configuration.\n * @param onUpdate Action taken when updating a license.\n * @param onDelete Action taken when removing a license.\n * @returns {JSX.Element}\n */\nfunction GolfCourseScheduleRateDialog({\n golfScheduleId,\n rate,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const { translate } = useTranslations();\n const form = useForm();\n const golfService = useGolfService();\n const createMutation = useMutation(\n (params) =>\n golfService.createGolfCoursesFreesRates(params?.id, params?.params),\n {\n onSuccess: onCreate,\n },\n );\n const updateMutation = useMutation(\n (params) =>\n golfService.updateGolfCoursesRates(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n const deleteMutation = useMutation(\n (params) => golfService.removeGolfCoursesRates(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create api model.\n * @param formData Form data.\n */\n const mutateGolfCourseRate = (formData) => {\n const formatedFormData = { ...formData };\n\n delete formatedFormData.group;\n formatedFormData.idGroup = formData?.group?.id;\n\n if (rate?.id) {\n updateMutation.mutate({ id: rate?.id, params: formatedFormData });\n } else {\n createMutation.mutate({\n id: golfScheduleId,\n params: formatedFormData,\n });\n }\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (rate?.id) {\n form.reset({\n name: rate?.name,\n price: rate?.price,\n group: rate?.group,\n });\n } else {\n form.reset({\n name: '',\n price: '',\n group: '',\n });\n }\n }, [rate]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateGolfCourseRate(formData),\n ),\n },\n {\n type: 'delete',\n show: !!rate?.id,\n confirmation: true,\n onClick: () => deleteMutation.mutate({ id: rate?.id }),\n },\n ]}\n />\n );\n}\n\nexport default GolfCourseScheduleRateDialog;\n","import React, { useEffect, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport moment from 'moment';\nimport { Box, Grid, Paper } from '@material-ui/core';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\nimport { useLoader, useTranslations } from '../../../lib/hooks';\nimport useGolfService from '../../../services/GolfService';\nimport { SPORTCENTER_GOLF_COURSE_SCHEDULE } from '../../../lib/queryKeys';\nimport { SttFullDialog } from '../../../sporttia/dialogs/SttFullDialog';\nimport GolfCourseScheduleRateDialog from './GolfCourseScheduleRateDialog';\nimport { formatPrice } from '../../../lib/utils';\nimport { SttList } from '../../../sporttia/lists/SttList';\n\nconst useStyles = makeStyles({\n genericBorder: {\n borderColor: '#C4C4C4',\n },\n borderRounded: {\n borderRadius: '5px',\n minHeight: '150px',\n },\n});\n\n/**\n * Dialogue to modify, update or delete schedules of a golf course.\n * @param id Golf course schedule ID.\n * @param golfCourseId Golf course ID.\n * @param onClose Action taken when closing the dialog.\n * @param onCreate Action taken when creating the subscription.\n * @param onUpdate Action taken when updating the subscription.\n * @param onDelete Action taken when removing subscription.\n * @returns {JSX.Element}\n */\nfunction GolfCourseScheduleDialog({\n id,\n golfCourseId,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const classes = useStyles();\n const { translate } = useTranslations();\n const form = useForm();\n const queryClient = useQueryClient();\n const golfService = useGolfService();\n const [golfCourseScheduleId, setGolfCourseScheduleId] = useState(null);\n const [selectedGolfCourseRate, setSelectedGolfCourseRate] = useState(null);\n const golfCourseScheduleQuery = useQuery(\n [SPORTCENTER_GOLF_COURSE_SCHEDULE, { id: golfCourseScheduleId }],\n () => golfService.getGolfCourseFree(golfCourseScheduleId),\n {\n enabled:\n !!golfCourseScheduleId && golfCourseScheduleId !== 'create',\n },\n );\n const createMutation = useMutation(\n (params) =>\n golfService.createGolfCoursesFrees(params?.id, params?.params),\n {\n onSuccess: onCreate,\n },\n );\n const updateMutation = useMutation(\n (params) =>\n golfService.updateGolfCoursesFrees(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n const deleteMutation = useMutation(\n (params) => golfService.removeGolfCoursesFrees(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const deleteRateMutation = useMutation(\n (params) => golfService.removeGolfCoursesRates(params?.id),\n {\n onSuccess: () =>\n queryClient.invalidateQueries(SPORTCENTER_GOLF_COURSE_SCHEDULE),\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n deleteRateMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create golf course schedule.\n */\n const mutateGolfCourseSchedule = (formData) => {\n const formatedFormData = { ...formData };\n\n if (formatedFormData?.status) {\n formatedFormData.status = 'ACTIVE';\n } else {\n formatedFormData.status = 'INACTIVE';\n }\n\n if (golfCourseScheduleQuery?.data?.golfScheduleFree?.id) {\n updateMutation.mutate({\n id: golfCourseScheduleQuery?.data?.golfScheduleFree?.id,\n params: formatedFormData,\n });\n } else {\n createMutation.mutate({\n id: golfCourseId,\n params: formatedFormData,\n });\n }\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (golfCourseScheduleQuery?.data?.golfScheduleFree?.id) {\n form.reset({\n dateini:\n golfCourseScheduleQuery?.data?.golfScheduleFree?.dateini,\n dateend:\n golfCourseScheduleQuery?.data?.golfScheduleFree?.dateend,\n timeini:\n golfCourseScheduleQuery?.data?.golfScheduleFree?.timeini,\n timeend:\n golfCourseScheduleQuery?.data?.golfScheduleFree?.timeend,\n months: golfCourseScheduleQuery?.data?.golfScheduleFree?.months,\n weekdays:\n golfCourseScheduleQuery?.data?.golfScheduleFree?.weekdays,\n status:\n golfCourseScheduleQuery?.data?.golfScheduleFree?.status ===\n 'ACTIVE',\n });\n } else {\n form.reset({\n dateini: moment(\n new Date(new Date().getFullYear(), 0, 1),\n ).format('YYYY-MM-DD'),\n dateend: moment(\n new Date(new Date().getFullYear(), 11, 31),\n ).format('YYYY-MM-DD'),\n timeini: moment(\n new Date(new Date().getFullYear(), 0, 1, 8, 0),\n ).format('H:mm'),\n timeend: moment(\n new Date(new Date().getFullYear(), 11, 31, 22, 0),\n ).format('H:mm'),\n months: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],\n weekdays: [1, 2, 3, 4, 5, 6, 0],\n status: true,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [golfCourseScheduleQuery?.data?.golfScheduleFree]);\n\n /**\n * Update golf course schedule id if id prop was changed.\n */\n useEffect(() => {\n setGolfCourseScheduleId(id);\n }, [id]);\n\n return (\n \n mutateGolfCourseSchedule(formData),\n ),\n },\n ]}\n >\n \n \n \n \n {loader}\n \n \n {golfCourseScheduleQuery?.data?.golfScheduleFree && (\n \n \n \n deleteRateMutation.mutate({\n id: rate?.id,\n })\n }\n confirmationDelete\n onAdd={() =>\n setSelectedGolfCourseRate({})\n }\n onSelect={(rate) =>\n setSelectedGolfCourseRate(rate)\n }\n data={golfCourseScheduleQuery?.data?.golfScheduleFree?.rates?.rows.map(\n (rate) => ({\n caption: (\n \n
{`${\n rate?.name\n } - ${formatPrice(\n rate?.price,\n )} ${\n rate?.group\n ? `(${translate(\n 'Group',\n )}: ${\n rate\n ?.group\n ?.name\n })`\n : ''\n }`}
\n
\n ),\n objToSelect: rate,\n }),\n )}\n />\n \n \n )}\n \n \n
\n\n {/* Rate dialog. */}\n setSelectedGolfCourseRate(null)}\n onCreate={() => {\n queryClient.invalidateQueries(\n SPORTCENTER_GOLF_COURSE_SCHEDULE,\n );\n setSelectedGolfCourseRate(null);\n }}\n onUpdate={() => {\n queryClient.invalidateQueries(\n SPORTCENTER_GOLF_COURSE_SCHEDULE,\n );\n setSelectedGolfCourseRate(null);\n }}\n onDelete={() => {\n queryClient.invalidateQueries(\n SPORTCENTER_GOLF_COURSE_SCHEDULE,\n );\n setSelectedGolfCourseRate(null);\n }}\n />\n \n );\n}\n\nexport default GolfCourseScheduleDialog;\n","import React, { useContext, useState } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport GolfCourseScheduleDialog from './GolfCourseScheduleDialog';\nimport { SPORTCENTER_GOLF_COURSE_SCHEDULES } from '../../../lib/queryKeys';\nimport SttCachedTable from '../../../sporttia/SttCachedTable';\nimport useGolfService from '../../../services/GolfService';\nimport { useTranslations } from '../../../lib/hooks';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { copyToClipboard } from '../../../lib/utils';\nimport { SttChipRate } from '../../../sporttia/chips/SttChipRate';\n\n/**\n * Golf course tab to list rates and schedules.\n * @param golfCourseId Golf course ID.\n * @returns {JSX.Element}\n */\nfunction GolfCourseSchedulesAndRates({ golfCourseId }) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const golfService = useGolfService();\n const queryClient = useQueryClient();\n const [selectedGolfCourseScheduleId, setSelectedGolfCourseScheduleId] =\n useState(null);\n\n return (\n <>\n setSelectedGolfCourseScheduleId('create'),\n }}\n />\n\n \n golfService.getGolfCourseFrees(golfCourseId, params)\n }\n onClickRow={(row) => setSelectedGolfCourseScheduleId(row?.id)}\n columns={[\n {\n title: '#',\n type: 'tooltip',\n value: (row) => ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: translate('status'),\n field: 'status',\n value: (row) => translate(row?.status),\n },\n {\n type: 'dmy',\n title: translate('DateIni'),\n field: 'dateini',\n },\n {\n type: 'dmy',\n title: translate('DateEnd'),\n field: 'dateend',\n },\n {\n title: translate('TimeIni'),\n field: 'timeini',\n },\n {\n title: translate('TimeEnd'),\n field: 'timeend',\n },\n {\n type: 'weekdays',\n title: translate('WeekDays'),\n field: 'weekdays',\n },\n {\n title: translate('Rates'),\n value: (row) => (\n \n ),\n },\n ]}\n />\n\n setSelectedGolfCourseScheduleId(null)}\n onDelete={() => {\n setSelectedGolfCourseScheduleId(null);\n queryClient.invalidateQueries(\n SPORTCENTER_GOLF_COURSE_SCHEDULES,\n );\n }}\n onUpdate={() =>\n queryClient.invalidateQueries(\n SPORTCENTER_GOLF_COURSE_SCHEDULES,\n )\n }\n onCreate={(response) => {\n queryClient.invalidateQueries(\n SPORTCENTER_GOLF_COURSE_SCHEDULES,\n );\n if (response?.error) {\n cxt.showMessage('E', response?.error?.msg);\n } else {\n setSelectedGolfCourseScheduleId(\n response?.golfScheduleFree?.id,\n );\n }\n }}\n />\n \n );\n}\n\nexport default GolfCourseSchedulesAndRates;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Box, Paper } from '@material-ui/core';\nimport { useQuery, useQueryClient } from 'react-query';\nimport { SttFullDialog } from '../../../sporttia/dialogs/SttFullDialog';\nimport { SttTabs } from '../../../sporttia/SttTabs';\nimport { useTranslations } from '../../../lib/hooks';\nimport { SPORTCENTER_GOLF_COURSE } from '../../../lib/queryKeys';\nimport useGolfService from '../../../services/GolfService';\nimport GolfCourseConfiguration from './GolfCourseConfiguration';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport GolfCourseSchedulesAndRates from './GolfCourseSchedulesAndRates';\n\n/**\n * Golf course view. Contains tabs to configure the course, holes ...\n * @param open If true, the full dialog opens and closes otherwise.\n * @param id Golf course ID.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function GolfCourse({ open, id, onClose }) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const queryClient = useQueryClient();\n const golfService = useGolfService();\n const [golfCourseId, setGolCoursefId] = useState(id);\n const golfCourseQuery = useQuery(\n [SPORTCENTER_GOLF_COURSE, { id: golfCourseId }],\n () => golfService.getGolfCourse(golfCourseId),\n { enabled: !!golfCourseId && golfCourseId !== 'create' && open },\n );\n\n /**\n * Update golf course id if id prop was changed.\n */\n useEffect(() => {\n setGolCoursefId(id);\n }, [id]);\n\n return (\n \n \n \n {\n if (data?.error?.msg) {\n cxt.showMessage(\n 'E',\n data?.error?.msg,\n );\n } else {\n setGolCoursefId(\n data?.golfCourse?.id,\n );\n cxt.showMessage(\n 'S',\n translate('Created'),\n );\n }\n }}\n onUpdate={(data) => {\n queryClient.setQueryData(\n [\n SPORTCENTER_GOLF_COURSE,\n {\n id: data?.golfCourse\n ?.id,\n },\n ],\n data,\n );\n cxt.showMessage(\n 'S',\n translate('Saved'),\n );\n }}\n onDelete={() => {\n onClose();\n cxt.showMessage(\n 'S',\n translate('Deleted'),\n );\n }}\n onUpdateHole={(data) => {\n const updatedData = {\n ...golfCourseQuery?.data,\n };\n const elementIndex =\n updatedData?.golfCourse?.holes?.rows.findIndex(\n (hole) =>\n hole.id ===\n data?.golfHole?.id,\n );\n updatedData.golfCourse.holes.rows[\n elementIndex\n ] = data?.golfHole;\n queryClient.setQueryData(\n [\n SPORTCENTER_GOLF_COURSE,\n {\n id: data?.golfCourse\n ?.id,\n },\n ],\n updatedData,\n );\n cxt.showMessage(\n 'S',\n translate('Saved'),\n );\n }}\n />\n ),\n },\n {\n caption: 'Horarios y tarifas',\n show: !!golfCourseQuery?.data?.golfCourse?.id,\n component: (\n \n ),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport { Box, Button, Grid, IconButton, Tab, Tabs } from '@material-ui/core';\nimport moment from 'moment';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport CachedIcon from '@material-ui/icons/Cached';\nimport RotateLeftIcon from '@material-ui/icons/RotateLeft';\nimport { usePageHeader, useTranslations } from '../../../lib/hooks';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\n\nexport default function GolfTimetableControls({ form, date, onChange }) {\n usePageHeader('golfTimetable');\n const { translate } = useTranslations();\n const [weekdayTabValue] = useState(0);\n\n return (\n <>\n \n \n \n \n \n \n console.log(`TEST recargo datos.`)}\n >\n \n \n \n onChange({\n date: moment().format('YYYY-MM-DD'),\n })\n }\n >\n \n  \n {translate('Today')}\n \n \n \n \n\n \n \n \n onChange({\n date: moment(date)\n .subtract(1, 'week')\n .format('YYYY-MM-DD'),\n })\n }\n >\n \n \n \n\n \n \n onChange({\n date: moment(date)\n .weekday(value)\n .format('YYYY-MM-DD'),\n })\n }\n >\n {[0, 1, 2, 3, 4, 5, 6].map((wd) => (\n \n ))}\n \n \n\n \n \n onChange({\n date: moment(date)\n .add(1, 'week')\n .format('YYYY-MM-DD'),\n })\n }\n >\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\n\n/**\n * Draw golf tee with or without time and players list.\n * @param teeNumber Integer with tee number.\n * @param disableTime Boolean {true, false} Enable or not the time on the left side of the tee.\n * @returns {JSX.Element}\n */\nexport default function GolfTimetableTee({\n teeNumber = 0,\n disableTime = true,\n}) {\n const classes = useStyles();\n\n /**\n * Render line with players inside squares.\n * @param players [] Players array.\n * @returns {JSX.Element}\n */\n const renderPlayersLine = (players) => (\n \n {players &&\n players.map((player) => (\n \n {player.name}\n \n ))}\n \n );\n\n /**\n * Render the tee including the time on the left side (if active) and players.\n * @param hours [] Array with tee time lines (include time and player list).\n * @returns {*}\n */\n const renderTee = (hours) =>\n hours &&\n hours.map((hour) => (\n \n {!disableTime && (\n \n {hour.time}\n \n )}\n {renderPlayersLine(hour.players)}\n \n ));\n\n {\n /* Render golf tee number and tee data with time (if active) and player line. */\n }\n return (\n \n {`TEE ${teeNumber}`}\n {renderTee(teeDataMockUp.hours)}\n \n );\n}\n\nconst useStyles = makeStyles(() => ({\n playerBox: {\n height: 40,\n width: 80,\n margin: 3,\n color: 'white',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n textAlign: 'center',\n fontSize: 12,\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: 'rgba(33, 150, 243, 0.5)',\n },\n borderRadius: 2,\n },\n playerBoxBusy: {\n backgroundColor: '#F65757',\n },\n playerBoxAvailable: {\n backgroundColor: '#C4D745',\n },\n teeBox: {\n margin: 3,\n },\n timeLabel: {\n paddingRight: 10,\n },\n}));\n\n{\n /* This data will be removed when golf module development finished. */\n}\nconst teeDataMockUp = {\n hours: [\n {\n time: '09:00',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: null },\n ],\n },\n {\n time: '09:10',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: null },\n { id: 3, name: null },\n ],\n },\n {\n time: '09:20',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n {\n time: '09:30',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n {\n time: '09:40',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n {\n time: '09:50',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n {\n time: '10:00',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n {\n time: '10:10',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n {\n time: '10:20',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n {\n time: '10:30',\n players: [\n { id: 0, name: 'Jugador 1' },\n { id: 1, name: 'Jugador 2' },\n { id: 2, name: 'Jugador 3' },\n { id: 3, name: 'Jugador 4' },\n ],\n },\n ],\n};\n","import React from 'react';\nimport { Box, makeStyles } from '@material-ui/core';\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\n\n/**\n * Draw column with golf cart availability.\n * @returns {JSX.Element}\n */\nexport default function GolfTimetableCart({}) {\n const classes = useStyles();\n\n /**\n * Render golf cart availability without golf cart icon.\n * @param golfCarts [] Array with golf cart availability values.\n * @returns {*}\n */\n const renderGolfCartLine = (golfCarts) =>\n golfCarts &&\n golfCarts.map((golfCart) => (\n \n {golfCart.amount}\n \n ));\n\n {\n /* Render golf cart icon and golf cart availability column using renderGolfCartLine() method. */\n }\n return (\n \n \n \n \n {renderGolfCartLine(golfCartDataMockup.carts)}\n \n );\n}\n\nconst useStyles = makeStyles(() => ({\n golfCartBox: {\n height: 40,\n width: 40,\n backgroundColor: '#ECECEC',\n color: 'black',\n fontSize: 20,\n margin: 6,\n marginBottom: 9,\n borderRadius: 2,\n },\n golfCartIconBox: {\n height: 21,\n },\n}));\n\n{\n /* This data will be removed when golf module development finished. */\n}\nconst golfCartDataMockup = {\n carts: [\n {\n id: 0,\n amount: 7,\n },\n {\n id: 1,\n amount: 2,\n },\n {\n id: 2,\n amount: 2,\n },\n {\n id: 3,\n amount: 2,\n },\n {\n id: 4,\n amount: 2,\n },\n {\n id: 5,\n amount: 2,\n },\n {\n id: 6,\n amount: 2,\n },\n {\n id: 7,\n amount: 2,\n },\n {\n id: 8,\n amount: 2,\n },\n {\n id: 9,\n amount: 2,\n },\n ],\n};\n","import React, { useContext, useState } from 'react';\nimport { makeStyles, Box, Paper, Typography, Divider } from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport { useQuery, useQueryClient } from 'react-query';\nimport { usePageHeader, useTranslations } from '../../../lib/hooks';\nimport GolfCourse from './GolfCourse';\nimport GolfTimetableControls from '../golfTimetable/GolfTimetableControls';\nimport GolfTimetableTee from '../golfTimetable/GolfTimetableTee';\nimport GolfTimetableCart from '../golfTimetable/GolfTimetableCart';\nimport { SPORTCENTER_GOLF_COURSES } from '../../../lib/queryKeys';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport useScsService from '../../../services/ScsService';\n\n/**\n * View where the sports center can see the list of golf courses and their availability.\n * @returns {JSX.Element}\n */\nexport default function Golf() {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n usePageHeader('Golf');\n\n const { translate } = useTranslations();\n const queryClient = useQueryClient();\n const form = useForm();\n const [selectedCourse, setSelectedCourse] = useState({\n status: null,\n id: null,\n });\n const scsService = useScsService();\n const golfCoursesQuery = useQuery(\n [SPORTCENTER_GOLF_COURSES, { id: cxt?.sc?.id }],\n () => scsService.getScsGolfCourses(cxt?.sc?.id, null),\n );\n\n return (\n <>\n \n {golfCoursesQuery?.data?.rows?.map((course) => (\n \n setSelectedCourse({\n status: `${\n selectedCourse &&\n selectedCourse.id === course.id\n ? 'EDIT'\n : 'SELECTED'\n }`,\n id: course?.id,\n })\n }\n >\n {course?.id !== selectedCourse?.id ? (\n <>\n \n {course?.name}\n \n {`${course?.holes?.count} Hoyos`}\n {`${translate('Duration')}: ${\n course?.duration\n } min`}\n {/* {`Salidas cada: ${course?.interval} min`} */}\n \n ) : (\n \n \n Seleccionado {course.name}\n \n \n Pulsa de nuevo para editar\n \n \n )}\n \n ))}\n \n setSelectedCourse({ status: 'CREATE', id: 'create' })\n }\n >\n \n Añadir nuevo campo\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 setSelectedCourse({ status: 'SELECTED', id: null });\n queryClient.invalidateQueries(SPORTCENTER_GOLF_COURSES);\n }}\n />\n \n );\n}\n\nconst useStyles = makeStyles(() => ({\n golfCoursesList: {\n display: 'flex',\n width: '100%',\n overflowX: 'auto',\n paddingTop: 10,\n paddingBottom: 10,\n paddingLeft: 1,\n paddingRight: 1,\n },\n golfCourse: {\n display: 'flex',\n flexDirection: 'column',\n flex: '0 0 250px',\n // overflow: 'hidden',\n width: 250,\n height: 120,\n marginRight: 10,\n padding: 15,\n borderRadius: '5px',\n },\n activeGolfCourse: {\n color: 'white',\n backgroundColor: '#5FB924',\n },\n disableGolfCourse: {},\n hoverGolfCardCourse: {\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: 'rgba(33, 150, 243, 0.5)',\n },\n },\n timetable: {\n // height: '75vh',\n margin: 0,\n padding: 0,\n },\n timetableBox: {\n maxHeight: '100%',\n overflowX: 'auto',\n overflowY: 'auto',\n },\n}));\n","import React from 'react';\nimport { Avatar, Box, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport logo from '../images/logo512.png';\n\nconst useStyles = makeStyles((theme) => ({\n avatar: {\n margin: theme.spacing(1),\n width: 48,\n height: 48,\n },\n image: {\n width: 48,\n height: 48,\n },\n}));\n\ntype LogoHeadingProps = {\n caption: string;\n};\n\nexport default function LogoHeading({ caption }: LogoHeadingProps) {\n const classes = useStyles();\n\n return (\n \n \n \"Sporttia\n \n {caption}\n \n );\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport { Box, Button, Typography } from '@material-ui/core';\nimport { AppContext, SttDialog } from '../sporttia/all';\nimport { useTranslations } from '../lib/hooks';\nimport translations from '../translations';\n\ninterface TwoFAInputProps {\n text2FA: string;\n onSave: (twoFactorCode: string) => void;\n onClose: () => void;\n onResentCode: () => void;\n}\n\nexport default function Input2FA({\n text2FA,\n onSave,\n onClose,\n onResentCode,\n}: TwoFAInputProps) {\n const cxt = useContext(AppContext)!;\n const [code, setCode] = useState(Array(6).fill(''));\n const inputRefs = useRef<(HTMLInputElement | null)[]>([]);\n const { translate } = useTranslations();\n const handleCodeChange = (index: number, value: string) => {\n if (value !== '') {\n const numberParsed = Number.parseInt(value);\n if (numberParsed !== 0 && !numberParsed) {\n cxt.showMessage('E', 'Bad type of number');\n return;\n }\n }\n\n const newCode = [...code];\n newCode[index] = value;\n setCode(newCode);\n\n if (value && index < 5) {\n inputRefs.current[index + 1]?.focus();\n }\n };\n\n const handleKeyDown = (\n index: number,\n e: React.KeyboardEvent,\n ) => {\n if (e.key === 'Backspace' && !code[index] && index > 0) {\n inputRefs.current[index - 1]?.focus();\n }\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n const pastedData = e.clipboardData\n .getData('text')\n .substring(0, 6)\n .split('');\n const new2FACode = new Array(6).fill('');\n\n pastedData.forEach((digit: string, index: number) => {\n if (digit) {\n new2FACode[index] = Number.parseInt(digit);\n }\n });\n setCode(new2FACode);\n inputRefs.current[\n pastedData.length >= 6 ? 5 : pastedData.length\n ]?.focus();\n };\n\n const inputSlots2FAIds = [1, 2, 3, 4, 5, 6];\n const boxSlots2FAIds = [7, 8, 9, 10, 11, 12];\n return (\n onSave(code.join('')),\n },\n {\n component: (\n onResentCode()}\n >\n {' '}\n Reenviar código{' '}\n \n ),\n },\n {\n type: 'close',\n onClick: () => onClose(),\n },\n ]}\n content={\n \n \n {text2FA}\n \n\n \n {code.map((digit, index) => (\n \n {\n inputRefs.current[index] = el;\n }}\n type=\"text\"\n maxLength={1}\n value={digit}\n onChange={(e) => {\n handleCodeChange(index, e.target.value);\n }}\n onKeyDown={(e) => handleKeyDown(index, e)}\n onPaste={handlePaste}\n style={{\n width: '50px',\n height: '70px',\n fontSize: '25px',\n textAlign: 'center',\n }}\n />\n \n ))}\n \n \n }\n onClose={onClose}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Container,\n Paper,\n Typography,\n Box,\n Grid,\n Button,\n Link,\n} from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useHistory } from 'react-router-dom';\nimport HowToRegIcon from '@material-ui/icons/HowToReg';\nimport {\n AppContext,\n SttFormCheck,\n SttFormPassword,\n SttFormText,\n SttFormSelect,\n} from '../../sporttia/all';\nimport LogoHeading from '../../layout/LogoHeading';\nimport { useQuery, useLoader } from '../../lib/hooks';\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n // marginTop: theme.spacing(8),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: theme.spacing(3),\n },\n form: {\n width: '100%', // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n}));\n\nconst lang = navigator.language || navigator.userLanguage;\nlet previousLang = '';\n\n// Pantalla de registro\nexport default function Register() {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const history = useHistory();\n const { redirect } = useQuery();\n const [registerStatus, setRegisterStatus] = useState('idle');\n const [, loader] = useLoader(registerStatus);\n\n const userLang = cxt?.lang ? cxt.lang.key : lang;\n\n // Params that will be sent to the API\n const [params, setParams] = useState({\n name: '',\n surname1: '',\n surname2: '',\n email: '',\n password: '',\n gender: 'UNKNOWN',\n });\n\n // Checkboxes for \"I accept stuff\" and \"I'm older than 14\"\n const [privacyChecked, setPrivacyChecked] = useState(false);\n const [olderThan14, setOlderThan14] = useState(false);\n\n // Set the the param 'name' to 'value'\n function handleChange({ name, value }) {\n setParams({ ...params, [name]: value });\n }\n\n useEffect(() => {\n if (cxt.config && cxt.config.languages) {\n if (lang && lang !== previousLang) {\n const langCode = lang.split('-');\n\n const currentLang = cxt.config.languages.find(\n (langKey) => langKey.key === langCode[0],\n );\n\n if (currentLang) {\n cxt.setLang(currentLang);\n }\n\n previousLang = lang;\n } else {\n localStorage.removeItem('currentLanguage');\n }\n }\n }, [cxt]);\n\n // Do call the API. Must've checked both checkboxes\n function register() {\n if (!privacyChecked || !olderThan14) {\n cxt.showMessage('E', cxt.t('app.register.butThouMust'));\n } else {\n setRegisterStatus('loading');\n cxt.api('POST', `/users`, {\n params: {\n ...params,\n language: userLang,\n },\n success: (response) => {\n setRegisterStatus('idle');\n if (response.user) {\n // On success, we move to the 'email confirmation' screen, passing state: {user}\n history.replace(`/email/activation`, {\n user: response.user,\n });\n }\n },\n error: (response) => {\n setRegisterStatus('idle');\n if (response.error) {\n cxt.showMessage('E', response.error.msg);\n }\n },\n });\n }\n }\n function onLanguangeChange(langOnChange) {\n const currentLang = cxt.config.languages.find(\n (post) => post.key === langOnChange.value,\n );\n\n cxt.setLang(currentLang);\n }\n /**\n * Logged user changes\n */\n useEffect(() => {\n if (cxt.user && cxt.user.id && redirect) {\n history.push(decodeURIComponent(redirect));\n }\n }, [cxt.user, history, redirect]);\n\n // Render\n return (\n <>\n {loader}\n \n \n \n \n \n \n \n \n \n \n onLanguangeChange(event)\n }\n />\n \n \n \n handleChange(event)\n }\n />\n \n \n \n handleChange(event)\n }\n />\n \n \n \n handleChange(event)\n }\n />\n \n \n \n handleChange(event)\n }\n />\n \n \n \n handleChange(event)\n }\n />\n \n\n \n \n {cxt.t(\n 'app.register.acceptTerms1',\n )}{' '}\n \n {cxt.t(\n 'app.register.acceptTerms3',\n )}\n \n \n }\n checked={privacyChecked}\n onChange={({ value }) =>\n setPrivacyChecked(value)\n }\n />\n \n setOlderThan14(value)\n }\n />\n \n \n {cxt.t(\n 'view.signup.olderThan14.desc',\n )}\n \n \n \n \n }\n onClick={(event) => register(event)}\n >\n {cxt.t('sc.register.title')}\n \n \n \n \n {`${cxt.t(\n 'register.alreadyHaveOne',\n )} ${cxt.t(\n 'register.loginHere',\n )}`}\n \n \n \n \n \n \n \n \n );\n}\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgCoffee(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 512,\n viewBox: \"0 0 58 50\",\n width: 512,\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"008---Coffee-and-Croissant\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m33.83 40.21c-1.892073 2.3955152-4.7773898 3.7921118-7.83 3.79h-6c-4.6546788-.00167-8.6926975-3.2146725-9.74-7.75-.1731153-.737469-.26036153-1.4924847-.26-2.25v-17c0-.5522847.4477153-1 1-1h24c.5522847 0 1 .4477153 1 1v12.08z\",\n fill: \"#f3d55b\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m10 19.74c-1.21372112-.5023556-2.51650001-.7540675-3.83-.74-6.17 0-6.17 6.88-6.17 9.47 0 5.26 2.36 8.53 6.17 8.53 1.39634967-.0126171 2.780026-.2663475 4.09-.75l-.26-4.24c-1.18131406.625916-2.49334314.9650567-3.83.99-2.01 0-2.17-3.47-2.17-4.53 0-4.62.73-5.47 2.17-5.47 1.42886643-.0608372 2.81790256.479545 3.83 1.49z\",\n fill: \"#f0c419\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m56.393 22.041c-.558-2.985-1.661-6.672-3.56-5.949-2.536.966-1.578 3.651-1.959 6.424z\",\n fill: \"#a56a43\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m28.744 32.569c-1.352-2.683-2.7-6.275-.806-7 2.536-.966 3.4 1.755 5.354 3.64z\",\n fill: \"#a56a43\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m31 50h-22.95c-2.241 0-4.05-1.34-4.05-3v-2c0-.55.608-1 1.35-1h51.3c.742 0 1.35.45 1.35 1v2c0 1.66-1.809 3-4.05 3z\",\n fill: \"#67b9cc\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#bdc3c7\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m22 12c-.5522847 0-1-.4477153-1-1-.0088131-1.15932949.4275017-2.27785595 1.219-3.125.4999069-.49588303.7810925-1.17086442.7810925-1.875s-.2811856-1.37911697-.7810925-1.875c-.7914983-.84714405-1.2278131-1.96567051-1.219-3.125 0-.55228475.4477153-1 1-1s1 .44771525 1 1c-.0066363.70542797.2755433 1.3828758.781 1.875 1.6253757 1.76631178 1.6253757 4.48368822 0 6.25-.5054567.4921242-.7876363 1.169572-.781 1.875 0 .5522847-.4477153 1-1 1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m16 12c-.5522847 0-1-.4477153-1-1-.0088131-1.15932949.4275017-2.27785595 1.219-3.125.4999069-.49588303.7810925-1.17086442.7810925-1.875s-.2811856-1.37911697-.7810925-1.875c-.7914983-.84714405-1.2278131-1.96567051-1.219-3.125 0-.55228475.4477153-1 1-1s1 .44771525 1 1c-.0066363.70542797.2755433 1.3828758.781 1.875 1.6253757 1.76631178 1.6253757 4.48368822 0 6.25-.5054567.4921242-.7876363 1.169572-.781 1.875 0 .5522847-.4477153 1-1 1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m28 12c-.5522847 0-1-.4477153-1-1-.0088131-1.15932949.4275017-2.27785595 1.219-3.125.4999069-.49588303.7810925-1.17086442.7810925-1.875s-.2811856-1.37911697-.7810925-1.875c-.7914983-.84714405-1.2278131-1.96567051-1.219-3.125 0-.55228475.4477153-1 1-1s1 .44771525 1 1c-.0066363.70542797.2755433 1.3828758.781 1.875 1.6253757 1.76631178 1.6253757 4.48368822 0 6.25-.5054567.4921242-.7876363 1.169572-.781 1.875 0 .5522847-.4477153 1-1 1z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m54.788 35.424h.007c1.2762403-1.7387877 2.2228886-3.6968209 2.793-5.777.4308019-2.0712622.5283616-4.1979954.289-6.3-.0836813-.7520892-.7274394-1.3160283-1.484-1.3-.01 0-.026 0-.044 0-1.8348451.0108724-3.6658085.1700576-5.475.476-.2.031-.4.061-.607.1-.6668656.1205694-1.2139597.5970212-1.425 1.241-.3344817.9603225-.8380827 1.8530545-1.487 2.636z\",\n fill: \"#cb8252\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m37.976 41.826c-2.021662-.4811094-3.928231-1.3572475-5.61-2.578-1.5830577-1.3228614-2.9319347-2.9029744-3.99-4.674-.3771067-.6679421-.2221616-1.5100353.368-2 0-.011.021-.017.034-.031 1.4162581-1.224199 2.9254637-2.3365443 4.514-3.327.173-.112.346-.224.529-.33.5627097-.3561691 1.2802903-.3561691 1.843 0 .8339708.5183146 1.7603134.870447 2.728 1.037z\",\n fill: \"#cb8252\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n d: \"m41.19 44c-.831282-.034678-1.6531535-.189621-2.44-.46-.2681483-.0954662-.4683586-.3221194-.53-.6-.06-.26-.15-.64-.24-1.11-.55-2.87-1.33-9.19 1.32-13.94.0978433-.1741195.2534928-.308544.44-.38l2.57-.98 2.56-.98c.1869938-.0700183.3930062-.0700183.58 0 5.67 2.18 9.05 9.14 9.82 10.89.1197977.2682451.1011331.578076-.05.83-.59 1.02-2.52 3.68-7.42 5.55-1.6665105.6561341-3.4234095 1.0540498-5.21 1.18\",\n fill: \"#cf976a\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCoffee);\nexport default __webpack_public_path__ + \"static/media/coffee.4ad699cd7c77fe685e3593880fd74f46.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport HomeIcon from '@material-ui/icons/Home';\nimport { useHistory } from 'react-router-dom';\nimport { AppContext, SttButton } from '../sporttia/all';\nimport coffeeImage from '../images/coffee.svg';\nimport { getPath } from './Pages';\n\nexport default function Page404(props) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n return (\n \n \n\n

{cxt.t('page404.title')}

\n

{cxt.t('page404.description')}

\n \n }\n onClick={() => history.push(getPath('loadingSporttia'))}\n />\n \n
\n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm7 10c0 4.52-2.98 8.69-7 9.93-4.02-1.24-7-5.41-7-9.93V6.3l7-3.11 7 3.11V11zm-11.59.59L6 13l4 4 8-8-1.41-1.42L10 14.17z\"\n}), 'VerifiedUserOutlined');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 17l5-5-5-5v10z\"\n}), 'ArrowRight');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z\"\n}), 'ChatBubbleOutline');","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Paper,\n Box,\n Button,\n Container,\n Typography,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n Link,\n} from '@material-ui/core';\nimport {\n VerifiedUserOutlined,\n ArrowRight,\n ChatBubbleOutline,\n} from '@material-ui/icons';\nimport { useHistory } from 'react-router-dom';\nimport {\n AppContext,\n SttButton,\n SttButtonAccept,\n SttFormCheck,\n} from '../../sporttia/all';\nimport { getPath } from '../Pages';\n\nexport default function AcceptConditions(props) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [user, setUser] = useState(null);\n const [acceptPrivacy, setAcceptPrivacy] = useState(false);\n const [acceptEmail, setAcceptEmail] = useState(true);\n\n useEffect(() => {\n confirmEmail();\n }, []);\n\n useEffect(() => {\n if (user && user.numSCs > 0) {\n setAcceptPrivacy(true);\n }\n }, [user]);\n\n /**\n * Confirm email\n */\n function confirmEmail() {\n const { id, signature } = props.match.params;\n\n // We've got signature\n if (id && signature) {\n cxt.api('PUT', `/users/${id}/emails/confirmations`, {\n params: {\n signature,\n },\n success: (r) => {\n if (r.user) {\n if (r.user.status === 'ACTIVE') {\n history.replace(getPath('login'));\n } else {\n setUser(r.user);\n }\n }\n },\n });\n\n // Not enough data, go to home\n } else {\n history.replace(getPath('home'));\n }\n }\n\n function proceed() {\n // User accept privay check\n if (acceptPrivacy) {\n const { id, signature } = props.match.params;\n\n cxt.api('PUT', `/users/${id}/confirm`, {\n params: {\n signature,\n commOn: acceptEmail,\n },\n success: (response) => {\n cxt.showMessage('S', cxt.t('confirm.success'));\n setTimeout(() => {\n history.replace(getPath('login'));\n }, 2000);\n },\n });\n\n // Please, check the privacy check\n } else {\n cxt.showMessage('E', cxt.t('register.mustAccept'));\n }\n }\n\n if (!user) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n {cxt.t('page.accept.title').toUpperCase()}\n \n \n \n \n \n {`${cxt.t('Hello')}, `}\n {user.name}\n \n \n \n {cxt.t('page.accept.desc')}\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 \n {cxt.t('Note')}: \n {cxt.t('page.accept.updateCond')}: \n \n {cxt.t('LegalConditions')}.\n \n \n \n {user.numSCs === 0 && (\n \n \n {cxt.t('page.accept.check1')}\n  \n \n {cxt.t('LegalConditions')}\n \n .\n \n }\n checked={acceptPrivacy}\n onChange={({ undefined, value }) =>\n setAcceptPrivacy(value)\n }\n />\n \n )}\n \n \n {cxt.t('page.accept.check2')}{' '}\n \n {cxt.t(\n 'page.accept.check2DescShort',\n )}\n \n .{' '}\n \n {cxt.t(\n 'app.account.notifications.notEnabled3',\n )}\n \n \n }\n checked={acceptEmail}\n onChange={({ undefined, value }) =>\n setAcceptEmail(value)\n }\n />\n \n \n \n \n }\n size=\"small\"\n onClick={() => history.push(getPath('contact'))}\n />\n \n \n \n \n \n );\n}\n\nfunction Separator({}) {\n return ;\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n main: {\n padding: theme.spacing(3),\n color: '#666',\n },\n wrap: {\n userSelect: 'none',\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nexport default function Privacy(props) {\n const classes = useStyles();\n\n return (\n
\n
\n \n

CONDICIONES GENERALES

\n
\n

\n

1. Objeto

\n \n Este Aviso legal regula el uso por los usuarios de las\n páginas web en el sitio web{' '}\n www.sporttia.com {' '}\n (en adelante, el sitio web), propiedad de Social Cloud\n SL, en calle Seúl, 2B CP 41740 Sevilla (España) y con\n CIF B-90061284.

La navegación por el sitio\n web atribuye la condición de usuario e implica la\n aceptación total y sin reservas de este Aviso Legal.\n Social Cloud S.L., a través de su sitio web, brinda a\n los usuarios acceso a ciertos contenidos puestos a\n disposición por Social Cloud S.L. o por proveedores de\n servicios y contenido de terceros. El usuario acepta\n voluntariamente que el uso de estos tiene lugar, en\n cualquier caso, bajo su única y exclusiva\n responsabilidad.

Social Cloud S.L. se\n reserva el derecho de modificar unilateralmente en\n cualquier momento y sin previo aviso, presentación,\n configuración o contenido del sitio web y de este Aviso\n Legal.

Estas modificaciones se\n considerarán válidamente notificadas desde su\n publicación en la web. El usuario acepta leer este Aviso\n legal cada vez que tenga la intención de acceder al\n Aviso del sitio web.

\n
\n\n

2. Obligaciones del usuario

\n \n El usuario se obliga a usar los contenidos de forma\n diligente, correcta, lícita y de conformidad a la Ley y\n al presente Aviso Legal. En particular, se compromete a\n no utilizar los contenidos con una finalidad contraria a\n la Ley, moral u orden público; a no reproducir o copiar,\n no distribuir, no permitir el acceso público, no\n transformar y no modificar ningún tipo de contenido del\n website, a excepción de que cuente con autorización\n expresa y en cualquier tipo de soporte, ya sea físico o\n lógico, de Social Cloud S.L. o con autorización expresa,\n en su caso, del legítimo titular de los derechos sobre\n los contenidos antes mencionados.\n
\n
\n Asimismo el usuario se obliga a no utilizar el diseño y\n el código fuente de las páginas web del website con una\n finalidad contraria a la Ley, moral u orden público.\n
\n
\n
\n\n

3. Acceso y Seguridad

\n \n El acceso a diversos servicios, áreas o recursos\n requiere el registro previo de los usuarios, únicamente\n será posible mediante el registro del usuario. El\n usuario deberá facilitar ciertos datos de carácter\n personal que serán tratados de acuerdo con la finalidad\n y condiciones establecidas en la política de privacidad\n de datos de Social Cloud S.L. La identificación del\n usuario estará compuesta por su dirección de correo\n electrónico y contraseña. Para el acceso a la cuenta\n propia del usuario, será necesaria la identificación del\n usuario y una contraseña elegida por el usuario. El uso\n de la contraseña es personal e intransferible, no\n estando permitida la cesión, ni siquiera temporal, a\n terceros. En tal sentido, el usuario se compromete a\n hacer un uso diligente y a mantener en secreto la misma,\n asumiendo toda responsabilidad por las consecuencias de\n su divulgación a terceros.\n
\n
\n En el supuesto de que le usuario conozca o sospeche del\n uso de su contraseña por terceros, deberá modificar la\n misma de forma inmediata y se compromete a notificar a\n sporttia a la mayor brevedad el uso no autorizado de su\n nombre de usuario y contraseña o cualquier otro fallo en\n la seguridad. www.sporttia.com no será responsable por\n los daños o pérdidas que se pudieran originar debido al\n no cumplimiento de esta obligación.\n
\n
\n
\n\n

4. Propiedad intelectual e industrial

\n \n Todos los contenidos de la web, salvo que se indique lo\n contrario, son titularidad exclusiva del titular de la\n web o de terceros y, con carácter enunciativo, que no\n limitativo, el diseño gráfico, código fuente, logos,\n textos, imágenes, software, gráficos, ilustraciones,\n fotografías y demás elementos que aparecen en la web.\n Igualmente todos los nombres comerciales, marcas o\n signos distintivos de cualquier clase contenidos en la\n web están protegidos por la ley.\n
\n
\n En particular, los usuarios y demás personas que quieran\n explotar, reproducir, distribuir, comunicar públicamente\n y transformar los contenidos incluidos en la website\n deberán realizarlo con la previa autorización de Social\n Cloud S.L., o, en su caso, de su legítimo titular y\n siempre realizando estas actuaciones de buena fe y\n siguiendo las directrices del presente Aviso Legal, así\n como de la Ley, moral y orden público.\n
\n
\n En cualquier caso Social Cloud S.L. se reserva a\n emprender las oportunas acciones legales en caso de\n actos de confusión, engaño, denigración, comparación,\n imitación, explotación de la reputación ajena,\n incorporación de referencias ocultas en sitios de\n Internet perjudiciales para Social Cloud S.L., o\n cualquier otraconducta análoga o similar que perjudique\n sus legítimos derechos de propiedad.\n
\n
\n
\n\n

5. Exclusión de responsabilidad

\n \n Social Cloud S.L. no garantiza la disponibilidad y\n continuidad del funcionamiento del website. Asimismo,\n Social Cloud S.L. tampoco garantiza la utilidad del\n website o de sus contenidos para la realización de\n ninguna actividad en particular. Social Cloud S.L.\n excluye cualquier tipo de responsabilidad por los daños\n y perjuicios de toda naturaleza que puedan deberse a la\n falta de disponibilidad o de continuidad del\n funcionamiento del website o a la defraudación de la\n utilidad que los usuarios hubieren podido atribuir al\n website. En particular, Social Cloud S.L. no asumirá\n ningún tipo de responsabilidad por los posibles fallos\n en el acceso a las distintas páginas del website de su\n propiedad.\n
\n
\n Social Cloud S.L. no controla ni garantiza la ausencia\n de elementos de carácter informático en los contenidos\n del website que puedan producir alteraciones en los\n equipos para el proceso de información de los usuarios o\n en cualquier tipo de archivo almacenado en el mismo.\n Social Cloud S.L. excluye cualquier responsabilidad por\n los daños y perjuicios de toda naturaleza que puedan\n deberse a la presencia de elementos en los contenidos\n del website que puedan provocar alteraciones en los\n equipos para el proceso de información o en los archivos\n informáticos de los usuarios guardados en los mismos.\n
\n
\n Social Cloud S.L. excluye cualquier responsabilidad por\n los daños y perjuicios de toda naturaleza que puedan\n deberse a la transmisión, difusión, almacenamiento,\n puesta disposición, recepción, obtención, acceso o\n cualquier otra conducta análoga o similar a los\n contenidos.\n
\n
\n Social Cloud S.L. no garantiza la veracidad, exactitud,\n exhaustividad y actualidad de los contenidos. Social\n Cloud S.L. excluye cualquier tipo de responsabilidad por\n los daños y perjuicios de toda naturaleza que puedan\n deberse a la falta de veracidad, exactitud,\n exhaustividad y/o actualidad de los contenidos. Social\n Cloud S.L. no concede ninguna licencia o autorización de\n uso de ninguna clase sobre sus derechos de propiedad\n industrial e intelectual o sobre cualquier otra\n propiedad o derecho relacionado con el website, los\n servicios o contenidos.\n
\n
\n
\n\n

\n 6. Obtención del documento sustitutivo de la factura\n

\n \n El usuario de la website podrá acceder a un documento\n justificativo del servicio prestado por Social Cloud\n S.L., o ticket, exclusivamente en la fase de ticket de\n la website, entendiendo con ello cumplidos todos los\n requisitos de emisión y puesta a disposición al usuario\n del ticket.\n
\n
\n Cualquier otro documento al que el usuario tenga acceso,\n y no se encuentre localizado en la fase de ticket de la\n website no supone, a estos efectos, la puesta a\n disposición de un documento sustitutivo de la factura,\n conforme al Real Decreto 1496/2003, de 28 de noviembre,\n por el que se aprueba el reglamento por el que se\n regulan las obligaciones de facturación.\n
\n
\n
\n\n

7. Duración y terminación

\n \n La duración del presente Aviso Legal es indefinida. No\n obstante, Social Cloud S.L. podrá dar por terminada o\n suspender la accesibilidad de cualquiera de los\n contenidos ofrecidos en el website.\n
\n
\n Asimismo, Social Cloud S.L., podrá modificar el\n contenido del presente Aviso Legal en cualquier momento,\n con la finalidad de adecuarlo a futuros cambios\n legislativos o tecnológicos. Estas modificaciones se\n considerará que han sido eficazmente notificadas desde\n su publicación en la web siendo válidas desde ese\n momento.\n
\n
\n
\n\n

8. Ley aplicable, conciliación y jurisdicción

\n \n En caso de conflicto, dificultad o disputa con respecto\n a cualquier material de este Aviso Legal, se someterá a\n la jurisdicción de los Tribunales de Sevilla (España)\n siempre que esto no infrinja la legislación vigente. El\n presente Aviso Legal se regirá e interpretará de\n conformidad con la legislación española.

\n
\n\n

9. Comercio Electrónico

\n \n En cumplimiento del deber de información estipulado en\n el Artículo 10 de la Ley 34/2002, de 11 de julio,\n Servicios de la Sociedad de la Información y de Comercio\n Electrónico (LSSI-CE), Social Cloud S.L. el responsable\n de los contenidos y servicios ofrecidos a través del\n sitio web{' '}\n www.sporttia.com {' '}\n procede a informar los datos de identificación\n requeridos por esa norma: Nombre de la empresa: Social\n Cloud SL Dirección: Calle Seúl, 2B CP 41740 Lebrija -\n Sevilla (España) CIF: B-90061284 Correo electrónico:{' '}\n \n {' '}\n info@sporttia.com{' '}\n {' '}\n

\n
\n\n

10. Protección de datos

\n\n

Confidencialidad

\n \n De conformidad con lo dispuesto en la Ley 34/2002, de 11\n de julio, de Servicios de la Sociedad de la Información\n y de Comercio Electrónico (LSSI-CE), y en la Ley\n Orgánica 15/1999, de 13 de diciembre, de Protección de\n Datos.\n \n\n

Agencia Española de Protección de Datos

\n \n Le informamos que los datos personales que nos\n proporcione a través de varios formularios y/o correos\n electrónicos enviados a este sitio se incorporarán en el\n archivo \"USUARIOS\". Este archivo está registrado en el\n Registro General de la Agencia de Protección de Datos,\n que es responsable, para administrar los servicios que\n los usuarios solicitan a través del sitio web{' '}\n : //www.sporttia.com \">\n {' '}\n www.sporttia.com{' '}\n \n , así como el posible envío de información comercial o\n actividades promocionales que puedan ser de su interés.\n Al enviar sus datos personales a través del formulario,\n usted da su consentimiento expreso para el procesamiento\n y la documentación de los datos en los términos de la\n Ley 15/1999, de 13 de diciembre (LOPD) y el Real Decreto\n 1720/2007, de 21 de diciembre.
\n
\n\n

Datos de terceras personas

\n \n En el supuesto de que el usuario facilite datos de\n carácter personal de terceros, en cumplimiento de lo\n dispuesto en el artículo 5.4 de la Ley Orgánica 15/1999,\n de 13 de diciembre, de Protección de Datos de Carácter\n Personal, declara contar con el consentimiento previo y\n expreso de los mismos e informándoles a dichos terceros,\n del contenido de los datos facilitados, de la\n procedencia de los mismos, de la existencia y finalidad\n del fichero donde se contienen sus datos, de la\n posibilidad de ejercitar los derechos de acceso,\n rectificación, cancelación y oposición y así como los\n términos establecidos en la presente política de\n protección de datos.\n \n\n

Veracidad de los datos

\n \n El hecho de enviar datos personales implica que el\n usuario reconoce que la información y los datos\n personales que nos proporciona son verídicos, suyos,\n exactos, ciertos y comprometiéndose a no introducir\n datos falsos y a proceder a la modificación de los\n mismos si fuera necesario.\n \n\n

\n Envío de datos personales mediante formularios y correos\n

\n \n El envío de correos electrónicos o la cumplimentación de\n formularios incluidos en el presente sitio web para\n formalizar los servicios que se ofrecen a través de\n sporttia.com y solicitan los usuarios como alquiler y\n reservas de instalaciones deportivas, inscripciones en\n escuelas deportivas, torneos, participación en la red\n social, etc., implica el consentimiento libre,\n inequívoco, específico, informado y expreso del usuario\n a la inclusión de sus datos de carácter personal en un\n fichero denominado \"usuarios\"y da su consentimiento a\n que sus datos sean utilizados para el envío de\n información comercial o promociones de actividades\n relacionadas con la prestación, mejora y actualizaciones\n de los servicios prestados que puedan ser de su interés.\n La falta de cumplimentación de los campos determinados\n como obligatorios o el suministro de datos incorrectos\n imposibilitará que www.sporttia.com pueda prestarle los\n servicios que seleccione, gestionar su solicitud o\n remitirle la información solicitada.\n \n\n

Consentimiento del usuario

\n \n Al facilitar sus datos personales a www.sporttia.com,\n los usuarios estarán dando su consentimiento libre,\n inequívoco, específico, informado y expreso para el\n tratamiento de sus datos personales con la finalidad\n establecida en el punto anterior, datos que serán\n incorporados a un fichero denominado \"usuarios\". El\n usuario, en cualquier momento podrá ejercitar los\n derechos de acceso, rectificación, cancelación y\n oposición, comunicándolo a www.sporttia.com, a las\n direcciones anteriormente indicadas.\n
\n
\n Social Cloud S.L. informa que en esta política de\n privacidad se contienen todos los aspectos relacionados\n con el tratamiento de datos personales que\n www.sporttia.com lleva a cabo como responsable del\n mismo. Así, se informa que cuando el usuario no mantenga\n relaciones comerciales con www.sporttia.com y realice el\n envío de un correo electrónico, dicho usuario está dando\n su consentimiento libre, inequívoco, específico,\n informado y expreso para el tratamiento de sus datos\n personales a www.sporttia.com con las finalidades\n establecidas anteriormente, así como atender su\n comunicación o enviar documentación.\n
\n\n

Seguridad

\n \n www.sporttia.com ha adaptado los niveles de seguridad de\n protección de datos personales exigidos por el\n Reglamento de desarrollo de la Ley Orgánica 15/1999, de\n protección de datos personales (Real Decreto 1720/2007).\n \n\n

Uso de cookies

\n \n www.sporttia.com puede usar cookies cuando un usuario\n navega por sus sitios web y páginas web.\n \n
\n
\n
\n
\n \n Equipo de Sporttia.com\n \n

\n
\n
\n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8z\"\n}), 'Security');","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Grid,\n Box,\n Paper,\n Table,\n TableContent,\n TableRow,\n TableCell,\n TableContainer,\n TableHead,\n TableBody,\n} from '@material-ui/core';\nimport {\n AppContext,\n SttFullDialog,\n SttFormTextarea,\n} from '../../../sporttia/all';\n\nexport default function ApiModelDialog({ idModel, onClose }) {\n const cxt = useContext(AppContext);\n const [model, setModel] = useState();\n\n /**\n * Load model\n */\n const loadModel = () => {\n cxt.api('GET', `/apis/models/${idModel}`, {\n success: (r) => {\n setModel(r.apiModel);\n },\n });\n };\n\n /**\n * Id model changes\n */\n useEffect(() => {\n if (idModel) loadModel();\n }, [idModel]);\n\n // -----| Render |-----\n return (\n \n \n {model && (\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n {cxt.t('Name')}\n \n \n {cxt.t('Description')}\n \n \n {cxt.t('Type')}\n \n \n \n\n \n {model.properties &&\n model.properties.rows.map(\n (prop) => (\n \n \n \n {\n prop.name\n }\n \n \n \n {\n prop.description\n }\n \n \n {prop.type}\n \n \n ),\n )}\n \n
\n
\n
\n
\n
\n
\n )}\n
\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Container,\n Box,\n Grid,\n Paper,\n TableContainer,\n TableRow,\n TableHead,\n TableCell,\n Table,\n TableBody,\n} from '@material-ui/core';\nimport DoneIcon from '@material-ui/icons/Done';\nimport {\n AppContext,\n SttFormSelect,\n SttList,\n SttFormText,\n SttTabs,\n} from '../../../sporttia/all';\nimport ApiModelDialog from './ApiModelDialog';\n\nexport default function Apis({}) {\n // Methods\n const methods = ['GET', 'POST', 'PUT', 'DELETE'];\n\n const cxt = useContext(AppContext);\n // const history = useHistory();\n const [apis, setApis] = useState();\n const [versions, setVersions] = useState([]);\n const [filter, setFilter] = useState({});\n const [selectedApi, setSelectedApi] = useState();\n const [categories, setCategories] = useState([]);\n const [models, setModels] = useState([]);\n const [openModel, setOpenModel] = useState(null);\n\n /**\n * Load API's\n */\n const loadApis = () => {\n cxt.api('GET', '/apis', {\n params: {\n idVersion: filter.version.id,\n page: 1,\n rows: 1000,\n },\n success: (r) => {\n setApis(r);\n\n // Set first one\n selectApi(r.rows[0]);\n\n // Build category list\n const auxCats = [];\n r.rows.forEach((api) => {\n if (!auxCats.includes(api.category))\n auxCats.push(api.category);\n });\n auxCats.forEach((cat) => {\n categories.push({\n value: cat,\n caption: cat,\n });\n });\n },\n });\n };\n\n /**\n * Load versions\n */\n const loadVersions = () => {\n cxt.api('GET', '/apis/versions', {\n success: (r) => {\n setVersions(r.rows);\n\n // Set actual version\n // setFilter({version: r.rows[0]})\n setFilter({\n endpoint: '',\n method: 'GET',\n version: r.rows.find((e) => e.code == 'v6'),\n });\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setFilter({ ...filter, [name]: value });\n };\n\n /**\n * Actual version changes, load apis\n */\n useEffect(() => {\n if (filter.version) {\n loadApis();\n\n // Load all models\n cxt.api('GET', '/apis/models', {\n params: { version: filter.version.id },\n success(r) {\n setModels(r);\n },\n });\n }\n }, [filter.version]);\n\n /**\n * Init\n */\n useEffect(() => {\n cxt.setHeader({\n title: \"API's\",\n });\n\n // Load versions\n loadVersions();\n\n setFilter({\n version: null,\n endpoint: '',\n method: 'GET',\n });\n }, []);\n\n /**\n * On select version\n */\n const onSelectVersion = ({ name, value }) => {\n setFilter({\n version: versions.find((e) => e.id == value),\n });\n };\n\n /**\n * On open model\n */\n const onOpenModel = (model) => {\n setOpenModel(model);\n };\n\n /**\n * Select API\n */\n const selectApi = (api) => {\n cxt.api('GET', `/apis/${api.id}`, {\n success: (r) => {\n setSelectedApi(r.api);\n },\n });\n };\n\n // -----| Render |-----\n return (\n \n

Sporttia API documentation

\n\n \n \n \n {filter && (\n \n ({\n caption: version.code,\n value: version.id,\n }))}\n />\n\n \n\n ({\n caption: m,\n value: m,\n }))}\n />\n\n \n \n )}\n\n {apis && (\n \n \n {apis && (\n \n filter.method ==\n api.method,\n )\n .filter(\n (api) =>\n api.endpoint.indexOf(\n filter.endpoint,\n ) != -1,\n )\n .filter(\n (api) =>\n !filter.category ||\n api.category ==\n filter.category,\n )\n .map((api) => ({\n caption: `${api.method} ${api.endpoint}`,\n text: api.name,\n objToSelect: api,\n selected:\n selectedApi &&\n selectedApi.id ==\n api.id,\n }))}\n />\n )}\n \n\n {selectedApi && (\n \n

{selectedApi.endpoint}

\n

{selectedApi.description}

\n\n \n ),\n },\n {\n caption: cxt.t('Responses'),\n component: (\n \n ),\n },\n ]}\n />\n
\n )}\n
\n )}\n
\n
\n
\n\n setOpenModel(null)}\n />\n
\n );\n}\n\nfunction ApisParameters({ selectedApi, models, onOpenModel }) {\n const cxt = useContext(AppContext);\n\n return (\n \n \n \n \n {cxt.t('Name')}\n {cxt.t('Description')}\n {cxt.t('Type')}\n {cxt.t('Mandatory')}\n \n \n \n {selectedApi &&\n selectedApi.parameters &&\n selectedApi.parameters.rows.map((param) => (\n \n \n {param.name}\n \n \n {param.description}\n \n \n \n \n \n {param.madatory ? : null}\n \n \n ))}\n \n
\n
\n );\n}\n\nfunction ApisResponses({ selectedApi, models, onOpenModel }) {\n const cxt = useContext(AppContext);\n\n return (\n \n \n \n \n {cxt.t('Name')}\n {cxt.t('Description')}\n {cxt.t('Type')}\n \n \n \n {selectedApi &&\n selectedApi.responses &&\n selectedApi.responses.rows.map((resp) => (\n \n \n {resp.name}\n \n \n {resp.description}\n \n \n \n \n \n ))}\n \n
\n
\n );\n}\n\nfunction ApisModel({ modelName, models, onOpenModel }) {\n const [model, setModel] = useState();\n\n useEffect(() => {\n if (modelName && models) {\n setModel(\n models.rows.find((m) => m.name == modelName.replace('[]', '')),\n );\n }\n }, [modelName, models]);\n\n return (\n <>\n {model ? (\n onOpenModel(model)}>{modelName}\n ) : (\n modelName\n )}\n \n );\n}\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgUnderConstruction(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n enableBackground: \"new 0 0 512 512\",\n height: 512,\n viewBox: \"0 0 512 512\",\n width: 512,\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m397.589 370.073h-283.178c-4.204 0-7.611-3.408-7.611-7.611 0-4.204 3.408-7.612 7.611-7.612h283.178c4.204 0 7.611 3.408 7.611 7.612.001 4.203-3.407 7.611-7.611 7.611z\",\n fill: \"#7e5352\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#94615f\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m358.921 151.132 45 358.038c.203 1.617 1.578 2.83 3.208 2.83h46.637c1.946 0 3.451-1.706 3.208-3.636l-44.899-357.231h-53.154z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m153.079 151.132-45 358.038c-.203 1.617-1.578 2.83-3.208 2.83h-46.637c-1.946 0-3.451-1.706-3.208-3.636l44.899-357.231h53.154z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#7e5352\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m416.851 189.132h-53.154l2.832 22.534h53.154z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m92.317 211.666h53.154l2.832-22.534h-53.154z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#7e5352\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m432.384 312.719h-53.154l2.832 22.534h53.154z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m76.784 335.253h53.154l2.832-22.534h-53.154z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m467.599 122.588v64.049c0 .624-.225 1.198-.611 1.635-.462.524-1.136.861-1.884.861h-418.207c-1.385 0-2.496-1.123-2.496-2.496v-64.049c0-.624.225-1.198.611-1.647.462-.524 1.136-.849 1.884-.849h418.207c1.385 0 2.496 1.111 2.496 2.496z\",\n fill: \"#fad448\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m465.103 168.683h-418.206c-1.385 0-2.496-1.123-2.496-2.496v20.449c0 1.373 1.111 2.496 2.496 2.496h418.207c.749 0 1.422-.337 1.884-.861.387-.437.611-1.011.611-1.635v-20.449c0 .624-.225 1.198-.611 1.635-.462.524-1.136.861-1.885.861z\",\n fill: \"#e2b93e\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#7d8c97\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m142.801 189.132h-48.963l-48.826-68.191c.462-.524 1.136-.849 1.884-.849h46.467z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m251.072 189.132h-48.967l-49.443-69.044h48.967z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m359.338 189.132h-48.967l-49.443-69.044h48.967z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m466.987 188.271c-.462.524-1.136.861-1.884.861h-46.467l-49.437-69.04h48.963z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m142.801 189.132h-48.963l-48.826-68.191c.462-.524 1.136-.849 1.884-.849h46.467zm58.828-69.044h-48.967l49.442 69.044h48.967zm108.266 0h-48.967l49.442 69.044h48.967zm108.267.004h-48.963l49.437 69.04h46.467c.749 0 1.422-.337 1.884-.861z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#5c6c75\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m187.461 168.683 14.644 20.449h48.967l-14.644-20.449z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m79.197 168.683 14.641 20.449h48.963l-14.642-20.449z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m295.728 168.683 14.643 20.449h48.967l-14.643-20.449z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m452.96 168.683h-48.967l14.643 20.449h46.467c.561 0 1.081-.189 1.5-.505.14-.105.269-.225.384-.356z\"\n }))), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m467.599 246.174v64.049c0 .624-.225 1.198-.611 1.635-.462.524-1.136.861-1.884.861h-418.207c-1.385 0-2.496-1.123-2.496-2.496v-64.049c0-.624.225-1.198.611-1.647.462-.524 1.136-.849 1.884-.849h418.207c1.385.001 2.496 1.112 2.496 2.496z\",\n fill: \"#fad448\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m465.103 292.27h-418.206c-1.385 0-2.496-1.123-2.496-2.496v20.449c0 1.373 1.111 2.496 2.496 2.496h418.207c.749 0 1.422-.337 1.884-.861.387-.437.611-1.011.611-1.635v-20.449c0 .624-.225 1.198-.611 1.635-.462.524-1.136.861-1.885.861z\",\n fill: \"#e2b93e\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#7d8c97\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m142.801 312.719h-48.963l-48.826-68.191c.462-.524 1.136-.849 1.884-.849h46.467z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m251.072 312.719h-48.967l-49.443-69.044h48.967z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m359.338 312.719h-48.967l-49.443-69.044h48.967z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m466.987 311.858c-.462.524-1.136.861-1.884.861h-46.467l-49.437-69.04h48.963z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m142.801 312.719h-48.963l-48.826-68.191c.462-.524 1.136-.849 1.884-.849h46.467zm58.828-69.044h-48.967l49.442 69.044h48.967zm108.266 0h-48.967l49.442 69.044h48.967zm108.267.004h-48.963l49.437 69.04h46.467c.749 0 1.422-.337 1.884-.861z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#5c6c75\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m187.461 292.27 14.644 20.449h48.967l-14.644-20.449z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m79.197 292.27 14.641 20.449h48.963l-14.642-20.449z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m295.728 292.27 14.643 20.449h48.967l-14.643-20.449z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m452.96 292.27h-48.967l14.643 20.449h46.467c.561 0 1.081-.189 1.5-.505.14-.105.269-.225.384-.356z\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m109.101 60.062h32.769v60.026h-32.769z\",\n fill: \"#d7e3f2\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 125.485,\n cy: 45.513,\n fill: \"#d54954\",\n r: 37.902\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m125.485 91.026c-25.096 0-45.513-20.417-45.513-45.513s20.417-45.513 45.513-45.513 45.513 20.417 45.513 45.513-20.417 45.513-45.513 45.513zm0-75.803c-16.702 0-30.29 13.588-30.29 30.29s13.588 30.29 30.29 30.29 30.29-13.588 30.29-30.29-13.588-30.29-30.29-30.29z\",\n fill: \"#fad448\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m370.13 60.062h32.769v60.026h-32.769z\",\n fill: \"#d7e3f2\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 386.515,\n cy: 45.513,\n fill: \"#d54954\",\n r: 37.902\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m386.515 91.026c-25.096 0-45.513-20.417-45.513-45.513s20.417-45.513 45.513-45.513 45.513 20.417 45.513 45.513-20.417 45.513-45.513 45.513zm0-75.803c-16.702 0-30.29 13.588-30.29 30.29s13.588 30.29 30.29 30.29 30.29-13.588 30.29-30.29-13.588-30.29-30.29-30.29z\",\n fill: \"#fad448\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnderConstruction);\nexport default __webpack_public_path__ + \"static/media/underConstruction.c7bb3bf799d7adef5bc773892476bd8b.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Grid,\n ButtonGroup,\n Button,\n IconButton,\n Tabs,\n Tab,\n useMediaQuery,\n useTheme,\n} from '@material-ui/core';\nimport moment from 'moment';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport CachedIcon from '@material-ui/icons/Cached';\nimport RotateLeftIcon from '@material-ui/icons/RotateLeft';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport {\n AppContext,\n SttFormSelect,\n SttMenu,\n SttButtonDate,\n} from '../../../sporttia/all';\n\n/**\n * Timetable controls\n * ==================\n */\nexport default function TimetableControls({\n sc,\n date,\n loadTimetable,\n onChange, // onChange({facilityGroups, date, coeff})\n facilityGroupId,\n coeffs,\n isWeekly,\n toggleWeekly,\n}) {\n const cxt = useContext(AppContext);\n // const [coeff, setCoeff] = useState(0);\n const [facilityGroups, setFacilityGroups] = useState();\n const [weekdayTabValue, setWeekTabValue] = useState(0);\n const theme = useTheme();\n const xsDown = useMediaQuery(theme.breakpoints.down('xs'));\n\n /**\n * Load facility groups\n */\n const loadFacilityGroups = () => {\n cxt.api('GET', `/scs/${sc.id}/facilitysets`, {\n params: { rows: 1000, status: 'ACTIVE' },\n success: (r) => {\n const filteredEmptyFacilities = { count: 0, rows: [] };\n filteredEmptyFacilities.rows = r.rows.filter(\n (group) => group.facilities.count > 0,\n );\n filteredEmptyFacilities.count =\n filteredEmptyFacilities.rows.length;\n const groupList = filteredEmptyFacilities.rows.map((group) => ({\n value: group.id,\n caption: group.name,\n }));\n\n setFacilityGroups([\n {\n value: -1,\n caption: cxt.t('All'),\n },\n ...groupList,\n ]);\n\n // Set first group if this exists\n onChange({\n facilityGroupId: r.rows.length > 1 ? r.rows[0].id : -1,\n });\n },\n });\n };\n\n /**\n * Get menu items\n */\n const getMenuItems = () => {\n // Init items\n let items = [\n {\n caption: isWeekly ? cxt.t('Day') : cxt.t('Week'),\n onClick: () => toggleWeekly(),\n },\n ];\n\n // Add coeffs\n items = [\n ...items,\n ...coeffs.map((coeff, idx) => ({\n caption: coeff.name,\n onClick: () => onChange({ coeff: coeff.id }),\n divider: idx === 0,\n })),\n ];\n\n return items;\n };\n\n /**\n * On change weekday tab\n */\n const onChangeWeekday = (newWeekdayTabValue) => {\n // Change date\n // onChange({date: weekdays[newWeekdayTabValue].ymd})\n onChange({\n date: moment(date).weekday(newWeekdayTabValue).format('YYYY-MM-DD'),\n });\n };\n\n /**\n * Date changes\n */\n useEffect(() => {\n setWeekTabValue(moment(date).weekday());\n }, [date]);\n\n /**\n * Init\n */\n useEffect(() => {\n loadFacilityGroups();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // coeffs[coeff].width\n return (\n \n \n \n {facilityGroups && (\n \n onChange({ facilityGroupId: value })\n }\n options={facilityGroups}\n />\n )}\n \n\n \n \n \n \n onChange({\n date: moment().format('YYYY-MM-DD'),\n })\n }\n >\n \n  \n {cxt.t('Today')}\n \n onChange({ date: dated })}\n />\n \n \n\n \n items={getMenuItems()} />\n \n \n\n {!isWeekly && (\n \n \n \n onChange({\n date: moment(date)\n .subtract(1, 'week')\n .format('YYYY-MM-DD'),\n })\n }\n >\n \n \n \n\n \n onChangeWeekday(value)}\n >\n {[0, 1, 2, 3, 4, 5, 6].map((wd) => (\n \n ))}\n \n \n\n \n \n onChange({\n date: moment(date)\n .add(1, 'week')\n .format('YYYY-MM-DD'),\n })\n }\n >\n \n \n \n \n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Button } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport { AppContext, SttDialog } from '../../../sporttia/all';\nimport {\n formatPriceByLocale,\n isPaymentFormWithGateway,\n} from '../../../lib/utils';\nimport useScsService from '../../../services/ScsService';\nimport constants from '../../../config/constants';\n\nexport default function BookingOperate({\n open = false,\n staticMsg,\n mship,\n fares,\n rateType,\n onClose,\n onBook,\n sc,\n finalPrice,\n}) {\n const cxt = useContext(AppContext);\n const scsService = useScsService();\n\n const [boletos, setBoletos] = useState();\n const [pfsToShow, setPfsToShow] = useState([]);\n const [SCPrivileges, setSCPrivileges] = useState([]);\n const [openTermsAndConditions, setOpenTermsAndConditions] = useState(false);\n const [paymentMethodSelected, setPaymentMethodSelected] = useState(null);\n\n const CASHDRO = cxt?.sc?.cashdroConnected;\n\n const sportcenterPrivilegesQuery = scsService.useGetSportcenterPrivileges(\n sc?.id,\n );\n scsService.useGetScTpvConfs(\n sc?.id,\n {},\n {\n onSuccess(response) {\n const hasZitycard = response.rows.some(\n (tpv) => tpv.bank === constants.tpvConf.banks.zitycard.name,\n );\n\n if (hasZitycard) {\n setPfsToShow([\n ...pfsToShow,\n constants.payment.paymentForms.zitycard.name,\n ]);\n }\n },\n },\n );\n\n const selectTpvMethod = (pf) => {\n if (sc?.termsAndConditions) {\n setOpenTermsAndConditions(true);\n setPaymentMethodSelected(pf.id);\n } else {\n onBook({ paymentForm: pf.id });\n }\n };\n\n /**\n * Get sport centers privileges data\n */\n useEffect(() => {\n if (\n cxt.user.role === cxt.constants.roleUser ||\n cxt.user.role === cxt.constants.roleTeacher\n ) {\n if (sc) {\n cxt.api('GET', `/scs/${sc.id}/me`, {\n success: (r) => {\n if (r.mship && r.mship.privileges)\n setSCPrivileges(r.mship.privileges);\n },\n });\n }\n } else {\n setSCPrivileges(\n sportcenterPrivilegesQuery?.data?.rows?.map(\n (privilege) => privilege?.active && privilege?.id,\n ),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sc, sportcenterPrivilegesQuery?.data]);\n\n /**\n * DATOS:\n * - Privilegio 13: Permite pago online.\n * - Privilegio 6: PENDIENTE\n * - Privilegio 26: MONEDERO\n * - Privilegio 27: TPV\n */\n\n /**\n * Set payments to show\n */\n useEffect(() => {\n if (\n cxt.user.role === cxt.constants.roleUser ||\n cxt.user.role === cxt.constants.roleTeacher\n ) {\n const options = [];\n\n if (SCPrivileges.includes(6)) {\n options.push('');\n }\n if (SCPrivileges.includes(26)) {\n options.push('PURSE');\n }\n if (SCPrivileges.includes(27)) {\n options.push('TPV');\n }\n setPfsToShow([...pfsToShow, ...options]);\n } else if (cxt.user.role === cxt.constants.roleSC) {\n const options = ['', 'CASH', 'BANK', 'FREE'];\n if (cxt.sc?.dataphoneConnected) {\n options.push('DATAFONO_CONNECTED');\n } else {\n options.push('DATAFONO');\n }\n if (SCPrivileges?.includes(26)) {\n options.push('PURSE');\n }\n\n if (CASHDRO) {\n options.push('CASHDRO');\n }\n setPfsToShow([...pfsToShow, ...options]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cxt.user.role,\n SCPrivileges,\n mship,\n sportcenterPrivilegesQuery.data,\n finalPrice,\n ]);\n\n /**\n * fares or rateType change -> set boletos\n */\n useEffect(() => {\n if (fares && rateType) {\n if (rateType === cxt.constants.RT_Complete) {\n setBoletos(fares.fullBonos);\n } else {\n setBoletos(fares.individualBonos);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fares, rateType]);\n\n // Render\n return (\n <>\n \n {staticMsg && (\n \n \n {staticMsg}\n \n \n )}\n\n <>\n {cxt.constants.paymentForms\n .filter((pf) => pfsToShow.includes(pf.id))\n .map((pf) => (\n \n {\n if (\n isPaymentFormWithGateway(\n pf.id,\n )\n ) {\n selectTpvMethod(pf);\n } else {\n onBook({\n paymentForm: pf.id,\n });\n }\n }}\n >\n {pf.label}\n {mship && pf.id === 'PURSE' && (\n \n   [{' '}\n {formatPriceByLocale(\n mship?.amount,\n mship?.amountShape\n ?.currency,\n mship?.amountShape\n ?.locale,\n )}{' '}\n ]{' '}\n \n )}\n \n \n ))}\n\n {boletos && (\n \n {boletos.map((boleto) => (\n \n \n onBook({\n idBoleto: boleto.id,\n })\n }\n >\n {boleto.bono.name} [{' '}\n {boleto.amount -\n boleto.consumed}{' '}\n ]\n \n \n ))}\n \n )}\n \n \n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n\n setOpenTermsAndConditions(false)}\n content={\n \n }\n buttons={[\n {\n type: 'accept',\n onClick: () =>\n onBook({ paymentForm: paymentMethodSelected }),\n },\n {\n type: 'close',\n onClick: () => setOpenTermsAndConditions(false),\n },\n ]}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport { AppContext } from '../../../sporttia/all';\n\nexport default function BookingSectionMessages({ bookingPrivilege, sc }) {\n const cxt = useContext(AppContext);\n\n return (\n \n {cxt.logged && !bookingPrivilege && (\n \n {cxt.t('page.user.booking.IDontHaveRentPrivilege')}\n \n )}\n\n {!sc.modules.includes('booking') && (\n \n {cxt.t('page.user.booking.SCNoBookingMod')}\n \n )}\n\n {!cxt.logged && (\n \n {cxt.t('page.booking.mustLogin')}\n \n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Paper, Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttLabelForm,\n SttFormTextarea,\n SttFormText,\n SttFormSelect,\n} from '../../../sporttia/all';\n\n/**\n * FIRST STAGE: user\n */\nexport default function BookingSectionMainData({\n ImSCOwner,\n sc,\n piece,\n column,\n notes,\n timeini,\n timeend,\n onChangeTimeini,\n onChangeTimeend,\n onChangeNotes,\n}) {\n const cxt = useContext(AppContext);\n\n return (\n \n \n \n \n \n\n \n\n {cxt.user.role == cxt.constants.roleSC && (\n onChangeNotes(value)}\n />\n )}\n\n {column && (\n <>\n \n onChangeTimeini(value)\n }\n options={column.pieces.map((piece) => ({\n caption: moment(piece.ini).format(\n 'H:mm',\n ),\n value: piece.ini,\n }))}\n />\n\n \n onChangeTimeend(value)\n }\n options={column.pieces.map((piece) => ({\n caption: moment(piece.end).format(\n 'H:mm',\n ),\n value: piece.end,\n }))}\n />\n \n )}\n \n \n \n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutline');","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, List, ListItem, Chip } from '@material-ui/core';\nimport moment from 'moment';\nimport { AppContext, SttDialog, SttList } from '../../../sporttia/all';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\n/**\n *\n *\tProps\n *\n *\t* onSelect({rate,boleto})\n */\nexport default function BookingSelectRateDialog({\n open = false,\n fares,\n rateType,\n onClose,\n onSelect,\n occupants,\n}) {\n const cxt = useContext(AppContext);\n const [rates, setRates] = useState();\n const [boletos, setBoletos] = useState();\n\n /**\n * Set rates\n */\n useEffect(() => {\n if (fares) {\n if (rateType === cxt.constants.RT_Individual) {\n setRates(fares.individualRates);\n setBoletos(fares.individualBonos);\n } else {\n setRates(fares.fullRates);\n setBoletos(fares.fullBonos);\n }\n } else {\n setRates(null);\n setBoletos(null);\n }\n }, [fares, rateType]);\n\n /**\n * Select rate / boleto\n */\n const selectRateBoleto = (p) => {\n onSelect(p);\n onClose();\n };\n\n // Render\n return (\n \n {boletos && (\n \n \n selectRateBoleto({ boleto })\n }\n numRows={3}\n data={boletos.map((boleto) => ({\n caption: `${boleto.bono.name} [ ${boleto.consumed} / ${boleto.amount} ]`,\n objToSelect: boleto,\n }))}\n />\n \n )}\n\n {rates && (\n selectRateBoleto({ rate })}\n numRows={3}\n data={rates.map((rate) => ({\n caption: (\n <>\n {rate &&\n rate.prices &&\n rate.prices.map(\n (price, idxPrice) => (\n \n ),\n )}\n \n ),\n objToSelect: rate,\n }))}\n />\n )}\n \n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Grid,\n Paper,\n List,\n ListItem,\n ListItemText,\n ListItemIcon,\n Box,\n ListItemSecondaryAction,\n IconButton,\n} from '@material-ui/core';\nimport AddIcon from '@material-ui/icons/Add';\nimport PersonAddIcon from '@material-ui/icons/PersonAdd';\nimport { AppContext, SttDialog, SttFormText } from '../../../sporttia/all';\nimport { updateElementInArray, subsetObject } from '../../../lib/utils';\n\nexport default function BookingSelectPupilsDialog({\n open = false,\n occupants,\n sc,\n onClose,\n onAddOccupant,\n}) {\n const cxt = useContext(AppContext);\n const [allPupils, setAllPupils] = useState();\n const [availableUsers, setAvailableUsers] = useState();\n const [newUser, setNewUser] = useState({});\n\n /**\n * Load pupils\n */\n const loadPupils = () => {\n cxt.api('GET', `/scs/${sc.id}/pupils`, {\n params: {\n page: 1,\n rows: 100,\n },\n success: (r) => {\n setAllPupils(r.rows);\n },\n });\n };\n\n /**\n * Generate available users\n */\n useEffect(() => {\n if (allPupils) {\n const allPeople = [\n {\n ...subsetObject(cxt.user, 'id,name,fullName'),\n checked: false,\n },\n ...allPupils.map((pupil) => ({ ...pupil, checked: false })),\n ];\n\n // Only show who is not already in the booking\n setAvailableUsers(\n allPeople.filter(\n (user) =>\n user &&\n user.id &&\n !occupants.find(\n (occupant) =>\n occupant.user && occupant.user.id == user.id,\n ),\n ),\n );\n }\n }, [occupants, allPupils]);\n\n /**\n * Init\n */\n useEffect(() => {\n if (sc) loadPupils();\n }, [sc]);\n\n /**\n * Handle new user\n */\n const handleNewUser = ({ name, value }) => {\n setNewUser({ ...newUser, [name]: value });\n };\n\n /**\n * Create pupil\n */\n const createPupil = () => {\n cxt.api('POST', `/my/scs/${sc.id}/pupils`, {\n params: newUser,\n success: (r) => {\n cxt.showMessage('S', cxt.t('Created'));\n\n // Add user to the booking\n onAddOccupant({\n name: r.user.fullName,\n user: r.user,\n });\n\n // Clear new user\n setNewUser({});\n },\n });\n };\n\n // -----| Render |-----\n return (\n \n {availableUsers && availableUsers.length > 0 && (\n \n \n {availableUsers.map((user, idxUser) => (\n \n \n\n \n {\n onAddOccupant({\n name: user.fullName,\n user,\n });\n cxt.showMessage(\n 'S',\n cxt.t('Added'),\n );\n }}\n >\n \n \n \n \n ))}\n \n \n )}\n\n {cxt.t('booking.youCanAddNoRegistered')}\n \n \n \n\n \n\n \n \n \n \n }\n buttons={[\n {\n caption: cxt.t('AddUser'),\n icon: ,\n onClick: () => createPupil(),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","// Rates & boletos\nimport { useContext } from 'react';\nimport { Box, Chip } from '@material-ui/core';\nimport React from 'react';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function RateAndBoletos({ occupant }) {\n const cxt = useContext(AppContext);\n\n return (\n <>\n \n {cxt.t('Rate')} / {cxt.t('Bono')}\n \n\n {occupant.fares ? (\n \n {/* --- Rate --- */}\n {occupant.selectedRate &&\n occupant.selectedRate.prices.map((price, idxPrice) => (\n \n ))}\n\n {/* --- Boleto --- */}\n {occupant.selectedBoleto && (\n \n )}\n \n ) : (\n {cxt.t('RateNotSelected')}\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Paper,\n Avatar,\n Grid,\n Hidden,\n Typography,\n} from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport { PersonOutline, Add, Close, Euro } from '@material-ui/icons';\nimport {\n AppContext,\n SttButton,\n SttSelectMshipDialog,\n SttFormSwitch,\n} from '../../../sporttia/all';\nimport {\n deleteElementFromArray,\n updateElementInArray,\n formatPriceByLocale,\n} from '../../../lib/utils';\nimport BookingSelectRateDialog from './BookingSelectRateDialog';\nimport BookingSelectPupilsDialog from './BookingSelectPupilsDialog';\nimport RateAndBoletos from './RateAndBoletos';\nimport constants from '../../../config/constants';\n/**\n *\tSelecting the occupants\n *\t-----------------------\n *\n *\tWe've got the next scenario:\n *\n *\t\t1) I'm user and it's a capacity booking -> checklist\n *\t\t2) I'm user and it's NOT a capacity booking -> just a SttFormText with my name\n *\t\t3) I'm sports center and it's a capacity booking -> SttList with selected users\n *\t\t4) I'm sports center and it's NOT a capacity booking -> SttSelectMship\n *\n */\n\nconst Scenarios = {\n USER_CAPACITY: 1,\n USER_NO_CAPACITY: 2,\n SC_CAPACITY: 3,\n SC_NO_CAPACITY: 4,\n};\n\nexport default function BookingSectionOccupants({\n timeini,\n timeend,\n piece,\n column,\n rateType,\n setRateType,\n sc,\n ImSCOwner,\n occupants,\n setOccupants,\n}) {\n const cxt = useContext(AppContext);\n const [scenario, setScenario] = useState(0);\n\n const [occupantMshipSelecting, setOccupantMshipSelecting] = useState(null);\n const [openSelectingRateOccupant, setOpenSelectingRateOccupant] =\n useState(null);\n const [openPupilsDialog, setOpenPupilsDialog] = useState(false);\n\n const isUserOrTeacher =\n cxt.user.role === constants.roles.user ||\n cxt.user.role === constants.roles.teacher;\n\n useEffect(() => {\n if (occupants) {\n // For each of the two rate types, we check if each user has rates of the appropriate type and set it to null otherwise\n let ratesKey;\n let altRatesKey;\n if (rateType === cxt.constants.RT_Individual) {\n ratesKey = 'individualBonos';\n altRatesKey = 'individualRates';\n } else if (rateType === cxt.constants.RT_Complete) {\n ratesKey = 'fullBonos';\n altRatesKey = 'fullRates';\n }\n\n // fullBonos, individualBonos\n\n const _occupants = occupants.map((occupant) => {\n let selectedRate = null;\n let selectedBoleto = null;\n\n if (occupant.fares[ratesKey]) {\n selectedRate = null;\n selectedBoleto = occupant.fares[ratesKey][0];\n } else if (occupant.fares[altRatesKey]) {\n selectedRate = occupant.fares[altRatesKey][0];\n selectedBoleto = null;\n }\n\n return {\n ...occupant,\n selectedRate,\n selectedBoleto,\n };\n });\n\n setOccupants(_occupants);\n }\n }, [rateType]);\n\n /**\n * Load fares\n *\n * \tfares: {\n * \t\tindividualRates: [{\n *\t\t\ttotal, lowest,\n *\t\t\tprices: [ { id, name, duration, price }, ... ]\n *\t\t}, ... ]\n * \t\tfullRates: ... the same\n * \t\tindividualBonos: [{ id, amount, consumed, bono: {id, name, type} }]\n * \t\tfullBonos: ... the same\n * \t}\n */\n const loadFares = (occupant) => {\n if (occupant && occupant.id) {\n cxt.api('GET', '/bookings/fares', {\n params: {\n ini: timeini,\n end: timeend,\n idFacility: column.facility.id,\n idUser: occupant.user.id,\n },\n success(r) {\n const fares = r;\n\n if (fares) {\n // Initially, we must select the default rate but forcefully switch between full / individual if there are no appropriate rates.\n if (rateType === cxt.constants.RT_Individual) {\n if (\n fares.individualBonos &&\n fares.individualBonos.length > 0\n ) {\n occupant.selectedBoleto =\n fares.individualBonos[0];\n } else if (\n fares.individualRates &&\n fares.individualRates.length > 0\n ) {\n occupant.selectedRate =\n fares.individualRates[0];\n } else if (\n fares.fullBonos &&\n fares.fullBonos.length > 0\n ) {\n setRateType(cxt.constants.RT_Complete);\n occupant.selectedBoleto = fares.fullBonos[0];\n } else if (\n fares.fullRates &&\n fares.fullRates.length > 0\n ) {\n setRateType(cxt.constants.RT_Complete);\n occupant.selectedRate = fares.fullRates[0];\n }\n } else if (\n fares.fullBonos &&\n fares.fullBonos.length > 0\n ) {\n occupant.selectedBoleto = fares.fullBonos[0];\n } else if (\n fares.fullRates &&\n fares.fullRates.length > 0\n ) {\n occupant.selectedRate = fares.fullRates[0];\n } else if (\n fares.individualBonos &&\n fares.individualBonos.length > 0\n ) {\n setRateType(cxt.constants.RT_Individual);\n occupant.selectedBoleto = fares.individualBonos[0];\n } else if (\n fares.individualRates &&\n fares.individualRates.length > 0\n ) {\n setRateType(cxt.constants.RT_Individual);\n occupant.selectedRate = fares.individualRates[0];\n }\n\n // Update occupants\n if (\n (fares.individualRates &&\n fares.individualRates.length > 0) ||\n (fares.fullRates && fares.fullRates.length > 0) ||\n (fares.individualBonos &&\n fares.individualBonos.length > 0) ||\n (fares.fullBonos && fares.fullBonos.length > 0)\n ) {\n occupant.fares = fares;\n setOccupants(\n updateElementInArray(occupants, occupant),\n );\n } else {\n cxt.showMessage(\n 'I',\n cxt.t('app.booking.noAvailableRates'),\n );\n setOccupants(\n deleteElementFromArray(occupants, occupant),\n );\n if (ImSCOwner) {\n setOccupantMshipSelecting({});\n }\n // else setOpenPupilsDialog(true)\n }\n }\n },\n });\n }\n };\n\n /**\n * Times change, we've got to recalculate fares\n */\n useEffect(() => {\n // Load all fares of all occupants\n if (timeini && timeend && occupants) {\n occupants.forEach((occupant) => {\n loadFares(occupant);\n });\n }\n }, [timeini, timeend]);\n\n /**\n * Update the occupant with not fares\n */\n useEffect(() => {\n occupants.forEach((occupant) => {\n if (!occupant.fares) {\n loadFares(occupant);\n }\n });\n }, [occupants]);\n\n /**\n * Select the current scenario\n */\n useEffect(() => {\n const isWithCapacity = piece.capacity && piece.capacity.total > 0;\n\n // Set scenario\n if (ImSCOwner) {\n setScenario(\n isWithCapacity\n ? Scenarios.SC_CAPACITY\n : Scenarios.SC_NO_CAPACITY,\n );\n } else {\n setScenario(\n isWithCapacity\n ? Scenarios.USER_CAPACITY\n : Scenarios.USER_NO_CAPACITY,\n );\n }\n }, [ImSCOwner, cxt.user, piece]);\n\n /**\n * Secenairo is just set\n */\n useEffect(() => {\n if (scenario) {\n switch (scenario) {\n // Just enter show the selecing mship dialog to choose one\n case Scenarios.SC_CAPACITY:\n case Scenarios.SC_NO_CAPACITY:\n setOccupantMshipSelecting({});\n break;\n default:\n break;\n }\n }\n }, [scenario]);\n\n /**\n * Add / updateoccupant\n */\n const addSaveOccupant = (occupant) => {\n // Set default id for the occupant\n if (!occupant.id) {\n occupant.id = occupant.user.id;\n }\n\n // Update occupants\n setOccupants(updateElementInArray(occupants, occupant));\n };\n\n /**\n * Delete occupan\n */\n const delOccupant = (occupant) => {\n setOccupants(deleteElementFromArray(occupants, occupant));\n };\n\n /**\n * Init\n */\n useEffect(() => {\n // If I'm a user the get my mship (relation between sports center and me)\n if (isUserOrTeacher) {\n cxt.api('GET', `/scs/${sc.id}/me`, {\n success: (r) => {\n // Set first occupant, me\n addSaveOccupant({\n name: r.mship.fullName\n ? r.mship.fullName\n : r.mship.user.fullName,\n mship: r.mship,\n user: cxt.user,\n });\n },\n });\n }\n }, []);\n\n // -----| Render |-----\n return (\n \n {occupants &&\n occupants.map((occupant) => (\n \n \n {[\n Scenarios.USER_NO_CAPACITY,\n Scenarios.SC_NO_CAPACITY,\n ].includes(scenario) && (\n \n \n setRateType(\n value\n ? cxt.constants\n .RT_Individual\n : cxt.constants.RT_Complete,\n )\n }\n />\n \n )}\n \n \n \n \n \n \n \n \n \n\n \n \n {occupant.name}\n \n\n {occupant.mship &&\n occupant.mship.amount > 0 && (\n \n {cxt.t('Purse')}:{' '}\n \n {formatPriceByLocale(\n occupant.mship\n ?.amount,\n occupant.mship\n ?.amountShape\n ?.currency,\n occupant.mship\n ?.amountShape\n ?.locale,\n )}\n \n \n )}\n\n \n\n {/* Buttons */}\n \n \n {occupant.user && (\n \n \n )\n }\n caption={cxt.t(\n 'SelectRate',\n )}\n onClick={() =>\n setOpenSelectingRateOccupant(\n occupant,\n )\n }\n />\n \n )}\n\n {[\n Scenarios.SC_CAPACITY,\n Scenarios.SC_NO_CAPACITY,\n ].includes(scenario) && (\n \n \n }\n caption={cxt.t(\n 'SelectUser',\n )}\n onClick={() =>\n setOccupantMshipSelecting(\n occupant,\n )\n }\n />\n \n )}\n\n {[\n Scenarios.USER_CAPACITY,\n Scenarios.SC_CAPACITY,\n ].includes(scenario) && (\n \n \n }\n caption={cxt.t(\n 'Delete',\n )}\n onClick={() =>\n delOccupant(\n occupant,\n )\n }\n />\n \n )}\n\n {occupant.selectedRate && (\n \n \n {cxt.t('Total')}:{' '}\n \n {formatPriceByLocale(\n occupant\n ?.selectedRate\n ?.total,\n occupant\n ?.selectedRate\n ?.prices[0]\n ?.priceShape\n .currency,\n occupant\n ?.selectedRate\n ?.prices[0]\n ?.priceShape\n ?.locale,\n )}\n \n \n \n )}\n \n \n \n \n
\n \n \n ))}\n\n {occupants && occupants.length === 0 && (\n \n {cxt.t('booking.youMustSelectOneOccupant')}\n \n )}\n\n {([Scenarios.USER_CAPACITY, Scenarios.SC_CAPACITY].includes(\n scenario,\n ) ||\n (scenario === Scenarios.SC_NO_CAPACITY &&\n !occupants.length)) && (\n \n }\n caption={cxt.t('AddUserNotInTheList')}\n onClick={() => {\n if (ImSCOwner) {\n setOccupantMshipSelecting({});\n } else {\n setOpenPupilsDialog(true);\n }\n }}\n />\n \n )}\n\n setOccupantMshipSelecting(null)}\n onSelectMship={(mship) => {\n addSaveOccupant({\n id: occupantMshipSelecting.id,\n name: mship.fullName,\n mship,\n user: mship.user,\n });\n\n // Close popup\n setOccupantMshipSelecting(null);\n }}\n />\n\n setOpenSelectingRateOccupant(null)}\n onSelect={({ rate, boleto }) => {\n addSaveOccupant({\n ...openSelectingRateOccupant,\n selectedRate: !boleto && rate,\n selectedBoleto: boleto,\n });\n }}\n occupants={occupants}\n />\n {isUserOrTeacher && (\n setOpenPupilsDialog(false)}\n onAddOccupant={addSaveOccupant}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Paper, Button, Grid } from '@material-ui/core';\nimport CreateIcon from '@material-ui/icons/Create';\nimport DoneIcon from '@material-ui/icons/Done';\nimport { AppContext, SttFormText } from '../../../sporttia/all';\nimport { formatPriceByLocale } from '../../../lib/utils';\nimport { useTranslations } from '../../../lib/hooks';\n\nexport default function BookingSectionPrice({\n price,\n sc,\n onChangePrice,\n modify = false,\n}) {\n const cxt = useContext(AppContext);\n const [updating, setUpdating] = useState(false);\n const { translate } = useTranslations();\n\n // -----| Render |-----\n return (\n \n \n \n \n \n {cxt.t('FinalPriceToPay')}\n\n {updating ? (\n \n \n onChangePrice(value)\n }\n />\n\n \n }\n onClick={() => setUpdating(false)}\n >\n {cxt.t('Save')}\n \n \n \n ) : (\n \n \n {formatPriceByLocale(\n price,\n sc.city?.country?.currency,\n sc.city?.country?.locale,\n )}\n \n\n {modify && (\n }\n onClick={() => setUpdating(true)}\n >\n {cxt.t('Modify')}\n \n )}\n \n )}\n \n \n \n\n \n

\n {cxt.t('sellingPolicy.title')}\n

\n

\n {sc.name || ''}\n {sc?.customer?.cif ? `, ${sc.customer.cif}` : ''}\n {sc.address ? `, ${sc.address}` : ''}\n {sc.city &&\n `, ${sc.city.name}${\n sc.city.province\n ? `, ${sc.city.province.name}`\n : ''\n }${\n sc.city.country\n ? `, ${translate(\n `country.${sc.city.country.name}`,\n )}`\n : ''\n }`}\n

\n {sc.salesPolicy || cxt.t('sellingPolicy.desc')}\n
\n
\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Container, Box, Grid, Paper, Button } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport moment from 'moment';\nimport DoneOutlineIcon from '@material-ui/icons/DoneOutline';\nimport SettingsBackupRestoreIcon from '@material-ui/icons/SettingsBackupRestore';\nimport IconButton from '@material-ui/core/IconButton';\nimport { AppContext, SttFullDialog, SttFormText } from '../../../sporttia/all';\nimport { getErrorMessage } from '../../../lib/utils';\nimport BookingOperateDialog from './BookingOperateDialog';\nimport { getPath } from '../../Pages';\nimport BookingSectionMessages from './BookingSectionMessages';\nimport BookingSectionMainData from './BookingSectionMainData';\nimport BookingSectionOccupants from './BookingSectionOccupants';\nimport BookingSectionPrice from './BookingSectionPrice';\nimport POSPaymentDialog from '../../../components/dialogs/POSPaymentDialog';\nimport POSStripePaymentDialog from '../../../components/stripe/POSStripePaymentDialog';\nimport constants from '../../../config/constants';\nimport translations from '../../../translations';\nimport useBookingsService from '../../../services/BookingsService';\nimport { useLoader } from '../../../lib/hooks';\nimport CashdroControlDialog from '../../../components/dialogs/CashdroControlDialog';\n\nexport default function Booking({\n open = false,\n idSC,\n column,\n piece,\n ini,\n end,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [notes, setNotes] = useState();\n const [sc, setSc] = useState();\n const [ImSCOwner, setImSCOwner] = useState(false);\n const [timeini, setTimeini] = useState();\n const [timeend, setTimeend] = useState();\n const [staticBookingMsg, setStaticBookingMsg] = useState();\n const [isReadyToBook, setIsReadyToBook] = useState(false);\n const [bookingTitle, setBookingTitle] = useState('');\n\n // Open popups\n const [openOperate, setOpenOperate] = useState(false);\n\n // Fares, rates & prices\n const [rateType, setRateType] = useState(constants.rate.types.complete);\n const [finalPrice, setFinalPrice] = useState();\n const [modifiedPrice, setModifiedPrice] = useState();\n\n // POS (datafono)\n const [posPaymentParams, setPosPaymentParams] = useState(null);\n\n const [occupants, setOccupants] = useState([]);\n const [alfaOccupant, setAlfaOccupant] = useState();\n\n const CASHDRO = cxt?.sc?.cashdroConnected;\n const [cashdroPayment, setCashdroPayment] = useState(false);\n const [cashdroPaymentAmount, setCashdroPaymentAmount] = useState(0);\n\n const bookingPrivilege = true;\n const fares = undefined;\n\n const loadSC = () => {\n cxt.api('GET', `/scs/${idSC}`, {\n success: (response) => {\n setSc(response.sc);\n\n // Am I an admin of the sports center ?\n setImSCOwner(\n cxt.user.role === constants.roles.sportcenter &&\n cxt.sc?.id === response.sc.id,\n );\n },\n });\n };\n\n const onClickBook = () => {\n // If price is 0 we don't show the booking operating dialog\n if (finalPrice > 0) {\n setOpenOperate(true);\n } else {\n // eslint-disable-next-line no-use-before-define\n book();\n }\n };\n\n const bookingsService = useBookingsService();\n const createBookingMutation = bookingsService.useCreateBooking({\n onSuccess: (response) => {\n setOpenOperate(false);\n\n const { tpv, booking } = response;\n\n if (tpv) {\n // Pay with TPV\n\n if (\n tpv?.payment?.paymentForm ===\n constants.payment.paymentForms.dataphoneConnected.name\n ) {\n // params for the POS dialog (datáfono físico)\n setPosPaymentParams({\n amount: tpv.price,\n concept: tpv.concept,\n idTpv: tpv.id,\n returnParams: {\n idBooking: booking?.id,\n },\n sc: {\n id: tpv?.sc?.id,\n scName: tpv?.sc?.short,\n entityName: tpv?.sc?.customer?.name,\n address: tpv?.sc?.address,\n cif: tpv?.sc?.customer?.cif,\n phone: tpv?.sc?.phonePublic,\n },\n });\n } else {\n history.push(\n getPath('tpvSwitcher', { id: response.tpv.id }),\n );\n }\n } else if (booking) {\n history.push(getPath('booked', { id: response.booking.id }));\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n setStaticBookingMsg(getErrorMessage(error));\n },\n });\n\n /**\n * Proceed to book\n */\n const book = (p = {}) => {\n // Patch: people is traying to book pushing many times to book\n // We avoid this not allowing to push the button every X seconds\n const lastBookingTime = localStorage.getItem('lastBookingTime');\n const secondsBetweenBooking = 15;\n if (lastBookingTime === undefined) {\n localStorage.setItem('lastBookingTime', moment().toISOString());\n } else {\n const m = moment(lastBookingTime);\n if (m.add(secondsBetweenBooking, 'seconds') > moment()) {\n cxt.showMessage('S', cxt.t('booking.notAllowedToBookToSoon'));\n } else {\n localStorage.setItem('lastBookingTime', moment().toISOString());\n }\n }\n\n setStaticBookingMsg(null);\n\n if (CASHDRO && p.paymentForm === 'CASHDRO') {\n setCashdroPayment(true);\n setCashdroPaymentAmount(modifiedPrice || finalPrice);\n } else {\n // eslint-disable-next-line no-use-before-define\n createBooking(p.paymentForm);\n }\n };\n\n const createBooking = (paymentForm) => {\n // Build occupants for API call\n const occupantsParam = occupants?.map((occupant) => ({\n idUser: occupant.user.id,\n idBoleto: occupant.selectedBoleto && occupant.selectedBoleto.id,\n rate: occupant?.selectedRate?.prices?.map((price) => ({\n id: price.id,\n duration: price.duration,\n })),\n newUser: occupant.newUser,\n }));\n\n const individual = rateType === constants.rate.types.individual;\n\n createBookingMutation.mutate({\n params: {\n idFacility: column.facility.id,\n ini: timeini,\n end: timeend,\n notes,\n price: modifiedPrice || undefined,\n individual,\n paymentForm,\n idUser: alfaOccupant.user.id,\n name: bookingTitle,\n occupants: occupantsParam,\n },\n });\n };\n\n /**\n * Occupants change\n */\n useEffect(() => {\n const alfaOcc = occupants && occupants.length > 0 ? occupants[0] : null;\n let allOccupantsWithRateOrBoleto = true;\n\n setAlfaOccupant(alfaOcc);\n\n // Calculate final price\n if (occupants) {\n let totalPrice = 0;\n occupants.forEach((occupant) => {\n if (occupant.selectedRate) {\n totalPrice += occupant.selectedRate.total;\n }\n\n // All occupants with rate or boleto ???\n if (!occupant.selectedRate && !occupant.selectedBoleto)\n allOccupantsWithRateOrBoleto = false;\n });\n setFinalPrice(totalPrice);\n }\n\n // Is it ready to book ???\n setIsReadyToBook(alfaOcc?.user && allOccupantsWithRateOrBoleto);\n\n // Set new booking title\n setBookingTitle(occupants[0]?.name ?? '');\n }, [occupants]);\n\n /**\n * Init: piece or sports center id input change\n */\n useEffect(() => {\n // Load all data from sports center\n if (idSC) {\n loadSC();\n }\n\n // Set time ini & end\n if (piece) {\n setTimeini(ini);\n setTimeend(end);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [piece, idSC]);\n\n const [isMutationsLoading, mutationsLoader] = useLoader([\n createBookingMutation.status,\n ]);\n\n return (\n \n {mutationsLoader}\n\n {sc && piece && (\n \n \n \n \n \n\n \n\n {/* Booking headline box. */}\n \n \n \n \n \n setBookingTitle(value)\n }\n />\n \n \n setBookingTitle(\n (occupants[0] &&\n occupants[0]\n .name) ||\n '',\n )\n }\n >\n \n \n \n \n \n \n \n\n \n\n {isReadyToBook ? (\n <>\n {/* --- Final price --- */}\n {finalPrice != null && (\n \n {\n if (\n Number(price) ||\n price === ''\n ) {\n setFinalPrice(\n price || 0,\n );\n setModifiedPrice(\n Number(\n price || 0,\n ),\n );\n }\n }}\n />\n \n )}\n\n {/* --- Button to book --- */}\n \n }\n onClick={onClickBook}\n >\n {cxt.t('Book')}\n \n \n \n ) : (\n \n \n {cxt.t('booking.isNotReadyToBook')}\n \n \n )}\n \n \n \n\n {!isMutationsLoading && (\n setOpenOperate(false)}\n onBook={book}\n sc={sc}\n finalPrice={finalPrice}\n />\n )}\n \n )}\n\n {cxt.sc?.sporttiaStripeLocationId && posPaymentParams !== null ? (\n setPosPaymentParams(null)}\n onSuccess={() => {\n if (posPaymentParams.returnParams.idBooking) {\n history.push(\n getPath('booked', {\n id: posPaymentParams.returnParams.idBooking,\n }),\n );\n }\n }}\n />\n ) : (\n setPosPaymentParams(null)}\n onSuccess={(ticket, returnParams) => {\n if (returnParams.idBooking) {\n history.push(\n getPath('booked', {\n id: returnParams.idBooking,\n }),\n );\n }\n }}\n />\n )}\n\n {cashdroPayment && (\n {\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n }}\n onSuccess={() => {\n // Aquí a la fuerza pq POST /bookings ahora por la cara tarda 10+ segundos\n setCashdroPayment(false);\n setCashdroPaymentAmount(0);\n createBooking('CASHDRO');\n }}\n />\n )}\n \n );\n}\n","import { useContext } from 'react';\nimport { MutationFunction, UseMutationOptions, useMutation } from 'react-query';\nimport { AppContext } from '../sporttia/AppContext';\nimport { useAPI } from '../lib/hooks';\n\nconst resource = '/bookings';\n\n/**\n * Hook para acceder a los recursos de 'bookings'.\n */\nexport default function useBookingsService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n /**\n * POST /bookings request.\n */\n function useCreateBooking(\n mutationOptions?: UseMutationOptions<\n unknown,\n unknown,\n {\n params: Record;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n unknown,\n {\n params: Record;\n }\n > = ({ params }) => request('POST', resource, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n useCreateBooking,\n };\n}\n","import React, { useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport { useCrud } from '../../lib/hooks';\nimport {\n AppContext,\n SttDialog,\n SttFormDate,\n SttFormSelect,\n SttFormText,\n SttSelectFacility,\n SttSelectUser,\n SttSelectWeekdays,\n} from '../../sporttia/all';\n\n/**\n * CreateBookingScheduleDialog : used to create fixed bookings from the timetable section (TimetableOperate component)\n * Object item - bookingSchedule params\n * Function onSave - callback for the save button\n * Function onClose - callback fort he Close button\n */\nexport default function CreateBookingScheduleDialog({ item, onSave, onClose }) {\n const cxt = useContext(AppContext);\n\n const [bookingSchedule, , setProperty, , Post] = useCrud(item);\n\n // What it says\n function saveAndClose() {\n if (onSave && onSave.constructor === Function) {\n onSave();\n }\n if (onClose && onClose.constructor === Function) {\n onClose();\n }\n }\n\n // Create a new fixed booking via POST\n function save() {\n const params = {\n name: bookingSchedule.name,\n idUser: bookingSchedule.user?.id,\n idFacility: bookingSchedule.facility.id,\n dateini: moment(bookingSchedule.dateini).format('YYYY-MM-DD'),\n dateend: moment(bookingSchedule.dateend).format('YYYY-MM-DD'),\n timeini: bookingSchedule.timeini,\n timeend: bookingSchedule.timeend,\n weekdays: bookingSchedule.weekdays,\n };\n\n Post(`/scs/${cxt.sc.id}/bookings/schedules`, params).then(\n (response) => {\n if (response.bookingSchedule) {\n saveAndClose();\n }\n },\n );\n }\n\n if (!bookingSchedule) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n setProperty({\n name: 'user',\n value: {\n fullName: mship.fullName,\n id: mship.user.id,\n },\n });\n }}\n returnMship\n />\n \n \n \n \n \n {/* */}\n \n \n \n }\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { OpenInNewOutlined } from '@material-ui/icons';\nimport { useHistory } from 'react-router-dom';\nimport { getPath } from '../../pages/Pages';\nimport { useCrud } from '../../lib/hooks';\nimport {\n AppContext,\n SttDialog,\n SttFormDate,\n SttFormText,\n SttFormTime,\n} from '../../sporttia/all';\nimport ErrorsDialog from '../../pages/sc/busySchedules/ErrorsDialog';\n\n// En realidad 'busySchedule' hace más bien referencia a un tramo cerrado que a un schedule, pero todo esto es confuso porque desde el menú 'cerrar tramo' se puede\n// definir un periodo de cierre entero (de tal a tal día, entre tal y tal fecha).\nexport default function BusyScheduleDialog({\n item,\n facility,\n onSave,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [fails, setFails] = useState([]);\n const [busySchedule, setBusySchedule, setProperty, Get, Post, Put, Delete] =\n useCrud(item);\n const [creating, setCreating] = useState(false);\n\n /**\n * loadBusySchedule\n */\n function loadBusySchedule() {\n Get(`/busies/${item.id}`).then((r) => {\n setProperty({ name: 'timeini', value: item.timeini });\n setProperty({ name: 'timeend', value: item.timeend });\n setProperty({ name: 'slot', value: r.busy.slot });\n setBusySchedule(r.busy);\n });\n }\n\n // init\n useEffect(() => {\n setCreating(!item.id);\n\n if (item.id) {\n loadBusySchedule();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item.id]);\n\n /**\n * saveAndClose\n */\n function saveAndClose() {\n if (onSave) {\n onSave();\n }\n\n if (onClose) {\n onClose();\n }\n }\n /**\n * saveBusySchedule\n */\n function saveBusySchedule() {\n // Creating\n if (creating) {\n Post(`/scs/${cxt.sc.id}/busies/schedules`, busySchedule).then(\n (response) => {\n if (response?.fails?.length > 0) {\n setFails(response.fails);\n } else {\n saveAndClose();\n }\n },\n );\n\n // Updating\n } else {\n Put(`/busies/${item.id}`, {\n name: busySchedule.name, // Actually, it's not a busySchedule, it's a busy\n timeini: busySchedule.timeini,\n timeend: busySchedule.timeend,\n }).then(() => {\n saveAndClose();\n });\n }\n }\n\n /**\n * Liberate\n */\n function liberate() {\n Delete(`/busies/${item.id}`).then(() => {\n saveAndClose();\n });\n }\n\n /**\n * Close all sport center.\n */\n function closeAllSportCenter() {\n cxt.api('POST', `/schedules/busies/all`, {\n params: {\n date: busySchedule.ini,\n },\n success: (response) => {\n if (response?.fails?.length > 0) {\n setFails(response.fails);\n } else {\n saveAndClose();\n }\n },\n });\n }\n\n if (!item) {\n return null;\n }\n\n return (\n <>\n \n \n \n \n\n {facility && (\n \n )}\n\n {/* JPB 26 May 2020. It doesn't event work in production\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {`${cxt.t('creator')}: ${\n busySchedule?.creator?.name\n }`}\n \n \n }\n buttons={[\n {\n type: 'delete',\n caption: cxt.t('CloseAllSportcenter'),\n onClick: closeAllSportCenter,\n },\n {\n type: 'save',\n onClick: saveBusySchedule,\n },\n {\n show: !creating,\n type: 'delete',\n caption: cxt.t('Liberate'),\n onClick: liberate,\n },\n {\n show: !creating,\n icon: ,\n caption: cxt.t('timetable.gotoBusySchedule'),\n onClick: () =>\n history.push(\n getPath('busySchedule', {\n id: busySchedule.slot.schedule.id,\n }),\n ),\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n {fails.length > 0 && (\n {\n setFails([]);\n saveAndClose();\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttDialog,\n SttTable,\n SttFormCheck,\n SttFormSearch,\n SttFormTime,\n} from '../../../sporttia/all';\nimport { updateElementInArray, formatPriceByLocale } from '../../../lib/utils';\n\nexport default function SeatingDialog({\n open = false,\n facility,\n date,\n piece,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const [occupants, setOccupants] = useState();\n const [name, setName] = useState('');\n const [time, setTime] = useState();\n\n /**\n * Piece changes\n */\n useEffect(() => {\n if (piece && piece.ini) {\n setTime(moment(piece.ini).format('H:mm'));\n }\n }, [piece]);\n\n /**\n * Load occupants\n */\n const loadOccupants = (p = { page: 1, rows: 6 }) => {\n cxt.api('GET', `/facilities/${facility.id}/bookings/occupants`, {\n params: {\n date: moment(date).format('YYYY-MM-DD'),\n name,\n time,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n const filteredOccupants = r.rows.filter((occupant) => {\n const fullName =\n occupant.user?.mship?.fullName ||\n occupant.user?.fullName ||\n '';\n return fullName.toLowerCase().includes(name.toLowerCase());\n });\n setOccupants({\n ...r,\n rows: filteredOccupants,\n });\n },\n });\n };\n\n /**\n * Toggle confirmed\n */\n const toggleConfirmed = (occupant) => {\n cxt.api('PUT', `/bookings/occupants/${occupant.id}`, {\n params: {\n confirmed: !occupant.confirmed,\n },\n success: () => {\n setOccupants({\n ...occupants,\n rows: updateElementInArray(occupants.rows, {\n ...occupant,\n confirmed: !occupant.confirmed,\n }),\n });\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (facility && facility.id && time) loadOccupants();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [facility, time]);\n\n // -----| Render |-----\n return (\n \n \n \n setName(value)}\n onClickSearch={loadOccupants}\n />\n\n setTime(value)}\n />\n \n \n\n {\n const fullName =\n row.user?.mship?.fullName ||\n row.user?.fullName ||\n 'N/A';\n return fullName;\n },\n },\n {\n title: cxt.t('Creator'),\n field: 'creator',\n align: 'left',\n value: (row) =>\n row.booking.creator &&\n row.booking.creator.fullName,\n },\n {\n title: cxt.t('Period'),\n type: 'periodTime',\n value: (row) => ({\n ini: row.booking.ini,\n end: row.booking.end,\n }),\n },\n {\n title: `${cxt.t('Rate')} / ${cxt.t('Bono')}`,\n value: (row) =>\n row.rate && row.rate.length > 0\n ? row.rate\n .map(\n (price) =>\n `${\n price.name\n } [${formatPriceByLocale(\n price.price,\n cxt.sc?.city?.country\n ?.currency,\n )}]`,\n )\n .join(' - ')\n : row.bonoMov &&\n row.bonoMov.boleto.bono.name,\n },\n {\n title: cxt.t('Confirmed'),\n value: (row) => (\n toggleConfirmed(row)}\n />\n ),\n },\n ]}\n onFetch={loadOccupants}\n />\n \n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useContext } from 'react';\nimport {} from '@material-ui/core';\nimport { AppContext, SttDialog, SttList } from '../../../sporttia/all';\nimport BookingDialog from '../../../components/dialogs/bookingDialog/BookingDialog';\n\nexport default function TimetableBookingsDialog({\n open = false,\n bookings,\n onClose,\n cutBooking = null,\n}) {\n const cxt = useContext(AppContext);\n const [openBookingId, setOpenBookingId] = useState(null);\n\n // -----| Render |-----\n return (\n <>\n setOpenBookingId(booking.id)}\n data={bookings.map((booking) => ({\n caption: `${booking.name} [ ${booking.occupants.count} ]`,\n objToSelect: booking,\n }))}\n />\n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n\n {/* --- Booking dialog --- */}\n setOpenBookingId(null)}\n onUpdate={() => {\n onClose();\n }}\n cutBooking={cutBooking}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttDialog,\n SttTable,\n SttFormCheck,\n SttFormSearch,\n SttFormTime,\n} from '../../../sporttia/all';\nimport { updateElementInArray } from '../../../lib/utils';\n\nexport default function PieceCapacityDialog({\n open = false,\n facility,\n date,\n piece,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const [occupants, setOccupants] = useState();\n const [name, setName] = useState('');\n const [time, setTime] = useState();\n\n /**\n * Piece changes\n */\n useEffect(() => {\n if (piece && piece.ini) {\n setTime(moment(piece.ini).format('H:mm'));\n }\n }, [piece]);\n\n /**\n * Load occupants\n */\n const loadOccupants = (p = { page: 1, rows: 6 }) => {\n cxt.api('GET', `/facilities/${facility.id}/bookings/occupants`, {\n params: {\n date,\n name,\n time,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setOccupants(r);\n },\n });\n };\n\n /**\n * Toggle confirmed\n */\n const toggleConfirmed = (occupant) => {\n cxt.api('PUT', `/bookings/occupants/${occupant.id}`, {\n params: {\n confirmed: !occupant.confirmed,\n },\n success: (r) => {\n setOccupants({\n ...occupants,\n rows: updateElementInArray(occupants.rows, {\n ...occupant,\n confirmed: !occupant.confirmed,\n }),\n });\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (facility && facility.id && time) loadOccupants();\n }, [facility, time]);\n\n // -----| Render |-----\n return (\n \n \n \n setName(value)}\n onClickSearch={loadOccupants}\n />\n \n \n\n row.user.fullName,\n },\n ]}\n onFetch={loadOccupants}\n />\n \n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext, Fragment } from 'react';\nimport { Grid, Box, Button, Divider } from '@material-ui/core';\nimport moment from 'moment';\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight';\nimport SchoolIcon from '@material-ui/icons/School';\nimport ViewModuleIcon from '@material-ui/icons/ViewModule';\nimport CancelPresentationIcon from '@material-ui/icons/CancelPresentation';\nimport PeopleIcon from '@material-ui/icons/People';\nimport ClearAllIcon from '@material-ui/icons/ClearAll';\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\nimport Booking from '../booking/Booking';\nimport ActivityClassDialog from '../../sc/activities/ActivityClassDialog';\nimport CreateBookingScheduleDialog from '../../../components/dialogs/CreateBookingScheduleDialog';\nimport BusyScheduleDialog from '../../../components/dialogs/BusyScheduleDialog';\nimport SeatingDialog from '../../sc/timetable/SeatingDialog';\nimport TimetableBookingsDialog from './TimetableBookingsDialog';\nimport { AppContext, SttDialog, SttFormSelect } from '../../../sporttia/all';\nimport PieceCapacityDialog from '../../sc/timetable/PieceCapacityDialog';\nimport { formatPriceByLocale } from '../../../lib/utils';\n/**\n * Timetable operate\n * =================\n *\n */\nexport default function TimetableOperate({\n sc,\n column,\n piece,\n bookingCut = null,\n setBookingCut,\n onClose,\n onChangeTimetable,\n cutBooking = null,\n privileged = false,\n}) {\n const cxt = useContext(AppContext);\n\n const [free, setFree] = useState();\n const [timeini, setTimeini] = useState();\n const [timeend, setTimeend] = useState();\n const [actions, setActions] = useState();\n const [bookingAttempt, setBookingAttempt] = useState(null);\n const [createClass, setCreateClass] = useState(null);\n const [createFixedBooking, setCreateFixedBooking] = useState(null);\n const [createBusySchedule, setCreateBusySchedule] = useState(null);\n const [openSeatingDialog, setOpenSeatingDialog] = useState(false);\n const [openBookingsDialog, setOpenBookingsDialog] = useState(false);\n const [ImSCOwner, setImSCOwner] = useState(false);\n const [openBusySchedule, setOpenBusySchedule] = useState(false);\n const [openFixedBooking, setOpenFixedBooking] = useState(false);\n const [openPieceCapacityDialog, setOpenPieceCapacityDialog] =\n useState(false);\n\n /**\n * Im sc owner\n */\n useEffect(() => {\n if (cxt.sc && sc) {\n setImSCOwner(\n cxt.user.role === cxt.constants.roleSC &&\n parseInt(cxt.sc.id) === parseInt(sc.id),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Open create booking\n */\n const openCreateBooking = () => {\n setBookingAttempt({\n ini: moment().format('YYYY-MM-DDTHH:00:00'),\n end: moment().format('YYYY-MM-DDTHH:00:00'),\n facility: column.facility,\n });\n };\n\n /**\n * Open creating class\n */\n const openCreateClass = () => {\n setCreateClass({\n id: null,\n status: 'ACTIVE',\n ini: piece.ini,\n end: piece.end,\n facility: column.facility\n ? { id: column.facility.id, name: column.facility.name }\n : null,\n weekdays: [moment(piece.ini).day()],\n });\n };\n\n /**\n * If 'timeini' or 'timeend' was changed, createBusySchedule and createFixedBooking object will be update.\n */\n useEffect(() => {\n setCreateBusySchedule({\n idFacility: column.facility ? column.facility.id : null,\n status: 'ACTIVE',\n name: cxt.t('Closed'),\n ini: moment(timeini).format('YYYY-MM-DD'),\n end: moment(timeend).format('YYYY-MM-DD'),\n timeini: moment(timeini).format('HH:mm'),\n timeend: moment(timeend).format('HH:mm'),\n });\n\n setCreateFixedBooking({\n name: '',\n status: 'ACTIVE',\n dateini: moment(timeini).format('YYYY-MM-DD'),\n dateend: moment(timeend).format('YYYY-MM-DD'),\n timeini: moment(timeini).format('HH:mm'),\n timeend: moment(timeend).format('HH:mm'),\n facility: column.facility\n ? { id: column.facility.id, name: column.facility.name }\n : null,\n user: null,\n weekdays: [moment(timeini).day()],\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [timeini, timeend]);\n\n /**\n * Paste booking\n *\n * params\n *\n * \t- facility\n * \t- piece\n */\n const pasteBooking = (p = {}) => {\n // Calculo la diferencia entre la hora inicial y final del alquiler a cortar para luego sumarselo al tiempo inicial de\n // del nuevo slot elegido.\n const horaIni = moment.duration(\n moment(bookingCut.ini).format('HH:mm'),\n 'HH:mm',\n );\n const horaFin = moment.duration(\n moment(bookingCut.end).format('HH:mm'),\n 'HH:mm',\n );\n const diffHours = horaFin.subtract(horaIni);\n\n // Recalcular la hora final en función del nuevo tiempo inicial\n const newStart = moment(p.piece.ini);\n const newEnd = moment(newStart)\n .add(diffHours.hours(), 'hours')\n .add(diffHours.minutes(), 'minutes');\n\n // En el caso de que sea la hora final a las 12, para que haga bien la conversion tendriamos que sumarle 1 dia\n // a la hora final, ya que por el contrario la fecha final seria antes que la inicial\n if (newEnd.isBefore(newStart)) {\n newEnd.add(1, 'day');\n }\n\n cxt.api('PUT', `/bookings/${bookingCut.id}`, {\n params: {\n idFacility: p.facility.id,\n ini: newStart.format('YYYY-MM-DD HH:mm:ss'),\n end: newEnd.format('YYYY-MM-DD HH:mm:ss'),\n },\n success: () => {\n onChangeTimetable();\n onClose();\n setBookingCut(null);\n },\n });\n };\n\n /**\n * Piece changes\n */\n useEffect(() => {\n if (piece) {\n // Set actions\n setActions([\n {\n condition: () =>\n piece.actions && piece.actions.includes('book'),\n caption: cxt.t('Book'),\n onClick: () => openCreateBooking(),\n icon: ,\n },\n {\n condition: () =>\n piece.actions &&\n piece.actions.includes('createFixedBooking'),\n caption: cxt.t('timetable.createFixedBook'),\n onClick: () => setOpenFixedBooking(true),\n icon: ,\n },\n {\n condition: () =>\n piece.actions && piece.actions.includes('createClass'),\n caption: cxt.t('CreateClass'),\n onClick: () => openCreateClass(),\n icon: ,\n },\n {\n condition: () =>\n piece.actions &&\n piece.actions.includes('closeFacilities'),\n caption: cxt.t('CloseFacility'),\n onClick: () => setOpenBusySchedule(true),\n icon: ,\n },\n {\n condition: () => bookingCut !== null,\n caption: cxt.t('PasteBooking'),\n onClick: () =>\n pasteBooking({\n facility: column.facility,\n piece,\n }),\n icon: ,\n },\n {\n separator: true,\n type: 'consult',\n condition: () => piece.bookings && ImSCOwner,\n caption: cxt.t('ConsultSeating'),\n onClick: () => setOpenSeatingDialog(true),\n icon: ,\n },\n {\n type: 'consult',\n condition: () => piece.bookings && ImSCOwner,\n caption: cxt.t('Bookings'),\n onClick: () => setOpenBookingsDialog(true),\n icon: ,\n },\n {\n type: 'consult',\n condition: () => piece.bookings && privileged,\n caption: cxt.t('ConsultSeating'),\n onClick: () => setOpenPieceCapacityDialog(true),\n icon: ,\n },\n ]);\n\n // Load free (schedule name, etc)\n if (piece.mark === 'FREE') {\n cxt.api('GET', `/frees/${piece.free.id}`, {\n success: (r) => {\n setFree(r.free);\n },\n });\n }\n\n setTimeini(piece.ini);\n\n // si el piece.duration es menor que el minBookingPeriod no hay que rallarse más\n const minBookingPeriod = column.facility.defaultBooking;\n if (minBookingPeriod && piece.duration < minBookingPeriod) {\n // El timeend deberá ser timeini + minBookingPeriod\n const finalTime = moment(piece.ini)\n .add(minBookingPeriod, 'minutes')\n .format('YYYY-MM-DDTHH:mm:ss');\n\n // Compruebo si existen tramos horarios con la hora que hemos generado y si no ponemos como hora final la hora final del tramo.\n if (\n column.pieces.filter((pc) => pc.end === finalTime).length >\n 0\n ) {\n setTimeend(finalTime);\n } else {\n setTimeend(piece.end);\n }\n } else {\n setTimeend(piece.end);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [piece, ImSCOwner, privileged]);\n\n // Render\n return (\n <>\n \n \n {/* --- Time ini --- */}\n setTimeini(value)}\n options={column.pieces\n .filter((pc) => pc.mark === 'FREE')\n .map((pc) => ({\n caption: moment(pc.ini).format('H:mm'),\n value: pc.ini,\n }))}\n />\n\n {/* --- Time end --- */}\n setTimeend(value)}\n options={column.pieces\n .filter((pc) => pc.mark === 'FREE')\n .map((pc) => ({\n caption: moment(pc.end).format('H:mm'),\n value: pc.end,\n }))}\n />\n \n\n {/* --- Render all actions --- */}\n \n {actions &&\n actions.map((action) => {\n if (action.condition()) {\n return (\n \n {/* --- Separator --- */}\n {action.separator && (\n \n \n \n )}\n\n \n \n )\n }\n >\n {action.caption}\n \n \n \n );\n }\n return null;\n })}\n \n\n {free && (\n \n {cxt.t('Horary')}: {free.schedule.name}\n {piece.rates &&\n piece.rates.map((rate) => (\n \n - {rate.name} -{' '}\n {formatPriceByLocale(\n rate?.price,\n rate?.priceShape?.currency,\n rate?.priceShape?.locale,\n )}{' '}\n / {rate.duration} m\n \n ))}\n \n )}\n \n }\n buttons={[\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n\n {bookingAttempt && (\n setBookingAttempt(null)}\n idSC={sc.id}\n column={column}\n piece={piece}\n ini={timeini}\n end={timeend}\n onChangeTimetable={onChangeTimetable}\n />\n )}\n\n {/* --- Create class / activity --- */}\n {createClass && (\n setCreateClass(false)}\n />\n )}\n\n {/* --- Create fixed booking --- */}\n {openFixedBooking && (\n setOpenFixedBooking(false)}\n onSave={onChangeTimetable}\n />\n )}\n\n {/* --- Create busy --- */}\n {openBusySchedule && (\n setOpenBusySchedule(false)}\n onSave={onChangeTimetable}\n />\n )}\n\n {/* --- Seatings --- */}\n {openSeatingDialog && (\n setOpenSeatingDialog(false)}\n />\n )}\n\n {/* --- Booking list dialog --- */}\n {openBookingsDialog &&\n piece.bookings &&\n piece.bookings.length > 0 && (\n {\n setOpenBookingsDialog(false);\n onChangeTimetable();\n }}\n cutBooking={cutBooking}\n />\n )}\n\n {/* --- PieceCapacityDialog (Only for users with '19' privilege) --- */}\n {openPieceCapacityDialog && (\n setOpenPieceCapacityDialog(false)}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Card,\n Typography,\n Button,\n Container,\n Grid,\n LinearProgress,\n Link,\n Paper,\n makeStyles,\n} from '@material-ui/core';\nimport { SentimentSatisfiedAlt, Check } from '@material-ui/icons';\nimport { useHistory } from 'react-router-dom';\nimport useKey from '@rooks/use-key';\nimport {\n AppContext,\n SttFormText,\n SttFormPassword,\n SttButton,\n} from '../../../../sporttia/all';\nimport { useCrud } from '../../../../lib/hooks';\n\nconst useStyles = makeStyles((theme) => ({\n widget: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n boxSizing: 'border-box',\n },\n title: {\n padding: theme.spacing(2),\n },\n controls: {\n padding: theme.spacing(2),\n },\n}));\n\nconst Modes = {\n widget: 'widget',\n dialog: 'dialog',\n};\n\n/**\n * WidgetLogin: Present a self-contained widget login. NOTE: this component will call Context.setLoggedUser, which will force a refresh of the entire app\n * Props:\n * string mode: either \"widget\" (fits anywhere) or \"dialog\" (column)\n * function onLogin: callback to run after a successful login\n */\nexport default function WidgetLogin({ mode = 'widget', onLogin }) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const history = useHistory();\n\n const [params, , setProperty, , Post] = useCrud(\n {\n login: '',\n password: '',\n },\n false,\n );\n\n useKey(['Enter'], doLogin);\n\n function doLogin() {\n Post(`/login`, params)\n .then(({ user, signature }) => {\n if (user) {\n if (\n user.role &&\n (user.role !== cxt.constants.roleUser ||\n user.role !== cxt.constants.roleTeacher)\n ) {\n cxt.showMessage(\n 'E',\n cxt.t('login.onlyNormalUserAllowed'),\n );\n } else if (user.status === 'ACTIVE') {\n cxt.setLoggedUser(user);\n onLogin && onLogin();\n } else {\n cxt.showMessage('E', cxt.t('login.userNotConfirmed'));\n }\n }\n })\n .catch(({ error }) => {\n cxt.showMessage('E', error.msg);\n });\n }\n\n return (\n
\n
\n \n {cxt.t('page.booking.mustLogin')}\n \n
\n
\n \n \n \n \n \n \n \n \n }\n onClick={doLogin}\n />\n \n \n
\n
\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport Typography from '@material-ui/core/Typography';\nimport { AppContext } from '../../sporttia/AppContext';\nimport { useCrud } from '../../lib/hooks';\nimport { SttDialog } from '../../sporttia/dialogs/SttDialog';\nimport { SttFormCheck } from '../../sporttia/forms/SttFormCheck';\n\nexport default function BookingsConsentsPopUp({ scId, onResponse }) {\n const cxt = useContext(AppContext);\n const [consents, setConsents, , Get, , ,] = useCrud();\n const [acceptConsents, setAcceptConsents] = useState(true);\n const [consentsResponses, setConsentsResponses] = useState([]);\n\n /**\n * Init\n */\n useEffect(() => {\n if (cxt.logged && cxt.user.role !== 'SPORTCENTER') {\n loadConsents();\n } else {\n setAcceptConsents(true);\n onResponse(true);\n }\n }, []);\n\n /**\n * Load constents.\n * @param params Object with params like rows, page...\n */\n function loadConsents(params = { rows: 20 }) {\n Get(`/scs/${scId}/consents/templates`, {\n ...params,\n forBooking: true,\n }).then((response) => {\n if (response.count !== 0) {\n setConsents(response.rows);\n setAcceptConsents(false);\n setConsentsResponses(Array(response.count).fill(false));\n } else {\n setAcceptConsents(true);\n onResponse(true);\n }\n });\n }\n\n /**\n * Change ConsentsResponses values.\n * @param index key value.\n * @param value value.\n */\n const updateConsentsResponses = (index, value) => {\n const newArr = [...consentsResponses];\n newArr[index] = value;\n\n setConsentsResponses(newArr);\n };\n\n /**\n * Check if array values are equals.\n * @param arr Array.\n * @returns {*} True or False.\n */\n const allEqual = (arr) => arr.every((v) => v === arr[0] && v === true);\n\n return (\n {\n onResponse(false);\n setAcceptConsents(false);\n }}\n content={\n consents &&\n consents.map((consent, key) => (\n \n \n updateConsentsResponses(\n key,\n !consentsResponses[key],\n )\n }\n />\n {consent.name} \n \n {consent.text}\n \n \n ))\n }\n buttons={[\n {\n type: 'accept',\n disabled: !allEqual(consentsResponses),\n caption: cxt.t('Accept'),\n onClick: () => {\n onResponse(true);\n setAcceptConsents(false);\n },\n },\n {\n type: 'cancel',\n onClick: () => {\n onResponse(false);\n setAcceptConsents(false);\n },\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Paper, Divider } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport moment from 'moment';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport {\n AppContext,\n SttTimetable,\n SttTimetableWeek,\n SttTabs,\n SttButton,\n SttDialog,\n} from '../../../sporttia/all';\nimport BookingDialog from '../../../components/dialogs/bookingDialog/BookingDialog';\nimport TimetableControls from './TimetableControls';\nimport TimetableOperate from './TimetableOperate';\nimport { getPath } from '../../Pages';\nimport BusyScheduleDialog from '../../../components/dialogs/BusyScheduleDialog';\nimport WidgetLogin from '../widget/components/WidgetLogin';\nimport Activity from '../../sc/activities/Activity';\nimport { getQueryStrings, redirectLogin } from '../../../lib/utils';\nimport BookingsConsentsPopUp from '../../../components/popups/BookingsConsentsPopUp';\n\nexport default function Timetable({ match }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const location = useLocation();\n\n const [date, setDate] = useState(moment().format('YYYY-MM-DD')); // YYYY-MM-DD\n const [timetable, setTimetable] = useState();\n const [selectedPiece, setSelectedPiece] = useState(null);\n const [selectedColumn, setSelectedColumn] = useState(null);\n const [isWeekly, setIsWeekly] = useState(false);\n const [openBookingId, setOpenBookingId] = useState(null);\n const [loginDialog, setLoginDialog] = useState(null);\n const [openActivityId, setOpenActivityId] = useState(null);\n const [affidavitAccepted, setAffidavitAccepted] = useState(null);\n\n // Copy / paste booking id\n const [bookingCut, setBookingCut] = useState(null);\n\n // ver busy\n const [busySchedule, setBusySchedule] = useState(null);\n\n // Top control configuration\n const [columnWidth, setColumnWidth] = useState(100);\n const [facilityGroupId, setFacilityGroupId] = useState();\n\n // Privilegios para ver los alquileres\n const [ImUserPrivileged, setImUserPrivileged] = useState(false);\n\n // Column width coeffs\n const coeffs = [\n {\n id: 'NORMAL',\n width: 100,\n name: cxt.t('controller.timetable.widthNormal'),\n },\n {\n id: 'CLOSE',\n width: 50,\n name: cxt.t('controller.timetable.widthClose'),\n },\n {\n id: 'WIDE',\n width: 150,\n name: cxt.t('controller.timetable.widthWide'),\n },\n {\n id: 'VERY_WIDE',\n width: 200,\n name: cxt.t('controller.timetable.widthveryWide'),\n },\n ];\n\n // Query strings\n let queryStrings = {};\n\n /**\n * Load timetable\n */\n const loadTimetable = () => {\n cxt.api('GET', '/timetable', {\n params: {\n idSC: match.params.id,\n date,\n idFieldGroup: facilityGroupId > 0 ? facilityGroupId : null,\n weekly: isWeekly,\n // idSport: $scope.sport ? $scope.sport.id : null,\n },\n success: (r) => {\n setTimetable(r);\n },\n });\n };\n\n /**\n * On change any control\n *\n * \t* facilityGroupId\n * \t* coeff\n * \t* date\n */\n const onChange = (p = {}) => {\n // Date changes\n if (p.date) {\n setDate(p.date);\n }\n\n // Column width coeff changes\n if (p.coeff) setColumnWidth(p.coeff.width);\n\n // Facility group changes\n if (p.facilityGroupId !== undefined)\n setFacilityGroupId(p.facilityGroupId);\n\n // Coeff changes\n if (p.coeff) {\n const coeff = coeffs.find((e) => e.id === p.coeff);\n setColumnWidth(coeff.width);\n }\n };\n\n /**\n * On change timetable\n */\n const onChangeTimetable = () => {\n // Close all\n setSelectedPiece(null);\n\n // Refresh\n loadTimetable();\n };\n\n /**\n * Top controls change\n */\n useEffect(() => {\n if (facilityGroupId) loadTimetable();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [facilityGroupId, date, isWeekly]);\n\n /**\n * Init\n */\n useEffect(() => {\n cxt.setHeader({ title: cxt.t('Timetable') });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Open piece\n */\n const openPiece = (column, piece) => {\n setSelectedColumn(column);\n\n // If I'm use I only can use a FREE piece or see my own booking\n if (\n cxt.user.role === cxt.constants.roleUser ||\n cxt.user.role === cxt.constants.roleTeacher\n ) {\n switch (piece.mark) {\n case 'FREE':\n setSelectedPiece(piece);\n break;\n\n // Si el aforo está lleno, puedo abrirla si cuento con privilegios de ver alquileres\n case 'FULL':\n if (ImUserPrivileged) {\n setSelectedPiece(piece);\n }\n break;\n\n case 'RENT':\n // I'm user owner of the booking\n if (\n piece.booking.user &&\n piece.booking.user.id === cxt.user.id\n ) {\n history.push(\n getPath('booked', { id: piece.booking.id }),\n );\n }\n break;\n\n case 'EVENT':\n history.push(\n getPath('eventPublic', {\n id: piece.eventPeriod.event.id,\n }),\n );\n break;\n default:\n break;\n }\n\n // I'm SC owner\n } else if (cxt.user.role === cxt.constants.roleSC) {\n switch (piece.mark) {\n case 'BUSY':\n setBusySchedule({\n id: piece.busy.id,\n idFacility: column.facility ? column.facility.id : null,\n name: piece.title,\n notes: piece.notes,\n ini: piece.ini,\n end: piece.end,\n timeini: moment(piece.ini).format('HH:mm'),\n timeend: moment(piece.end).format('HH:mm'),\n });\n\n break;\n\n case 'RENT':\n setOpenBookingId(piece.booking.id);\n break;\n\n case 'CLASS':\n setOpenActivityId(piece.class.activity.id);\n break;\n\n default:\n setSelectedPiece(piece);\n setSelectedColumn(column);\n break;\n }\n\n // I'm no one (not logged in, likely used from /scs/:id/widget)\n } else if (piece.mark === 'FREE') {\n // setSelectedPiece(piece);\n // setLoginDialog(true);\n // If user not logged in we will redirect to login page and\n // after that we will redirect to previous page.\n redirectLogin(history);\n }\n };\n\n /**\n * Cut booking\n */\n const cutBooking = (booking) => {\n setBookingCut(booking);\n setSelectedPiece(null);\n setOpenBookingId(null);\n\n cxt.showMessage('S', cxt.t('copyPasteBookingPrepared'));\n };\n\n /**\n * Toggle weekly\n */\n const toggleWeekly = () => {\n setIsWeekly(!isWeekly);\n };\n\n useEffect(() => {\n setAffidavitAccepted(affidavitAccepted);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [affidavitAccepted]);\n\n // date: 2021-04-20\n // group: 1\n useEffect(() => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n queryStrings = getQueryStrings(location.search);\n if (queryStrings && queryStrings.date) setDate(queryStrings.date);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n\n /**\n * Check if user have \"19\" privilege (can see bookings people names).\n * Esto lo necesitamos aquí para saber si podemos siquiera pinchar; pasamos la info a TimetableOperate\n */\n const getUserPrivileges = () => {\n cxt.api('GET', `/scs/${match.params.id}/me`, {\n success: (result) => {\n if (result.mship && result.mship.privileges.includes(19)) {\n setImUserPrivileged(true);\n }\n },\n });\n };\n\n useEffect(() => {\n if (cxt.user && cxt.user.role === 'USER') getUserPrivileges();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cxt.user.id]);\n\n // -----| Render |-----\n return (\n \n \n \n\n \n \n \n {/* --- Copy / paste booking message --- */}\n {bookingCut && (\n \n \n {cxt.t('copyPasteBookingPrepared')}\n \n {cxt.t('page.timetable.move.info')}\n \n\n \n \n setOpenBookingId(bookingCut.id)\n }\n >\n {cxt.t('See')}\n \n \n \n \n )}\n\n {timetable && timetable.one && (\n \n )}\n\n {timetable && timetable.weekly && (\n \n ({\n caption: tt.facility.name,\n component: (\n ({\n ...col,\n facility: tt.facility,\n }))}\n columnWidth={columnWidth}\n onSelectPiece={openPiece}\n />\n ),\n }))}\n />\n \n )}\n \n\n {/* --- Booking dialog --- */}\n setOpenBookingId(null)}\n onUpdate={() => loadTimetable()}\n cutBooking={cutBooking}\n />\n\n {/* --- Operate on FREE --- */}\n {affidavitAccepted &&\n selectedPiece &&\n ['FREE', 'FULL'].includes(selectedPiece.mark) && (\n {\n setSelectedPiece(null);\n setAffidavitAccepted(null);\n }}\n onChangeTimetable={() => onChangeTimetable()}\n bookingCut={bookingCut}\n setBookingCut={setBookingCut}\n cutBooking={cutBooking}\n privileged={ImUserPrivileged}\n />\n )}\n\n {/* --- Busy schedule --- */}\n {busySchedule && (\n setBusySchedule(null)}\n onSave={onChangeTimetable}\n />\n )}\n\n {/* --- Activity dialog --- */}\n {openActivityId && (\n setOpenActivityId(null)}\n />\n )}\n\n {loginDialog && (\n {\n cxt.showMessage(\n 'S',\n cxt.t('OperationSuccessful'),\n );\n setLoginDialog(false);\n }}\n onClose={() => setLoginDialog(false)}\n />\n }\n onClose={() => setLoginDialog(false)}\n />\n )}\n {selectedPiece && ['FREE', 'FULL'].includes(selectedPiece.mark) && (\n {\n setAffidavitAccepted(value);\n if (!value) {\n setSelectedPiece(null);\n }\n }}\n />\n )}\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z\"\n}), 'LockOpen');","import React, { useState, useContext } from 'react';\nimport {\n Box,\n Grid,\n Card,\n CardHeader,\n CardContent,\n Chip,\n Typography,\n} from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport { AppContext, SttButton, SttQR } from '../../../sporttia/all';\nimport { formatPriceByLocale, fullName } from '../../../lib/utils';\nimport constants from '../../../config/constants';\nimport translations from '../../../translations';\n\nexport default function Occupants({ occupants, cancelPrivilege, idOwner }) {\n const cxt = useContext(AppContext);\n const [occupantsValues, setOccupantsValues] = useState(occupants);\n\n const history = useHistory();\n\n function deleteOccupant(occupantId) {\n cxt.api('DELETE', `/bookings/occupants/${occupantId}`, {\n params: {\n cancelBookingOnLastOccupant: true,\n },\n success: () => {\n cxt.showMessage('S', cxt.t(translations.generic.deleted));\n const newOccupantsValue = occupantsValues.filter(\n (occupant) => occupant.id !== occupantId,\n );\n setOccupantsValues(newOccupantsValue);\n if (newOccupantsValue.length === 0) {\n history.goBack();\n }\n },\n confirmation: true,\n });\n }\n\n return (\n \n \n {occupantsValues?.map((occupant) => (\n \n \n \n \n {/* --- Rate & price --- */}\n \n {occupant.rate?.map((price) => (\n \n ))}\n \n {occupant.bonoMov?.id && (\n \n \n \n )}\n {occupant.unlockers?.[0]?.type ===\n constants.unlocker.types.QR && (\n \n \n \n )}\n\n {occupant.unlockers?.[0]?.type ===\n constants.unlocker.types.PIN && (\n \n \n PIN: {occupant.unlockers[0].code}\n \n \n \n * {cxt.t('RememberToPressHash')}\n \n \n \n )}\n\n {occupant.unlockers?.[1]?.type ===\n constants.unlocker.types.QR && (\n \n \n \n )}\n\n {occupant.unlockers?.[1]?.type ===\n constants.unlocker.types.PIN && (\n \n \n PIN: {occupant.unlockers[1].code}\n \n \n \n * {cxt.t('RememberToPressHash')}\n \n \n \n )}\n {cxt.logged &&\n (cxt.user.role ===\n constants.roles.sportcenter ||\n (idOwner === cxt.user.id &&\n cancelPrivilege)) && (\n \n \n deleteOccupant(occupant.id)\n }\n />\n \n )}\n \n \n \n ))}\n \n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n}), 'Apps');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 19.22H5V7h7V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-7h-2v7.22z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 2h-2v3h-3c.01.01 0 2 0 2h3v2.99c.01.01 2 0 2 0V7h3V5h-3V2zM7 9h8v2H7zM7 12v2h8v-2h-3zM7 15h8v2H7z\"\n})), 'PostAdd');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 7.5h5v2h-5zm0 7h5v2h-5zM19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zM11 6H6v5h5V6zm-1 4H7V7h3v3zm1 3H6v5h5v-5zm-1 4H7v-3h3v3z\"\n}), 'BallotOutlined');","import React, { Fragment, useContext, useEffect, useState } from 'react';\nimport {\n Avatar,\n Box,\n Button,\n Divider,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Typography,\n} from '@material-ui/core';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttLabelDate } from '../../../sporttia/labels/SttLabelDate';\nimport MessageCommentBox from '../../sc/messages/MessageCommentBox';\n\n/**\n * Sport Center Wall Comments List component. Visualize all Post comments.\n * @param post Object with Post value.\n * @returns {JSX.Element} JSX with component.\n */\nexport default function MessageCommentList({ post, scId }) {\n const cxt = useContext(AppContext);\n const [comments, setComments] = useState();\n const [page, setPage] = useState(1);\n const [rows, setRows] = useState(5);\n const [postValue, setPostValue] = useState({});\n\n /**\n * Load comments.\n */\n const loadComments = () => {\n cxt.api('GET', `/posts/${postValue.id}/comments`, {\n params: {\n page,\n rows,\n },\n success: (r) => {\n setComments(r);\n },\n });\n };\n\n /**\n * Send post comment.\n * @param text String with comment text value.\n */\n const sendComment = (text) => {\n cxt.api('POST', `/posts/${postValue.id}/comments`, {\n params: {\n text,\n },\n success: () => {\n loadComments();\n },\n });\n };\n\n /**\n * Delete post comment.\n * @param commentId comment id.\n */\n const deleteComment = (commentId) => {\n cxt.api('DELETE', `/posts/comments/${commentId}`, {\n confirmation: true,\n success: (r) => {\n cxt.showMessage('S', 'Deleted');\n loadComments();\n },\n });\n };\n\n /**\n * If 'post' was changed we set postValue variable.\n */\n useEffect(() => {\n if (post && post.id) setPostValue(post);\n }, [post]);\n\n /**\n * If 'postValue' was changed we load comments.\n */\n useEffect(() => {\n if (postValue && postValue.id) loadComments();\n }, [postValue]);\n\n /**\n * If 'rows' was changed we load comments.\n */\n useEffect(() => {\n if (rows && postValue && postValue.id) loadComments();\n }, [rows]);\n\n // -----| Render |-----\n return (\n \n \n {comments && comments.count > comments.rows.length && (\n \n )}\n\n {comments &&\n comments.rows.map((comment, idxComm) => (\n \n \n \n \n \n\n \n \n \n }\n />\n \n\n \n \n {comment.text}\n \n {cxt?.logged &&\n (cxt?.user?.id === comment?.creator?.id ||\n (cxt?.sc?.id &&\n scId &&\n (cxt?.sc?.id).toString() ===\n scId?.toString())) && (\n }\n onClick={() =>\n deleteComment(comment.id)\n }\n style={{ padding: '0' }}\n >\n {cxt.t('Delete')}\n \n )}\n \n\n {idxComm !== comments.rows.length - 1 && (\n \n )}\n \n ))}\n \n\n {cxt.logged && (\n \n )}\n \n );\n}\n","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmpty(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512.001 512.001\",\n style: {\n enableBackground: \"new 0 0 512.001 512.001\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#006EFF\"\n },\n d: \"M63.201,111.399l-48.2,96.4h144.6c0,53.241,43.16,96.399,96.4,96.399s96.4-43.158,96.4-96.399h144.6 l-48.2-96.4H63.201z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#0050C3\"\n },\n d: \"M448.801,111.399h-192.8v192.8c53.24,0,96.4-43.158,96.4-96.399h144.6L448.801,111.399z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#7CC8F0\"\n },\n d: \"M511.996,207.704c-0.003-0.439-0.025-0.876-0.066-1.314c-0.01-0.107-0.023-0.214-0.036-0.321 c-0.043-0.368-0.098-0.735-0.168-1.101c-0.017-0.084-0.027-0.168-0.044-0.252c-0.082-0.391-0.186-0.777-0.3-1.163 c-0.044-0.146-0.089-0.292-0.136-0.436c-0.106-0.322-0.223-0.642-0.352-0.959c-0.057-0.138-0.115-0.273-0.175-0.409 c-0.097-0.221-0.194-0.44-0.302-0.657l-48.201-96.4c-2.541-5.082-7.734-8.292-13.416-8.292H63.201 c-5.682,0-10.875,3.21-13.416,8.292l-48.201,96.4c-0.107,0.217-0.205,0.437-0.303,0.657c-0.059,0.136-0.117,0.271-0.174,0.409 c-0.129,0.317-0.244,0.637-0.352,0.959c-0.047,0.145-0.092,0.29-0.136,0.436c-0.114,0.386-0.218,0.773-0.3,1.163 c-0.017,0.084-0.027,0.168-0.044,0.252c-0.069,0.365-0.126,0.732-0.168,1.101c-0.013,0.107-0.026,0.214-0.036,0.321 c-0.041,0.438-0.064,0.875-0.066,1.314c0,0.032-0.005,0.063-0.005,0.096v192.8c0,8.284,6.716,15,15,15h482c8.284,0,15-6.716,15-15 V207.799C512.001,207.767,511.996,207.736,511.996,207.704z M72.472,126.399h367.059l33.2,66.4h-120.33c-8.284,0-15,6.716-15,15 c0,44.884-36.517,81.399-81.4,81.399s-81.4-36.516-81.4-81.399c0-8.284-6.716-15-15-15H39.272L72.472,126.399z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#4BB9EC\"\n },\n d: \"M511.996,207.704c-0.003-0.439-0.025-0.876-0.066-1.314c-0.01-0.107-0.023-0.214-0.036-0.321 c-0.043-0.368-0.098-0.735-0.168-1.101c-0.017-0.084-0.027-0.168-0.044-0.252c-0.082-0.391-0.186-0.777-0.3-1.163 c-0.044-0.146-0.089-0.292-0.136-0.436c-0.106-0.322-0.223-0.642-0.352-0.959c-0.057-0.138-0.115-0.273-0.175-0.409 c-0.097-0.221-0.194-0.44-0.302-0.657l-48.201-96.4c-2.541-5.082-7.734-8.292-13.416-8.292H256.001v30H439.53l33.2,66.4H352.401 c-8.284,0-15,6.716-15,15c0,44.884-36.517,81.399-81.4,81.399v126.4h241c8.284,0,15-6.716,15-15v-192.8 C512.001,207.767,511.996,207.736,511.996,207.704z\"\n }), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null)), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmpty);\nexport default __webpack_public_path__ + \"static/media/empty.4e936cd915070e6f5b4bd316424f0e43.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useContext } from 'react';\nimport { Paper, Box, Grid, Typography } from '@material-ui/core';\nimport { AppContext } from './all';\nimport emptyImage from '../images/empty.svg';\n\ntype SttNoResultsProps = {\n text?: string;\n paper?: boolean;\n};\n\nexport function SttNoResults({ text, paper = false }: SttNoResultsProps) {\n const cxt = useContext(AppContext)!;\n\n const content = (\n \n \n \n \n \n \n\n \n \n {text || cxt.t('NoResults')}\n \n \n \n );\n\n if (paper) {\n return {content};\n }\n\n return content;\n}\n","import React, { Fragment, useContext, useEffect, useState } from 'react';\nimport {\n Avatar,\n Box,\n Divider,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Typography,\n} from '@material-ui/core';\nimport Grid from '@material-ui/core/Grid';\nimport Button from '@material-ui/core/Button';\nimport ChatBubbleOutlineIcon from '@material-ui/icons/ChatBubbleOutline';\nimport ReplyIcon from '@material-ui/icons/Reply';\nimport IconButton from '@material-ui/core/IconButton';\nimport SendIcon from '@material-ui/icons/Send';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport { SttFormTextarea } from '../../../sporttia/forms/SttFormTextarea';\nimport SCWallCommentsList from './SCWallCommentsList';\nimport { SttNoResults } from '../../../sporttia/SttNoResults';\nimport { SttLabelDate } from '../../../sporttia/labels/SttLabelDate';\nimport { AppContext } from '../../../sporttia/AppContext';\n\n/**\n * Sport Center Wall component. Visualize sport center posts.\n * @param scId integer Sport Center ID.\n * @returns {JSX.Element} JSX with component.\n */\nexport default function SCWall({ scId }) {\n const cxt = useContext(AppContext);\n const [page, setPage] = useState(1);\n const [rows, setRows] = useState(10);\n const [posts, setPosts] = useState({});\n const [showingCommentsMsg, setShowingCommentsMsg] = useState();\n const [text, setText] = useState('');\n\n /**\n * Post send button.\n * @returns {JSX.Element} JSX Element with SendButton component.\n * @constructor\n */\n function SendButton() {\n return (\n addPost(text)}\n style={{ color: '#495e0b' }}\n >\n {cxt.t('Send')} \n\n \n \n );\n }\n\n /**\n * Load posts.\n */\n const loadPosts = () => {\n cxt.api('GET', `/scs/${scId}/posts`, {\n params: {\n page,\n rows,\n },\n success: (r) => {\n if (page === 1) {\n setPosts(r);\n } else {\n setPosts({\n ...posts,\n rows: [...posts.rows, ...r.rows],\n });\n }\n },\n });\n };\n\n /**\n * Add new post to sport center wall.\n * @param text String with text that will be send.\n */\n const addPost = (text) => {\n cxt.api('POST', `/scs/${scId}/posts`, {\n params: {\n text,\n },\n success: () => {\n loadPosts();\n setText('');\n cxt.showMessage('S', cxt.t('PostSent'));\n },\n });\n };\n\n /**\n * Delete Post\n */\n const deletePost = (postId) => {\n cxt.api('DELETE', `/posts/${postId}`, {\n confirmation: true,\n success: (r) => {\n cxt.showMessage('S', 'Deleted');\n loadPosts();\n },\n });\n };\n\n /**\n * Get post title.\n * @param post Object Post.\n * @returns {string|ts.JSDocNamespaceDeclaration|ts.Identifier|string|*} String with Post title.\n */\n const buildPostTitle = (post) =>\n post.sender && post.sender.fullName\n ? post.sender.fullName\n : post.sender.name;\n\n /**\n * If page value is greater than 1 we load posts.\n */\n useEffect(() => {\n if (page > 1) loadPosts();\n }, [page]);\n\n /**\n * If 'scId' was changed we load posts.\n */\n useEffect(() => {\n if (scId) loadPosts();\n }, [scId]);\n\n // -----| Render |-----\n return (\n <>\n {cxt.logged && cxt.sc && cxt.sc.id === parseInt(scId) && (\n \n setText(value)}\n InputProps={{ endAdornment: }}\n />\n \n )}\n\n \n {posts &&\n posts.rows &&\n posts.rows.map((post, idxpost) => (\n \n \n \n {post.img && post.img.id ? (\n \n ) : (\n \n )}\n \n\n \n \n \n }\n />\n \n\n \n \n \n {post.text}\n \n \n\n \n \n \n {post.comments &&\n post.comments.count > 0 && (\n \n \n \n }\n onClick={() =>\n setShowingCommentsMsg(\n showingCommentsMsg\n ? null\n : post,\n )\n }\n >\n {\n post\n .comments\n .count\n }{' '}\n {cxt.t(\n 'comments',\n )}\n \n \n {cxt.logged &&\n cxt.user.id ===\n post.sender\n .id && (\n \n \n }\n onClick={() =>\n deletePost(\n post.id,\n )\n }\n >\n {cxt.t(\n 'Delete',\n )}\n \n \n )}\n \n )}\n\n {cxt.logged &&\n post.comments.count === 0 && (\n \n \n \n }\n onClick={() =>\n setShowingCommentsMsg(\n post,\n )\n }\n >\n {cxt.t(\n 'Comment',\n )}\n \n \n {(cxt.user.id ===\n post.sender.id ||\n (cxt.user.role ===\n 'SPORTCENTER' &&\n scId.toString() ===\n cxt.sc.id.toString())) && (\n \n \n }\n onClick={() =>\n deletePost(\n post.id,\n )\n }\n >\n {cxt.t(\n 'Delete',\n )}\n \n \n )}\n \n )}\n \n \n \n\n {showingCommentsMsg &&\n showingCommentsMsg.id === post.id && (\n \n )}\n \n\n {idxpost !== posts.rows.length - 1 && (\n \n )}\n \n ))}\n\n {posts && posts.count === 0 && }\n \n\n {posts && posts.rows && posts.count > posts.rows.length && (\n \n )}\n \n );\n}\n","import useRestService from './RestService';\n\nconst resource = '/search';\n\n/**\n * Hook to access all 'search' resources.\n */\nexport default function useSearchService() {\n const services = useRestService(resource);\n\n return {\n ...services,\n };\n}\n","import React, { useContext } from 'react';\nimport {\n Box,\n Grid,\n Link,\n Typography,\n useMediaQuery,\n useTheme,\n} from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { getPath } from '../../../pages/Pages';\nimport { AppContext } from '../../AppContext';\nimport { formatPriceByLocale, formatPeriod } from '../../../lib/utils';\n\n/**\n * Card representing an event.\n * @param event Event object.\n * @returns {JSX.Element|null}\n */\nexport function SttEventCard({ event }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const classes = useStyles();\n\n const theme = useTheme();\n const mdUp = useMediaQuery(theme.breakpoints.up('sm'));\n\n if (!event) {\n return null;\n }\n\n const inTime =\n moment().isAfter(moment(event.ini)) &&\n moment().isBefore(moment(event.end));\n const inIscTime =\n moment().isAfter(moment(event.inscIni)) &&\n moment().isBefore(moment(event.inscEnd));\n const dateFormat = mdUp ? 'D MMMM YYYY' : 'DD/MM/YYYY';\n const [period, , periodLabel] = formatPeriod(\n event.ini,\n event.end,\n { dateFormat },\n cxt.t,\n );\n const [inscPeriod] = formatPeriod(\n event.inscIni,\n event.inscEnd,\n { dateFormat },\n cxt.t,\n );\n\n return (\n \n \n \n
\n \n history.push(\n getPath('eventPublic', {\n id: event.id,\n }),\n )\n }\n >\n {event.name}\n \n
\n
\n \n history.push(\n getPath('timetable', {\n id: event.sc.id,\n }),\n )\n }\n >\n \n {event.sc.name}\n \n \n
\n
\n \n \n \n {event.sport.name}\n \n \n \n \n \n \n {periodLabel}:{' '}\n \n \n {period}\n \n \n \n \n {cxt.t('Inscription')}:{' '}\n \n \n {inscPeriod}\n \n \n \n \n \n \n \n {cxt.t('Price')}\n \n {`${cxt.t(\n 'From',\n )} ${formatPriceByLocale(\n event.price,\n event?.priceShape?.currency,\n event?.priceShape?.locale,\n )}`}\n \n {event.teamable ? (\n \n \n {cxt.t('Teams')}\n \n {`${\n event.numTeams\n }${\n event.maxTeams ? ` / ${event.maxTeams}` : ''\n }`}\n \n ) : (\n \n \n {cxt.t('SignedCount')}\n \n {`${\n event.numParticipants\n }${\n event.maxParticipants\n ? ` / ${event.maxParticipants}`\n : ''\n }`}\n \n )}\n \n \n
\n
\n );\n}\n\nconst useStyles = makeStyles(() => ({\n green: {\n color: 'green',\n },\n red: {\n color: 'red',\n },\n}));\n","import React, { useRef } from 'react';\nimport { Box, CircularProgress, Divider } from '@material-ui/core';\nimport { useInfiniteQuery } from 'react-query';\nimport { useOnViewport, useTranslations } from '../../../lib/hooks';\nimport useSearchService from '../../../services/SearchService';\nimport { USER_SEARCH_EVENTS } from '../../../lib/queryKeys';\nimport { SttEventCard } from './SttEventCard';\n\n/**\n * List of activities cards. Use the infinite scroll.\n * @param params Parameters that are sent to the API.\n * @returns {JSX.Element}\n */\nexport function SttEventCardList({ params = {} }) {\n const ROWS_PER_PAGE = 15;\n const { translate } = useTranslations();\n const searchService = useSearchService();\n const ref = useRef();\n const { data, status, isFetchingNextPage, fetchNextPage, hasNextPage } =\n useInfiniteQuery(\n [\n USER_SEARCH_EVENTS,\n {\n ...params,\n },\n ],\n ({ pageParam = 1 }) =>\n searchService\n .getList({\n page: pageParam,\n rows: ROWS_PER_PAGE,\n kind: 2,\n ...params,\n })\n .then((response) => {\n response.events.page = pageParam;\n return response;\n }),\n {\n getNextPageParam: (lastPage) =>\n lastPage?.events?.page < lastPage?.events?.pages\n ? lastPage?.events?.page + 1\n : undefined,\n },\n );\n useOnViewport(ref, '-100px', fetchNextPage);\n\n return (\n <>\n {status === 'loading' ? (\n \n \n \n ) : status === 'error' ? (\n <>Error\n ) : (\n <>\n \n {data?.pages[0]?.events?.count}{' '}\n {translate('events')}\n \n {data.pages.map((page, i) => (\n \n {page.events.rows.map((event, eventKey) => (\n \n {eventKey > 0 && (\n \n \n \n )}\n \n \n ))}\n \n ))}\n {isFetchingNextPage && (\n \n \n \n )}\n {!hasNextPage && (\n \n No hay más resultados.\n \n )}\n \n )}\n {/* Este div es para detectar el final de la página, cuando sea visible se van a pedir datos a la API para realizar el scroll infinito. */}\n
\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z\"\n}), 'CreditCard');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"\n}), 'AccountBalanceWallet');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM8.46 14.45l-1.36-.62c.28-.61.41-1.24.4-1.86-.01-.63-.14-1.24-.4-1.8l1.36-.63c.35.75.53 1.56.54 2.4.01.86-.17 1.7-.54 2.51zm3.07 1.56l-1.3-.74c.52-.92.78-1.98.78-3.15 0-1.19-.27-2.33-.8-3.4l1.34-.67c.64 1.28.96 2.65.96 4.07 0 1.43-.33 2.74-.98 3.89zm3.14 1.32l-1.35-.66c.78-1.6 1.18-3.18 1.18-4.69 0-1.51-.4-3.07-1.18-4.64l1.34-.67c.9 1.78 1.34 3.56 1.34 5.31 0 1.74-.44 3.54-1.33 5.35z\"\n}), 'Contactless');","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { Component } from \"react\";\n\nfunction appendStyle(id, css) {\n if (!document.head.querySelector(\"#\" + id)) {\n var node = document.createElement(\"style\");\n node.textContent = css;\n node.type = \"text/css\";\n node.id = id;\n document.head.appendChild(node);\n }\n}\n\nvar StyleInjector = /*#__PURE__*/function (_Component) {\n _inherits(StyleInjector, _Component);\n\n var _super = _createSuper(StyleInjector);\n\n function StyleInjector() {\n _classCallCheck(this, StyleInjector);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(StyleInjector, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n appendStyle(this.props.name, this.props.css);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var node = document.getElementById(this.props.name);\n node.parentNode.removeChild(node);\n }\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return StyleInjector;\n}(Component);\n\nexport { StyleInjector as default };\nexport var lightboxStyles = function lightboxStyles(_ref) {\n var imageBackgroundColor = _ref.imageBackgroundColor;\n return \"\\n body {\\n overflow: hidden;\\n }\\n\\n .__react_modal_image__modal_container {\\n position: fixed;\\n z-index: 5000;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(0, 0, 0, 0.8);\\n touch-action: none;\\n overflow: hidden;\\n }\\n\\n .__react_modal_image__modal_content {\\n position: relative;\\n height: 100%;\\n width: 100%;\\n }\\n\\n .__react_modal_image__modal_content img, \\n .__react_modal_image__modal_content svg {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate3d(-50%, -50%, 0);\\n -webkit-transform: translate3d(-50%, -50%, 0);\\n -ms-transform: translate3d(-50%, -50%, 0);\\n overflow: hidden;\\n }\\n\\n .__react_modal_image__medium_img {\\n max-width: 98%;\\n max-height: 98%;\\n background-color: \".concat(imageBackgroundColor, \";\\n }\\n\\n .__react_modal_image__large_img {\\n cursor: move;\\n background-color: \").concat(imageBackgroundColor, \"\\n }\\n\\n .__react_modal_image__icon_menu a {\\n display: inline-block;\\n font-size: 40px;\\n cursor: pointer;\\n line-height: 40px;\\n box-sizing: border-box;\\n border: none;\\n padding: 0px 5px 0px 5px;\\n margin-left: 10px;\\n color: white;\\n background-color: rgba(0, 0, 0, 0);\\n }\\n\\n .__react_modal_image__icon_menu {\\n display: inline-block;\\n float: right;\\n }\\n\\n .__react_modal_image__caption {\\n display: inline-block;\\n color: white;\\n font-size: 120%;\\n padding: 10px;\\n margin: 0;\\n }\\n\\n .__react_modal_image__header {\\n position: absolute;\\n top: 0;\\n width: 100%;\\n background-color: rgba(0, 0, 0, 0.7);\\n overflow: hidden;\\n }\\n\");\n};","/* \n Icons from https://material.io/icons/\n*/\nimport React from \"react\";\nexport var ZoomInIcon = function ZoomInIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n fill: \"#ffffff\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z\"\n }));\n};\nexport var ZoomOutIcon = function ZoomOutIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n fill: \"#ffffff\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z\"\n }));\n};\nexport var DownloadIcon = function DownloadIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n fill: \"#ffffff\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }));\n};\nexport var CloseIcon = function CloseIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n fill: \"#ffffff\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }));\n};\nexport var SpinnerIcon = function SpinnerIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n fill: \"#ffffff\",\n height: \"48\",\n viewBox: \"0 0 24 24\",\n width: \"48\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.01H18V2H6zm10 14.5V20H8v-3.5l4-4 4 4zm-4-5l-4-4V4h8v3.5l-4 4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n }));\n};\nexport var RotateIcon = function RotateIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n fill: \"#ffffff\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0V0zm0 0h24v24H0V0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.47 21.49C4.2 19.93 1.86 16.76 1.5 13H0c.51 6.16 5.66 11 11.95 11 .23 0 .44-.02.66-.03L8.8 20.15l-1.33 1.34zM12.05 0c-.23 0-.44.02-.66.04l3.81 3.81 1.33-1.33C19.8 4.07 22.14 7.24 22.5 11H24c-.51-6.16-5.66-11-11.95-11zM16 14h2V8c0-1.11-.9-2-2-2h-6v2h6v6zm-8 2V4H6v2H4v2h2v8c0 1.1.89 2 2 2h8v2h2v-2h2v-2H8z\"\n }));\n};","import React from \"react\";\nimport { ZoomInIcon, ZoomOutIcon, DownloadIcon, CloseIcon, RotateIcon } from \"./icons\";\n\nfunction isSameOrigin(href) {\n // @ts-ignore\n return document.location.hostname !== new URL(href, document.location).hostname;\n}\n/**\n * Triggers image download from cross origin URLs\n * \n * `foo works only for same-origin URLs.\n * Further info: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n\n\nvar crossOriginDownload = function crossOriginDownload(href) {\n return function (event) {\n if (!isSameOrigin(href)) {\n // native download will be triggered by `download` attribute\n return;\n } // else proceed to use `fetch` for cross origin image download\n\n\n event.preventDefault();\n fetch(href).then(function (res) {\n if (!res.ok) {\n console.error(\"Failed to download image, HTTP status \" + res.status + \" from \" + href);\n }\n\n return res.blob().then(function (blob) {\n var tmpAnchor = document.createElement(\"a\");\n tmpAnchor.setAttribute(\"download\", href.split(\"/\").pop());\n tmpAnchor.href = URL.createObjectURL(blob);\n tmpAnchor.click();\n });\n })[\"catch\"](function (err) {\n console.error(err);\n console.error(\"Failed to download image from \" + href);\n });\n };\n};\n\nvar Header = function Header(_ref) {\n var image = _ref.image,\n alt = _ref.alt,\n zoomed = _ref.zoomed,\n toggleZoom = _ref.toggleZoom,\n toggleRotate = _ref.toggleRotate,\n onClose = _ref.onClose,\n enableDownload = _ref.enableDownload,\n enableZoom = _ref.enableZoom,\n enableRotate = _ref.enableRotate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"__react_modal_image__header\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"__react_modal_image__icon_menu\"\n }, enableDownload && /*#__PURE__*/React.createElement(\"a\", {\n href: image,\n download: true,\n onClick: crossOriginDownload(image)\n }, /*#__PURE__*/React.createElement(DownloadIcon, null)), enableZoom && /*#__PURE__*/React.createElement(\"a\", {\n onClick: toggleZoom\n }, zoomed ? /*#__PURE__*/React.createElement(ZoomOutIcon, null) : /*#__PURE__*/React.createElement(ZoomInIcon, null)), enableRotate && /*#__PURE__*/React.createElement(\"a\", {\n onClick: toggleRotate\n }, /*#__PURE__*/React.createElement(RotateIcon, null)), /*#__PURE__*/React.createElement(\"a\", {\n onClick: onClose\n }, /*#__PURE__*/React.createElement(CloseIcon, null))), alt && /*#__PURE__*/React.createElement(\"span\", {\n className: \"__react_modal_image__caption\"\n }, alt));\n};\n\nexport default Header;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from \"react\";\nimport { SpinnerIcon } from \"./icons\";\n\nvar Image = /*#__PURE__*/function (_Component) {\n _inherits(Image, _Component);\n\n var _super = _createSuper(Image);\n\n function Image() {\n var _this;\n\n _classCallCheck(this, Image);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n loading: true\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnLoad\", function () {\n _this.setState({\n loading: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnContextMenu\", function (event) {\n !_this.props.contextMenu && event.preventDefault();\n });\n\n return _this;\n }\n\n _createClass(Image, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n id = _this$props.id,\n className = _this$props.className,\n src = _this$props.src,\n style = _this$props.style,\n handleDoubleClick = _this$props.handleDoubleClick;\n return /*#__PURE__*/React.createElement(\"div\", null, this.state.loading && /*#__PURE__*/React.createElement(SpinnerIcon, null), /*#__PURE__*/React.createElement(\"img\", {\n id: id,\n className: className,\n src: src,\n style: style,\n onLoad: this.handleOnLoad,\n onDoubleClick: handleDoubleClick,\n onContextMenu: this.handleOnContextMenu\n }));\n }\n }]);\n\n return Image;\n}(Component);\n\nexport { Image as default };","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from \"react\";\nimport StyleInjector, { lightboxStyles } from \"./styles\";\nimport Header from \"./Header\";\nimport Image from \"./Image\";\n\nvar Lightbox = /*#__PURE__*/function (_Component) {\n _inherits(Lightbox, _Component);\n\n var _super = _createSuper(Lightbox);\n\n function Lightbox() {\n var _this;\n\n _classCallCheck(this, Lightbox);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n move: {\n x: 0,\n y: 0\n },\n moveStart: undefined,\n zoomed: false,\n rotationDeg: 0\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (event) {\n // ESC or ENTER closes the modal\n if (event.keyCode === 27 || event.keyCode === 13) {\n _this.props.onClose();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getCoordinatesIfOverImg\", function (event) {\n var point = event.changedTouches ? event.changedTouches[0] : event;\n\n if (point.target.id !== \"react-modal-image-img\") {\n // the img was not a target of the coordinates\n return;\n }\n\n var dim = _this.contentEl.getBoundingClientRect();\n\n var x = point.clientX - dim.left;\n var y = point.clientY - dim.top;\n return {\n x: x,\n y: y\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseDownOrTouchStart\", function (event) {\n event.preventDefault();\n\n if (event.touches && event.touches.length > 1) {\n // more than one finger, ignored\n return;\n }\n\n var coords = _this.getCoordinatesIfOverImg(event);\n\n if (!coords) {\n // click outside the img => close modal\n _this.props.onClose();\n }\n\n if (!_this.state.zoomed) {\n // do not allow drag'n'drop if zoom has not been applied\n return;\n }\n\n _this.setState(function (prev) {\n return {\n moveStart: {\n x: coords.x - prev.move.x,\n y: coords.y - prev.move.y\n }\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseMoveOrTouchMove\", function (event) {\n event.preventDefault();\n\n if (!_this.state.zoomed || !_this.state.moveStart) {\n // do not allow drag'n'drop if zoom has not been applied\n // or if there has not been a click\n return;\n }\n\n if (event.touches && event.touches.length > 1) {\n // more than one finger, ignored\n return;\n }\n\n var coords = _this.getCoordinatesIfOverImg(event);\n\n if (!coords) {\n return;\n }\n\n _this.setState(function (prev) {\n return {\n move: {\n x: coords.x - prev.moveStart.x,\n y: coords.y - prev.moveStart.y\n }\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseUpOrTouchEnd\", function (event) {\n _this.setState({\n moveStart: undefined\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggleZoom\", function (event) {\n event.preventDefault();\n\n _this.setState(function (prev) {\n return {\n zoomed: !prev.zoomed,\n // reset position if zoomed out\n move: prev.zoomed ? {\n x: 0,\n y: 0\n } : prev.move\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggleRotate\", function (event) {\n event.preventDefault();\n var rotationDeg = _this.state.rotationDeg;\n\n if (rotationDeg === 360) {\n _this.setState({\n rotationDeg: 90\n });\n\n return;\n }\n\n _this.setState(function (prevState) {\n return {\n rotationDeg: prevState.rotationDeg += 90\n };\n });\n });\n\n return _this;\n }\n\n _createClass(Lightbox, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener(\"keydown\", this.handleKeyDown, false);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener(\"keydown\", this.handleKeyDown, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n medium = _this$props.medium,\n large = _this$props.large,\n alt = _this$props.alt,\n onClose = _this$props.onClose,\n hideDownload = _this$props.hideDownload,\n hideZoom = _this$props.hideZoom,\n showRotate = _this$props.showRotate,\n _this$props$imageBack = _this$props.imageBackgroundColor,\n imageBackgroundColor = _this$props$imageBack === void 0 ? \"black\" : _this$props$imageBack;\n var _this$state = this.state,\n move = _this$state.move,\n zoomed = _this$state.zoomed,\n rotationDeg = _this$state.rotationDeg;\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(StyleInjector, {\n name: \"__react_modal_image__lightbox\",\n css: lightboxStyles({\n imageBackgroundColor: imageBackgroundColor\n })\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"__react_modal_image__modal_container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"__react_modal_image__modal_content\",\n onMouseDown: this.handleMouseDownOrTouchStart,\n onMouseUp: this.handleMouseUpOrTouchEnd,\n onMouseMove: this.handleMouseMoveOrTouchMove,\n onTouchStart: this.handleMouseDownOrTouchStart,\n onTouchEnd: this.handleMouseUpOrTouchEnd,\n onTouchMove: this.handleMouseMoveOrTouchMove,\n ref: function ref(el) {\n _this2.contentEl = el;\n }\n }, zoomed && /*#__PURE__*/React.createElement(Image, {\n id: \"react-modal-image-img\",\n className: \"__react_modal_image__large_img\",\n src: large || medium,\n style: {\n transform: \"translate3d(-50%, -50%, 0) translate3d(\".concat(move.x, \"px, \").concat(move.y, \"px, 0) rotate(\").concat(rotationDeg, \"deg)\"),\n WebkitTransform: \"translate3d(-50%, -50%, 0) translate3d(\".concat(move.x, \"px, \").concat(move.y, \"px, 0) rotate(\").concat(rotationDeg, \"deg)\"),\n MsTransform: \"translate3d(-50%, -50%, 0) translate3d(\".concat(move.x, \"px, \").concat(move.y, \"px, 0) rotate(\").concat(rotationDeg, \"deg)\")\n },\n handleDoubleClick: this.toggleZoom\n }), !zoomed && /*#__PURE__*/React.createElement(Image, {\n id: \"react-modal-image-img\",\n className: \"__react_modal_image__medium_img\",\n src: medium || large,\n handleDoubleClick: this.toggleZoom,\n contextMenu: !medium,\n style: {\n transform: \"translate3d(-50%, -50%, 0) rotate(\".concat(rotationDeg, \"deg)\"),\n WebkitTransform: \"translate3d(-50%, -50%, 0) rotate(\".concat(rotationDeg, \"deg)\"),\n MsTransform: \"translate3d(-50%, -50%, 0) rotate(\".concat(rotationDeg, \"deg)\")\n }\n })), /*#__PURE__*/React.createElement(Header, {\n image: large || medium,\n alt: alt,\n zoomed: zoomed,\n toggleZoom: this.toggleZoom,\n toggleRotate: this.toggleRotate,\n onClose: onClose,\n enableDownload: !hideDownload,\n enableZoom: !hideZoom,\n enableRotate: !!showRotate\n })));\n }\n }]);\n\n return Lightbox;\n}(Component);\n\nexport { Lightbox as default };","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from \"react\";\nimport Lightbox from \"./Lightbox\";\nexport { default as Lightbox } from \"./Lightbox\";\n\nvar _default = /*#__PURE__*/function (_Component) {\n _inherits(_default, _Component);\n\n var _super = _createSuper(_default);\n\n function _default() {\n var _this;\n\n _classCallCheck(this, _default);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n modalOpen: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggleModal\", function () {\n _this.setState(function (prev) {\n return {\n modalOpen: !prev.modalOpen\n };\n });\n });\n\n return _this;\n }\n\n _createClass(_default, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n className = _this$props.className,\n small = _this$props.small,\n smallSrcSet = _this$props.smallSrcSet,\n medium = _this$props.medium,\n large = _this$props.large,\n alt = _this$props.alt,\n hideDownload = _this$props.hideDownload,\n hideZoom = _this$props.hideZoom,\n showRotate = _this$props.showRotate,\n imageBackgroundColor = _this$props.imageBackgroundColor;\n var modalOpen = this.state.modalOpen;\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"img\", {\n className: className,\n style: {\n cursor: \"pointer\",\n maxWidth: \"100%\",\n maxHeight: \"100%\"\n },\n onClick: this.toggleModal,\n src: small,\n srcSet: smallSrcSet,\n alt: alt\n }), modalOpen && /*#__PURE__*/React.createElement(Lightbox, {\n medium: medium,\n large: large,\n alt: alt,\n onClose: this.toggleModal,\n hideDownload: hideDownload,\n hideZoom: hideZoom,\n showRotate: showRotate,\n imageBackgroundColor: imageBackgroundColor\n }));\n }\n }]);\n\n return _default;\n}(Component);\n\nexport { _default as default };","import React, { useState, useContext } from 'react';\nimport {\n Box,\n Divider,\n Grid,\n Typography,\n makeStyles,\n useTheme,\n useMediaQuery,\n} from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttButtonAccept } from '../../../sporttia/buttons/SttButtonAccept';\nimport { SttDialog } from '../../../sporttia/all';\nimport { formatPriceByLocale, redirectLogin } from '../../../lib/utils';\n\nconst useStyles = makeStyles((theme) => ({\n rateName: {\n fontSize: 18,\n },\n rateGridItem: {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n free: {\n color: '#3c763d',\n },\n}));\n\nexport default function RateList({ rates, onSelected, inIscTime }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const classes = useStyles();\n const theme = useTheme();\n const smUp = useMediaQuery(theme.breakpoints.up('sm'));\n\n function SignupButton({ rate }) {\n return (\n \n rate.signupOnline && !cxt.logged\n ? redirectLogin(history)\n : onSelected(rate)\n }\n disabled={!inIscTime}\n />\n );\n }\n\n if (!rates || rates.length === 0) {\n return (\n {cxt.t('activity.noRates')}\n );\n }\n\n return (\n
\n {rates.map((rate, i) => (\n \n {i > 0 && (\n \n \n \n )}\n \n \n \n \n {rate.name}\n \n \n \n \n \n {cxt.t('SignedCount')}:\n  \n \n {rate.maxStudents\n ? `${rate.numStudents} / ${rate.maxStudents}`\n : rate.numStudents}\n \n \n \n \n \n \n \n {`${cxt.t('Enrollment')}:`} \n \n {rate.enrollment ? (\n \n {formatPriceByLocale(\n rate?.enrollment,\n rate?.enrollmentShape?.currency,\n rate?.enrollmentShape?.locale,\n )}\n \n ) : (\n \n {cxt.t('Free')}\n \n )}\n \n \n \n \n {`${cxt.t('Fee')}:`} \n {rate.fee ? (\n {`${formatPriceByLocale(\n rate?.fee,\n rate?.feeShape?.currency,\n rate?.feeShape?.locale,\n )} / ${rate.periodLang}`}\n ) : (\n \n {cxt.t('NoFees')}\n \n )}\n \n \n \n {smUp ? (\n \n \n \n ) : (\n \n )}\n \n \n \n \n ))}\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Divider } from '@material-ui/core';\nimport moment from 'moment';\nimport { AppContext, SttTable } from '../../../sporttia/all';\n\nexport default function ClassesList({ classes, onFetch }) {\n const cxt = useContext(AppContext);\n\n return (\n moment(row.ini).format('D MMM YYYY'),\n },\n {\n title: cxt.t('Time'),\n type: 'periodTime',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Facility'),\n type: 'text',\n value: (row) => (row.facility ? row.facility.name : ''),\n },\n {\n title: cxt.t('Teacher'),\n type: 'text',\n value: (row) => (row.teacher ? row.teacher.name : ''),\n },\n ]}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Typography } from '@material-ui/core';\nimport { SttDialog } from '../../../sporttia/dialogs/SttDialog';\nimport { AppContext } from '../../../sporttia/all';\n\nexport default function ModalGotoSc({ rate, scContactInfo, onClose }) {\n const cxt = useContext(AppContext);\n\n return (\n \n \n {cxt.t('page.activity.goToSC')}\n \n \n \n {cxt.t('Phone')}: \n {scContactInfo.phone}\n \n \n {cxt.t('Email')}: \n {scContactInfo.email}\n \n \n \n }\n />\n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z\"\n}), 'Loop');","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Grid,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n ListItemAvatar,\n Avatar,\n Divider,\n Box,\n} from '@material-ui/core';\nimport { Search as SearchIcon } from '@material-ui/icons';\nimport useKey from '@rooks/use-key';\nimport {\n AppContext,\n SttButton,\n SttDialog,\n SttForm,\n SttFormSearch,\n SttFormText,\n SttMshipList,\n SttPagination,\n} from '../all';\nimport { useCrud } from '../../lib/hooks';\nimport { fullName } from '../../lib/utils';\n\nconst fetchRows = 8;\n\n/**\n * SttSelectOrAddUser: select and existing user obtained from the back-end or manually write the user's name\n *\n * caption: the control's caption\n * name: component name (id)\n * defVal: currently selected user as {id, name}. id==0 means it's not an existing user\n * onChange: callback onChange(user => {})\n * onEnterKey: callback when the 'ENTER' key is pressed\n */\nexport function SttSelectOrAddUser({\n caption,\n name,\n defVal,\n onChange,\n onEnterKey,\n idSC,\n idMship,\n}) {\n const cxt = useContext(AppContext);\n const [users, setUsers, , Get] = useCrud();\n const [user, setUser, setProperty] = useCrud(\n typeof defVal === 'object' ? defVal : { id: null, name: defVal || '' },\n );\n const [dialogOpened, setDialogOpened] = useState(false);\n\n const [search, setSearch] = useState('');\n const [page, setPage] = useState(1);\n\n const [newUser, setNewUser] = useState({\n name: '',\n surname1: '',\n surname2: '',\n });\n const [newUserDialogOpened, setNewUserDialogOpened] = useState(false);\n\n // defVal changes from the outside\n useEffect(() => {\n setUser({\n id: defVal.id,\n name: defVal.name || '',\n surname1: defVal.surname1 || '',\n surname2: defVal.surname2 || '',\n });\n }, [defVal]);\n\n // Either name or id changed, trigger onChange\n useEffect(() => {\n onChange(user);\n }, [user.name, user.id]);\n\n // Load 'real' users from the back-end\n function loadUsers(params = { page: 1 }) {\n Get(`/${idMship ? 'mships' : 'scs'}/${idMship || idSC}/pupils`, {\n ...params,\n name: search,\n rows: fetchRows,\n })\n .then((response) => {\n if (response.rows) {\n setUsers(response);\n }\n if (params.page) {\n setPage(params.page);\n }\n })\n .catch(console.log);\n }\n\n // Clicking on the search icon\n function onClickSearch() {\n if (!users) {\n loadUsers();\n }\n setDialogOpened(true);\n }\n\n // Existing user selected\n function selectUser(user) {\n setDialogOpened(false);\n if (onChange && user) {\n setUser(user);\n onChange(user);\n }\n }\n\n function clear() {\n setUser({\n id: null,\n name: '',\n surname1: '',\n surname2: '',\n });\n }\n\n return (\n <>\n {/* Search component that also allows the user to write whatever they want */}\n \n\n {/* Dialog containing a search form and a list of users */}\n setDialogOpened(false)}\n open={dialogOpened}\n content={\n
\n \n \n \n loadUsers({ page: 1, name: search })\n }\n onChange={({ name, value }) =>\n setSearch(value)\n }\n />\n \n \n setNewUserDialogOpened(true)}\n />\n \n \n\n ({\n ...row,\n fullName: fullName(row),\n img: row.img\n ? {\n url: cxt.getResource(\n `/images/${row.img.id}.jpg`,\n ),\n }\n : null,\n })),\n }}\n page={page}\n onSelect={selectUser}\n onLoadMships={loadUsers}\n />\n\n setNewUserDialogOpened(false)}\n content={\n \n setNewUser({\n ...newUser,\n [name]: value,\n })\n }\n elements={[\n {\n xs: 12,\n caption: cxt.t('Name'),\n name: 'name',\n value: newUser.name,\n },\n {\n xs: 12,\n caption: cxt.t('Surname1'),\n name: 'surname1',\n value: newUser.surname1,\n },\n {\n xs: 12,\n caption: cxt.t('Surname2'),\n name: 'surname2',\n value: newUser.surname2,\n },\n ]}\n />\n }\n buttons={[\n {\n type: 'accept',\n disabled:\n newUser.name === '' ||\n newUser.surname1 === '',\n caption: 'Guardar',\n onClick: () => {\n setUser(newUser);\n setNewUserDialogOpened(false);\n setDialogOpened(false);\n setNewUser({\n name: '',\n surname1: '',\n surname2: '',\n });\n },\n },\n ]}\n />\n
\n }\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { Search as SearchIcon } from '@material-ui/icons';\nimport {\n AppContext,\n SttButton,\n SttDialog,\n SttForm,\n SttFormSearch,\n SttMshipList,\n} from '../all';\nimport { useCrud } from '../../lib/hooks';\nimport { fullName } from '../../lib/utils';\nimport useUsersService from '../../services/UsersService';\nimport SttFullPageSpinner from '../spinners/SttFullPageSpinner';\n\nconst fetchRows = 8;\n\n/**\n * SttSelectOrAddUser: select and existing user obtained from the back-end or manually write the user's name\n *\n * caption: the control's caption\n * name: component name (id)\n * defVal: currently selected user as {id, name}. id==0 means it's not an existing user\n * onChange: callback onChange(user => {})\n * onEnterKey: callback when the 'ENTER' key is pressed\n */\nexport function SttSelectOrAddPupil({\n caption,\n name,\n defVal,\n onChange,\n onEnterKey,\n idSC,\n idMship,\n}) {\n const cxt = useContext(AppContext);\n const [users, setUsers, , Get] = useCrud();\n const [user, setUser, setProperty] = useCrud(\n typeof defVal === 'object' ? defVal : { id: null, name: defVal || '' },\n );\n const [dialogOpened, setDialogOpened] = useState(false);\n const [newUserDialogOpened, setNewUserDialogOpened] = useState(false);\n const [search, setSearch] = useState('');\n const [page, setPage] = useState(1);\n const createMyScPupilMutation = useUsersService().useCreateMyScPupil({\n onSuccess: (response) => {\n setUser({\n id: response?.user?.id,\n name: response?.user?.name,\n surname1: response?.user?.surname1,\n surname2: response?.user?.surname2,\n });\n setNewUserDialogOpened(false);\n setDialogOpened(false);\n },\n });\n const [newUser, setNewUser] = useState({\n name: '',\n surname1: '',\n surname2: '',\n });\n\n // defVal changes from the outside\n useEffect(() => {\n setUser({\n id: defVal.id,\n name: defVal.name || '',\n surname1: defVal.surname1 || '',\n surname2: defVal.surname2 || '',\n });\n }, [defVal]);\n\n // Either name or id changed, trigger onChange\n useEffect(() => {\n onChange(user);\n }, [user.name, user.id]);\n\n // Load 'real' users from the back-end\n function loadUsers(params = { page: 1 }) {\n Get(`/${idMship ? 'mships' : 'scs'}/${idMship || idSC}/pupils`, {\n ...params,\n name: search,\n rows: fetchRows,\n })\n .then((response) => {\n if (response.rows) {\n setUsers(response);\n }\n if (params.page) {\n setPage(params.page);\n }\n })\n .catch(console.log);\n }\n\n // Clicking on the search icon\n function onClickSearch() {\n if (!users) {\n loadUsers();\n }\n setDialogOpened(true);\n }\n\n // Existing user selected\n function selectUser(user) {\n setDialogOpened(false);\n if (onChange && user) {\n setUser(user);\n onChange(user);\n }\n }\n\n function clear() {\n setUser({\n id: null,\n name: '',\n surname1: '',\n surname2: '',\n });\n }\n if (createMyScPupilMutation?.isLoading) return ;\n return (\n <>\n {/* Search component that also allows the user to write whatever they want */}\n \n\n {/* Dialog containing a search form and a list of users */}\n setDialogOpened(false)}\n open={dialogOpened}\n content={\n
\n \n \n \n loadUsers({ page: 1, name: search })\n }\n onChange={({ name, value }) =>\n setSearch(value)\n }\n />\n \n \n setNewUserDialogOpened(true)}\n />\n \n \n\n ({\n ...row,\n fullName: fullName(row),\n img: row.img\n ? {\n url: cxt.getResource(\n `/images/${row.img.id}.jpg`,\n ),\n }\n : null,\n })),\n }}\n page={page}\n onSelect={selectUser}\n onLoadMships={loadUsers}\n />\n\n setNewUserDialogOpened(false)}\n content={\n \n setNewUser({\n ...newUser,\n [name]: value,\n })\n }\n elements={[\n {\n xs: 12,\n caption: cxt.t('Name'),\n name: 'name',\n value: newUser.name,\n },\n {\n xs: 12,\n caption: cxt.t('Surname1'),\n name: 'surname1',\n value: newUser.surname1,\n },\n {\n xs: 12,\n caption: cxt.t('Surname2'),\n name: 'surname2',\n value: newUser.surname2,\n },\n ]}\n />\n }\n buttons={[\n {\n type: 'accept',\n disabled:\n newUser.name === '' ||\n newUser.surname1 === '',\n caption: 'Guardar',\n onClick: () => {\n createMyScPupilMutation.mutate({\n scId: idSC,\n params: {\n name: newUser?.name,\n surname1: newUser?.surname1,\n surname2: newUser?.surname2,\n },\n });\n },\n },\n ]}\n />\n
\n }\n />\n \n );\n}\n","import React, { useState, useContext, useCallback } from 'react';\nimport {\n Box,\n Grid,\n Divider,\n Typography,\n makeStyles,\n Hidden,\n Link,\n} from '@material-ui/core';\nimport { Loop } from '@material-ui/icons';\nimport { useHistory } from 'react-router-dom';\nimport { useQueryClient } from 'react-query';\nimport {\n AppContext,\n SttDialog,\n SttFormCheck,\n SttFormText,\n SttSelectPForm,\n} from '../../../sporttia/all';\nimport {\n generateFormField,\n fullName,\n formatPriceByLocale,\n composeFormData,\n getErrorMessage,\n} from '../../../lib/utils';\nimport { SttSelectOrAddUser } from '../../../sporttia/selectors/SttSelectOrAddUser';\nimport { getPath } from '../../Pages';\nimport { useInteractionsFiles } from '../../../lib/hooks';\nimport translations from '../../../translations';\nimport constants from '../../../config/constants';\nimport useActivitiesService from '../../../services/ActivitiesService';\nimport SttFullPageSpinner from '../../../sporttia/spinners/SttFullPageSpinner';\nimport { SttSelectOrAddPupil } from '../../../sporttia/selectors/SttSelectOrAddPupil';\n\nconst useStyles = makeStyles(() => ({\n nonFree: {\n color: '#000',\n },\n free: {\n color: '#3c763d',\n },\n mandatory: {\n display: 'inline-block',\n width: '100%',\n textAlign: 'right',\n color: 'red',\n marginTop: 8,\n },\n link: {\n display: 'flex',\n alignItems: 'center',\n },\n}));\n\n// Hay labels asociados a campos de formulario que son demasiado largos para que sean outlined\n// 200204 -> Campo indicando enfermedades, alergias, antecedentes medicos, etc...\nconst formIDs = [200204];\n\nexport default function ModalSignUp({\n rate,\n form,\n privileges,\n onClose,\n paymentForms,\n idSC,\n idMship,\n}) {\n const cxt = useContext(AppContext);\n const { openFile } = useInteractionsFiles();\n const history = useHistory();\n const classes = useStyles();\n\n const [user, setUser] = useState({\n id: cxt.user.role === 'SPORTCENTER' ? 0 : cxt.user.id,\n name: cxt.user.role === 'SPORTCENTER' ? '' : fullName(cxt.user),\n });\n\n const [enrollmentPForm, setEnrollmentPForm] = useState(\n (() => {\n if (rate.paymentForms?.[0]) {\n return rate.paymentForms[0];\n }\n if (paymentForms?.[0]) {\n return paymentForms[0];\n }\n return [];\n })(),\n );\n const [feesToReceipts, setFeesToReceipts] = useState(false);\n const [formValues, setFormValues] = useState(form);\n\n function clearForm() {\n setFormValues(\n formValues?.map(({ answer, ...restQuestion }) => restQuestion),\n );\n }\n\n const queryClient = useQueryClient();\n\n const activitiesService = useActivitiesService();\n const getActivityRateInscriptionsQuery =\n activitiesService.useGetActivityRateInscriptions(\n rate.id,\n {},\n {\n select: useCallback((data) => data.rows, []),\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n onClose();\n },\n },\n );\n const createActivityRateStudentMutation =\n activitiesService.useCreateActivityRateStudent({\n onSuccess: (response) => {\n if (response.tpv) {\n // Redirect to the tpv container\n history.push(\n getPath('tpvSwitcher', { id: response.tpv.id }),\n );\n } else if (response.student) {\n cxt.showMessage('S', cxt.t('page.activity.inscriptionOk'));\n\n queryClient.setQueryData(\n getActivityRateInscriptionsQuery.queryKey,\n (old) => ({\n ...old,\n rows: [...old.rows, response.student],\n }),\n );\n\n if (!user.id) {\n setUser({\n ...user,\n name: '',\n });\n }\n }\n\n clearForm();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n function getTicket(inscription) {\n openFile(`/students/${inscription.id}.pdf`, 'application/pdf');\n }\n\n function handleFormFieldChange({ name, value }) {\n setFormValues(\n formValues.map((question) =>\n question.id === parseInt(name)\n ? { ...question, answer: { value } }\n : question,\n ),\n );\n }\n\n const inscribeOtherLink = (\n setUser({ id: null, name: '' })}>\n \n \n  \n {cxt.t('page.activity.signUpAnotherPerson')}\n \n \n );\n\n // 'inscribirme a mi'\n const inscribeMeLink = (\n \n setUser({ id: cxt.user.id, name: fullName(cxt.user) })\n }\n >\n \n \n  \n {cxt.t(translations.generic.signMeUp)}\n \n \n );\n\n if (\n getActivityRateInscriptionsQuery.isLoading ||\n createActivityRateStudentMutation.isLoading\n ) {\n return ;\n }\n\n if (!getActivityRateInscriptionsQuery.isSuccess || !rate) {\n return null;\n }\n\n return (\n \n \n \n {cxt.t('page.activity.youAreGoingToSignUp')}\n \n\n \n
\n \n {cxt.t(translations.generic.rate)}\n \n \n {rate.name}\n \n
\n
\n \n {cxt.t(translations.generic.inscription)}\n \n {rate.enrollment ? (\n \n \n {formatPriceByLocale(\n rate.enrollment,\n rate.enrollmentShape?.currency,\n rate.enrollmentShape?.locale,\n )}\n \n \n ) : (\n \n \n {cxt.t(translations.generic.free)}\n \n \n )}\n
\n
\n \n {cxt.t(translations.generic.fee)}\n \n \n {rate.fee ? (\n {`${formatPriceByLocale(\n rate.fee,\n rate.feeShape?.currency,\n rate.feeShape?.locale,\n )} / ${rate.periodLang}`}\n ) : (\n \n {cxt.t(translations.generic.noFees)}\n \n )}\n \n
\n \n\n {getActivityRateInscriptionsQuery.data.length > 0 && (\n <>\n \n \n \n \n \n \n \n {cxt.t(\n 'page.activity.signedUpsByYou',\n )}\n :\n \n \n \n \n {getActivityRateInscriptionsQuery.data.map(\n (inscription) => (\n \n \n {inscription.user\n ?.fullName ||\n inscription.name}\n \n  \n \n (\n \n getTicket(\n inscription,\n )\n }\n >\n {cxt.t(\n translations\n .generic\n .ticket,\n )}\n \n )\n \n \n ),\n )}\n \n \n \n )}\n\n \n <>\n \n \n \n \n \n \n {cxt.t(\n 'page.activity.personToSignUp',\n )}\n :\n \n \n {cxt.user.role !==\n constants.roles.sportcenter && (\n \n {user.id\n ? inscribeOtherLink\n : inscribeMeLink}\n \n )}\n \n {!user.id ||\n cxt.user.role ===\n constants.roles.sportcenter ? (\n {}}\n idMship={idMship}\n />\n ) : (\n \n )}\n {cxt.user.role !==\n constants.roles.sportcenter && (\n \n \n {user.id\n ? inscribeOtherLink\n : inscribeMeLink}\n \n \n )}\n \n \n\n {rate.enrollment > 0 && (\n \n \n \n \n {cxt.t(\n translations.payment\n .paymentForm,\n )}\n \n \n  (\n {`${cxt.t(\n 'page.activity.signUpPayment',\n )},\n\t\t\t\t\t\t\t\t\t${formatPriceByLocale(\n rate.enrollment,\n rate.enrollmentShape?.currency,\n rate.enrollmentShape?.locale,\n )}`}\n )\n \n \n \n \n setEnrollmentPForm(value)\n }\n />\n \n )}\n\n {rate.fee > 0 && privileges?.includes(25) && (\n \n \n setFeesToReceipts(value)\n }\n />\n \n )}\n
\n\n {form && form.length > 0 && (\n \n \n \n {cxt.t('page.homeA.ev.2')}:\n \n \n\n {formValues.map((item) => (\n \n <>\n {generateFormField(\n item,\n handleFormFieldChange,\n !!formIDs.includes(item.id),\n )}\n {!!item.mandatory && (\n {`(${cxt.t(\n translations.generic.mandatory,\n )})`}\n )}\n \n \n ))}\n \n )}\n \n }\n buttons={[\n {\n show: cxt.user.role !== 'SPORTCENTER',\n type: 'accept',\n onClick: () => {\n createActivityRateStudentMutation.mutate({\n idRate: rate.id,\n params: {\n id: rate.id,\n idUser: user.id,\n name: user.name,\n surname1: user.surname1,\n surname2: user.surname2,\n enrollmentPaymentForm: enrollmentPForm,\n feePaymentForm: feesToReceipts\n ? constants.payment.paymentForms.receipt\n .name\n : '',\n form:\n form && form.length > 0\n ? composeFormData(formValues)\n : null,\n },\n });\n },\n },\n ]}\n />\n );\n}\n","import React, { useState, useContext } from 'react';\nimport { AppContext, SttTable } from '../all';\nimport { fullName } from '../../lib/utils';\n\ntype ActivityParticipants = {\n id: number;\n user: {\n fullName: string;\n mship: {\n fullName: string;\n };\n };\n};\nexport default function SignedUsersList({\n items,\n}: {\n items: Array;\n}) {\n const cxt = useContext(AppContext)!;\n const [signedUsers] = useState(items);\n\n return (\n \n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n fullName(value?.user),\n },\n ]}\n onFetch={undefined}\n loadingValue={undefined}\n onClickRow={undefined}\n totals={undefined}\n selection={undefined}\n selectRows={undefined}\n setSelectRows={undefined}\n forceUpdateSwitch={undefined}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Container,\n Box,\n Typography,\n useTheme,\n useMediaQuery,\n makeStyles,\n} from '@material-ui/core';\nimport moment from 'moment';\nimport ModalImage from 'react-modal-image';\nimport { useCrud } from '../../../lib/hooks';\nimport { AppContext, SttTabs } from '../../../sporttia/all';\nimport RateList from './RateList';\nimport ClassesList from './ClassesList';\nimport ModalGotoSc from './ModalGotoSc';\nimport ModalSignUp from './ModalSignUp';\nimport SignedUsersList from '../../../sporttia/lists/SignedUsersList';\nimport translations from '../../../translations';\nimport constants from '../../../config/constants';\n\nconst useStyles = makeStyles(() => ({\n imageColumn: {\n maxWidth: 260,\n },\n imageRow: {\n width: '100%',\n },\n imgBG: {\n width: '100%',\n background: 'linear-gradient(rgba(0,0,0,0.9), rgba(0,0,0,0.0))',\n },\n greenBG: {\n backgroundColor: 'green',\n color: '#fff',\n },\n redBG: {\n backgroundColor: 'red',\n },\n textCenter: {\n textAlign: 'center',\n },\n activityName: {\n fontSize: 20,\n color: '#fff',\n },\n activityDesc: {\n fontSize: 18,\n 'white-space': 'pre-line',\n },\n registrationBox: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 4,\n minHeight: 50,\n },\n registrationLabel: {\n color: '#fff',\n fontSize: 15,\n },\n}));\n\nexport default function Activity({ match }) {\n const cxt = useContext(AppContext);\n\n const [activity, setActivity, , Get] = useCrud();\n const [classes, setClasses] = useState({ count: 0, rows: [] });\n const [rateModalGoto, setRateModalGoto] = useState(null);\n const [rateModalSignup, setRateModalSignup] = useState(null);\n const [privileges, setPrivileges] = useState(null);\n const [amSignedUp, setAmSignedUp] = useState(null);\n const [idMship, setIdMship] = useState();\n const [files, setFiles] = useState([]);\n\n const theme = useTheme();\n const smDown = useMediaQuery(theme.breakpoints.down('sm'));\n\n const styles = useStyles();\n\n function loadClasses(params = { rows: 20, page: 1 }) {\n const { id } = match.params;\n Get(`/activities/${id}/classes`, params).then((response) => {\n if (response.rows) {\n setClasses(response);\n }\n });\n }\n\n function loadMyInscription($idStudent) {\n if (!$idStudent) {\n return;\n }\n\n Get(`/students/${$idStudent}`).then((response) => {\n if (response.student) {\n setAmSignedUp(response.student);\n }\n });\n }\n\n function loadActivity() {\n const { id } = match.params;\n Get(`/activities/${id}`).then((response) => {\n if (response.activity) {\n setActivity(response.activity);\n\n response.activity.rates?.forEach((rate) => {\n if (rate.myStudent) {\n loadMyInscription(rate.myStudent.id);\n }\n });\n }\n });\n }\n\n function loadActivityFiles() {\n const { id } = match.params;\n\n Get(`/activities/${id}/files`).then((response) => {\n if (response.count > 0) {\n setFiles(response.rows);\n }\n });\n }\n\n function loadMe() {\n Get(`/scs/${activity.sc.id}/me`)\n .then((response) => {\n if (response.mship) {\n setPrivileges(response.mship.privileges);\n setIdMship(response.mship.id);\n }\n })\n .catch(() => {});\n }\n\n useEffect(() => {\n if (match?.params) {\n loadActivity();\n loadClasses();\n loadActivityFiles();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (\n cxt.logged &&\n cxt.user.role !== 'SPORTCENTER' &&\n activity &&\n activity.sc\n ) {\n loadMe();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activity]);\n\n // Open signup modal\n function signUp(rate) {\n if (rate.signupOnline) {\n setRateModalSignup(rate);\n } else {\n setRateModalGoto(rate);\n }\n }\n\n if (!activity) {\n return null;\n }\n\n const inTime =\n moment().isAfter(moment(activity.ini)) &&\n moment().isBefore(moment(activity.end));\n const inIscTime =\n moment().isAfter(moment(activity.inscIni)) &&\n moment().isBefore(moment(activity.inscEnd));\n\n return (\n \n \n \n \n \n \n {activity.name}\n \n \n {activity.poster.id ? (\n \n ) : (\n \n )}\n \n \n \n \n {inIscTime\n ? cxt.t('page.activity.inscInTime')\n : cxt.t('page.activity.inscOutTime')}\n \n {`${moment(activity.inscIni).format(\n 'D MMM YYYY HH:mm:ss',\n )} - ${moment(activity.inscEnd).format(\n 'D MMM YYYY HH:mm:ss',\n )}`}\n \n \n \n \n \n {inTime\n ? cxt.t('page.activity.inTime')\n : cxt.t('page.activity.outTime')}\n \n {`${moment(activity.ini).format(\n 'D MMM YYYY',\n )} - ${moment(activity.end).format(\n 'D MMM YYYY',\n )}`}\n \n \n {files.length > 0 && (\n \n \n \n {cxt.t('Documents')}:\n \n \n {files.map((file) => (\n \n \n \n {file.description}\n \n \n ))}\n \n )}\n \n \n {/* --- Description --- */}\n \n \n \n\n {amSignedUp && (\n \n \n {cxt.t('page.activity.ImSigned')}\n \n \n )}\n \n ),\n },\n {\n caption: cxt.t('Calendar'),\n show: classes.count > 0,\n component: (\n \n ),\n },\n {\n caption: cxt.t(\n translations.generic.signedUsers,\n ),\n show:\n activity.rates.filter(\n (rate) => rate?.signedUsers?.length > 0,\n )?.length > 0,\n component: (\n rate?.signedUsers)\n .flat()}\n />\n ),\n },\n ]}\n />\n \n \n {rateModalGoto && (\n setRateModalGoto(null)}\n scContactInfo={{\n phone: activity.sc.phonePublic,\n email: activity.sc.emailPublic,\n }}\n />\n )}\n {rateModalSignup && (\n {\n setRateModalSignup(null);\n }}\n form={activity.form}\n privileges={privileges}\n paymentForms={activity.paymentForms}\n idMship={idMship}\n />\n )}\n \n );\n}\n","import React, { useContext } from 'react';\nimport {\n Divider,\n List,\n ListItem,\n ListItemText,\n ListItemSecondaryAction,\n IconButton,\n} from '@material-ui/core';\nimport { Delete as DeleteIcon } from '@material-ui/icons';\nimport { AppContext } from '../AppContext';\nimport { formatPriceByLocale, fullName } from '../../lib/utils';\n\nexport function SttInscriptionList({ inscriptions, hidePrice, onDelete }) {\n const cxt = useContext(AppContext);\n\n // -----| Render |-----\n return (\n \n {inscriptions &&\n inscriptions.map((inscription, i) => {\n let price = '';\n if (!hidePrice && inscription.price !== undefined) {\n if (inscription.price > 0) {\n price = formatPriceByLocale(\n inscription.price,\n inscription?.priceShape?.currency,\n inscription?.priceShape?.locale,\n );\n } else {\n price = cxt.t('Free');\n }\n }\n\n return (\n
\n {i > 0 && }\n \n \n \n onDelete(inscription)}\n edge=\"end\"\n aria-label=\"delete\"\n >\n \n \n \n \n
\n );\n })}\n {inscriptions && inscriptions.length == 0 && (\n \n \n \n )}\n
\n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport {\n Link,\n Typography,\n makeStyles,\n Grid,\n Box,\n Divider,\n Hidden,\n} from '@material-ui/core';\nimport { Loop, Add } from '@material-ui/icons';\nimport {\n generateFormField,\n fullName,\n formatPriceByLocale,\n} from '../../../lib/utils';\nimport {\n AppContext,\n SttButton,\n SttButtonAccept,\n SttDialog,\n SttFormText,\n SttSelectPForm,\n} from '../../../sporttia/all';\nimport { SttInscriptionList } from '../../../sporttia/lists/SttInscriptionList';\nimport { SttSelectOrAddUser } from '../../../sporttia/selectors/SttSelectOrAddUser';\n\nconst useStyles = makeStyles((theme) => ({\n nonFree: {\n textAlign: 'right',\n color: '#000',\n },\n free: {\n textAlign: 'right',\n color: '#3c763d',\n },\n mandatory: {\n display: 'inline-block',\n width: '100%',\n textAlign: 'right',\n color: 'red',\n marginTop: 8,\n },\n link: {\n display: 'flex',\n alignItems: 'center',\n },\n pendingTitle: {\n fontSize: 14,\n fontWeight: 'bold',\n },\n full: {\n color: 'red',\n },\n}));\n\nexport default function ModalSignup({\n event,\n team,\n category,\n onClose,\n onSaveInscription,\n onSaveTeam,\n idMship,\n}) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n\n const [user, setUser] = useState({\n id: cxt.user.role === 'SPORTCENTER' ? null : cxt.user.id,\n name: cxt.user.role === 'SPORTCENTER' ? '' : fullName(cxt.user),\n });\n\n const [pending, setPending] = useState([]);\n const [paymentForm, setPaymentForm] = useState('PURSE');\n const [formValues, setFormValues] = useState(event.form);\n const [someoneElse, setSomeoneElse] = useState(\n cxt.user.role === 'SPORTCENTER',\n );\n const [teamName, setTeamName] = useState(team ? team.name : '');\n const [creatingTeam, setCreatingTeam] = useState(!team);\n const [idTeam, setIdTeam] = useState(team ? team.id : null);\n\n // const [capacity, setCapacity] = useState(!!event.teamable ? category.maxTeams !== 0 : (category.maxParticipants !== 0 || event.maxParticipants !== 0));\n const [availableSlots, setAvailableSlots] = useState(\n calculateAvailableSlots(),\n );\n const inscribeOtherLink = (\n {\n setSomeoneElse(true);\n setUser({ id: 0, name: '' });\n }}\n >\n \n \n  \n {cxt.t('page.activity.signUpAnotherPerson')}\n \n \n );\n\n const inscribeMeLink = (\n {\n setSomeoneElse(false);\n setUser({\n id: cxt.user.id,\n name: fullName(cxt.user),\n });\n }}\n >\n \n \n  \n {cxt.t('SignMeUp')}\n \n \n );\n\n const newTeamLink = (\n {\n setCreatingTeam(true);\n setTeamName('');\n setIdTeam(null);\n }}\n >\n \n \n  \n {cxt.t('CreateNewTeam')}\n \n \n );\n\n const existingTeamLink = (\n {\n setCreatingTeam(false);\n setTeamName(team.name);\n setIdTeam(team.id);\n }}\n >\n \n \n  \n {cxt.t('ExistingTeam')}\n \n \n );\n\n function calculateAvailableSlots() {\n // Determine which 'available slots' config, in whole event or this specific category, is more restrictive.\n let result;\n if (event.teamable) {\n result =\n typeof event.maxPlayers === 'number' && event.maxPlayers !== 0\n ? event.maxPlayers -\n (team?.participants?.length\n ? team?.participants?.length\n : 0)\n : null;\n } else if (\n category.maxParticipants === 0 &&\n event.maxParticipants === 0\n ) {\n result = null;\n } else {\n const catSlots =\n category.maxParticipants !== 0\n ? category.maxParticipants - category.numParticipants\n : null;\n const eventSlots =\n event.maxParticipants !== 0\n ? event.maxParticipants - event.numParticipants\n : null;\n\n if ((catSlots === eventSlots) === null) {\n result = null;\n } else {\n if (catSlots === null) {\n return eventSlots;\n }\n if (eventSlots === null) {\n return catSlots;\n }\n result = catSlots < eventSlots ? catSlots : eventSlots;\n }\n }\n\n return result;\n }\n\n function handleFormFieldChange({ name, value }) {\n setFormValues(\n formValues.map((question) =>\n question.id === parseInt(name)\n ? { ...question, answer: { value } }\n : question,\n ),\n );\n }\n\n function clearForm() {\n setFormValues(\n formValues.map((question) => ({\n ...question,\n answer: { value: '' },\n })),\n );\n }\n\n function parseForm(formFields) {\n const result = {};\n formFields.forEach((field) => {\n result[field.id] = field.answer ? field.answer.value : '';\n });\n\n return result;\n }\n\n function addCurrentToPending() {\n if (user.id === 0 && user.name === '') {\n cxt.showMessage('E', cxt.t('page.event.noPlayerName'));\n return;\n }\n\n if (\n pending.find(\n (insc) =>\n (user.id && insc.id === user.id) ||\n fullName(insc) === fullName(user),\n )\n ) {\n cxt.showMessage('E', cxt.t('UserAlreadyOnList'));\n return;\n }\n\n if (form && form.length > 0) {\n let valid = true;\n let missing;\n for (let i = 0; i < formValues.length; i++) {\n if (\n formValues[i].mandatory &&\n (!formValues[i].answer || !formValues[i].answer.value)\n ) {\n valid = false;\n missing = formValues[i];\n break;\n }\n }\n\n if (!valid) {\n cxt.showMessage('E', `${cxt.t('Mandatory')}: ${missing.name}`);\n return;\n }\n }\n\n const params = {\n idUser: user.id,\n name: user.name,\n surname1: user.surname1,\n surname2: user.surname2,\n idCat: category.id,\n form: form && form.length > 0 ? parseForm(formValues) : null,\n price: category.enrollment,\n };\n\n setPending(pending.concat(params));\n\n if (someoneElse) {\n setUser({ id: 0, name: '' });\n }\n\n if (formValues) {\n clearForm();\n }\n\n // Add to local count\n if (availableSlots !== null) {\n setAvailableSlots(availableSlots - 1);\n }\n }\n\n function deletePendingInsc(inscription) {\n setPending(\n pending.filter((insc) => {\n if (insc.idUser === 0) {\n return insc.name !== inscription.name;\n }\n return insc.idUser !== inscription.idUser;\n }),\n );\n\n // Delete from local count\n if (availableSlots !== null) {\n setAvailableSlots(availableSlots + 1);\n }\n }\n\n function save() {\n if (!event.teamable) {\n if (!pending || pending.length === 0) {\n cxt.showMessage('E', cxt.t('EmptyList'));\n return;\n }\n\n onSaveInscription &&\n onSaveInscription({\n paymentForm,\n participants: pending.map((participant) => ({\n idUser: participant.idUser,\n name: participant.name,\n surname1: participant.surname1,\n surname2: participant.surname2,\n idCat: participant.idCat,\n form: participant.form,\n })),\n });\n } else {\n if (!idTeam && teamName === '') {\n cxt.showMessage('E', cxt.t('app.event.teamNameEmpty'));\n return;\n }\n\n onSaveTeam &&\n onSaveTeam({\n teamName,\n idTeam,\n paymentForm,\n participants: pending.map((participant) => ({\n idUser: participant.idUser,\n name: participant.name,\n surname1: participant.surname1,\n surname2: participant.surname2,\n form: participant.form,\n admin: cxt.user && participant.idUser === cxt.user.id,\n })),\n });\n }\n }\n\n if (!event) {\n return true;\n }\n\n const { form } = event;\n\n return (\n \n {/* LEFT SIDE: Category details and inscription form */}\n\n \n \n {cxt.t('page.event.signupDescription')}\n \n \n
\n \n {cxt.t('Category')}\n \n \n {category.name}\n \n
\n
\n \n {cxt.t('Inscription')}\n \n {category.enrollment ? (\n \n \n {formatPriceByLocale(\n category?.enrollment,\n category?.enrollmentShape\n ?.currency,\n category?.enrollmentShape\n ?.locale,\n )}\n \n \n ) : (\n \n \n {' '}\n {cxt.t('Free')}\n \n \n )}\n
\n \n \n \n \n {!!event.teamable && (\n \n \n \n \n {creatingTeam\n ? cxt.t('NewTeam')\n : cxt.t('Team')}\n :\n \n \n \n {creatingTeam ? (\n \n \n setTeamName(value)\n }\n />\n \n ) : (\n \n \n \n )}\n \n )}\n \n \n \n \n {cxt.t('page.activity.personToSignUp')}:\n \n \n {cxt.user.role != 'SPORTCENTER' && (\n \n {someoneElse\n ? inscribeMeLink\n : inscribeOtherLink}\n \n )}\n \n {cxt.user.role === 'SPORTCENTER' || someoneElse ? (\n setUser(user)}\n onEnterKey={addCurrentToPending}\n idSC={event.sc.id}\n idMship={idMship}\n />\n ) : (\n setUser({name: value, id: null})}\n />\n )}\n {cxt.user.role != 'SPORTCENTER' && (\n \n \n {someoneElse\n ? inscribeMeLink\n : inscribeOtherLink}\n \n \n )}\n \n {form && form.length > 0 && (\n <>\n \n \n {cxt.t('page.homeA.ev.2')}:\n \n \n {formValues.map((item, i) => (\n \n <>\n {generateFormField(\n item,\n handleFormFieldChange,\n )}\n {!!item.mandatory && (\n {`(${cxt.t(\n 'Mandatory',\n )})`}\n )}\n \n \n ))}\n \n )}\n \n }\n caption={cxt.t('Add')}\n color={\n availableSlots !== null &&\n availableSlots <= 0\n ? 'primary'\n : 'default' /* if button is disabled, change the color to 'primary' (it looks better when disabled) */\n }\n variant=\"contained\"\n disabled={\n availableSlots !== null &&\n availableSlots <= 0\n }\n onClick={addCurrentToPending}\n />\n \n {availableSlots !== null && availableSlots <= 0 && (\n \n \n {cxt.t('page.event.maxUsersSignup')}\n \n \n )}\n
\n\n {/* RIGHT SIDE: List of pendings inscriptions */}\n\n \n \n {cxt.t('page.event.userForSignup')}:\n \n\n {/* List of pending incriptions */}\n \n\n {/* CAPACITY */}\n {availableSlots !== null && (\n \n {`${cxt.t(\n 'pages.events.availableSlots',\n )}: ${availableSlots}`}\n \n )}\n\n {/* PAYMENT */}\n {category.enrollment > 0 &&\n pending.length > 0 &&\n creatingTeam && (\n <>\n \n \n \n \n {/* \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{cxt.t('PaymentForm')}\n\t\t\t\t\t\t\t\t\t\t({`${cxt.t('page.activity.signUpPayment')}, ${formatPrice(category.enrollment, cxt.t('coin'))}`})\n\t\t\t\t\t\t\t\t */}\n \n \n {`${cxt.t('Total')} (${cxt.t(\n 'Enrollment',\n )})`}\n \n \n \n {event.teamable\n ? `${formatPriceByLocale(\n category\n ?.enrollmentShape\n ?.price,\n category\n ?.enrollmentShape\n ?.currency,\n category\n ?.enrollmentShape\n ?.locale,\n )}`\n : `${formatPriceByLocale(\n pending.reduce(\n (res, insc) =>\n res +\n insc.price,\n 0,\n ),\n category\n ?.enrollmentShape\n ?.currency,\n category\n ?.enrollmentShape\n ?.locale,\n )}`}\n \n {/* {`${formatPrice(pending[0].price, cxt.t('coin'))}`} */}\n \n \n \n setPaymentForm(value)\n }\n />\n \n \n )}\n \n \n \n \n \n \n \n }\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Typography, Divider, makeStyles } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport { AppContext, SttButtonAccept } from '../../../sporttia/all';\nimport { formatPriceByLocale, redirectLogin } from '../../../lib/utils';\nimport ModalSignUp from './ModalSignup';\nimport { useCrud } from '../../../lib/hooks';\nimport { getPath } from '../../Pages';\n\nconst useStyles = makeStyles(() => ({\n eventName: {\n fontSize: 18,\n color: '#000',\n },\n catName: {\n fontSize: 16,\n color: '#000',\n },\n catDesc: {\n fontSize: 14,\n color: '#333',\n },\n catPrice: {},\n full: {\n color: 'red',\n },\n}));\n\nexport default function EventDetails({\n event,\n team,\n onInscription,\n inscriptionDisabled,\n}) {\n const history = useHistory();\n const classes = useStyles();\n const cxt = useContext(AppContext);\n const [signupCat, setSignupCat] = useState(null);\n const [, , , Get, Post, ,] = useCrud(undefined, false);\n const [idMship, setIdMship] = useState();\n\n function saveInscription(inscription) {\n cxt.api('POST', `/events/${event.id}/inscriptions`, {\n params: inscription,\n success: (response) => {\n if (\n response.tpv ||\n (response.inscription &&\n response.inscription.payment &&\n response.inscription.payment.tpv)\n ) {\n const tpv =\n response.tpv ||\n (response.inscription &&\n response.inscription.payment &&\n response.inscription.payment.tpv);\n\n history.push(getPath('tpvSwitcher', { id: tpv.id }));\n } else if (onInscription) {\n onInscription();\n }\n\n setSignupCat(null);\n },\n error: (response) => {\n if (response.error) {\n cxt.showMessage('E', response.error.msg);\n }\n },\n });\n }\n\n function addToTeam(idTeam, participants) {\n cxt.api('POST', '/batch', {\n params: {\n calls: participants.map((participant) => ({\n method: 'POST',\n endpoint: `/events/categories/${signupCat.id}/participants`,\n data: { ...participant, idTeam },\n })),\n },\n success: () => {\n if (onInscription) {\n onInscription();\n }\n setSignupCat(null);\n },\n error: (e) => {\n cxt.showMessage('E', e?.error?.msg);\n setSignupCat(null);\n },\n });\n }\n\n function saveTeam(teamInscription) {\n if (\n !teamInscription.participants ||\n teamInscription.participants.length === 0 ||\n !signupCat\n ) {\n return;\n }\n\n /* LA FORMA BUENA: No vale de momento porque \"Call to undefined method APIEvent::addTeam() /home/sporttia/webs/sporttia-apis/pre/versions/v6/index.php [38]\"\n\t\tif(!teamInscription.idTeam) {\n\t\t\t//crear equipo antes (?)\n\t\t\tPost(`/events/categories/${signupCat.id}/teams`, {name: teamInscription.teamName}).then(result => {\n\t\t\t\tif(result.team) {\n\t\t\t\t\tconst {idTeam} = result.team;\n\t\t\t\t\taddToTeam(idTeam, teamInscription.participants);\n\t\t\t\t}\n\t\t\t}).catch(() => {})\n\t\t} else {\n\t\t\taddToTeam(teamInscription.idTeam, teamInscription.participants);\n\t\t}\n\t\t*/\n\n // console.log(teamInscription); return;\n\n // Chapuza: me inscribo yo primero y luego uso el idTeam generado para inscribir a los demás\n if (!teamInscription.idTeam) {\n const participants = [...teamInscription.participants];\n const me = participants.splice(\n participants.findIndex((p) => p.admin),\n 1,\n );\n const { paymentForm, teamName } = teamInscription;\n\n Post(`/events/categories/${signupCat.id}/participants`, {\n ...me[0],\n paymentForm,\n teamName,\n })\n .then((response) => {\n if (response.participant && response.participant.team) {\n // Bug: si inscribo a más de uno a la vez, nunca entraremos aquí y por tanto no habrá pago con TPV\n if (participants.length === 0) {\n if (\n response.tpv ||\n (response.participant &&\n response.participant.enrollment &&\n response.participant.enrollment.tpv)\n ) {\n const tpv =\n response.tpv ||\n (response.participant &&\n response.participant.enrollment &&\n response.participant.enrollment.tpv);\n\n history.push(\n getPath('tpvSwitcher', { id: tpv.id }),\n );\n } else {\n if (onInscription) {\n onInscription();\n }\n setSignupCat(null);\n }\n } else {\n addToTeam(\n response.participant.team.id,\n participants,\n );\n }\n }\n })\n .catch((response) => {\n if (response.error) {\n cxt.showMessage('E', response.error.msg);\n }\n });\n } else {\n addToTeam(teamInscription.idTeam, teamInscription.participants);\n }\n }\n\n function loadMe() {\n Get(`/scs/${event.sc.id}/me`)\n .then((response) => {\n if (response.mship) {\n setIdMship(response.mship.id);\n }\n })\n .catch(() => {});\n }\n\n useEffect(() => {\n if (\n cxt.logged &&\n cxt.user.role !== 'SPORTCENTER' &&\n event &&\n event.sc\n ) {\n loadMe();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [event]);\n\n if (!event) {\n return null;\n }\n\n const eventIsFull = event.teamable\n ? false\n : event.maxParticipants !== 0 &&\n event.numParticipants >= event.maxParticipants;\n\n return (\n \n \n \n \n \n {/* MAX PARTICIPANTS */}\n {event.teamable ? (\n {`${cxt.t('Teams')}: ${\n event.numTeams\n }`}\n ) : (\n {`${cxt.t('Participants')}: ${event.numParticipants}${\n event.maxParticipants\n ? ` / ${event.maxParticipants}`\n : ''\n }`}\n )}\n \n \n {/* LIST OF CATEGORIES */}\n {event.categories &&\n event.categories.map((category, index) => {\n const categoryIsFull = event.teamable\n ? category.maxTeams !== 0 &&\n category.numTeams >= category.maxTeams\n : category.maxParticipants !== 0 &&\n category.numParticipants >=\n category.maxParticipants;\n const cur = event.teamable\n ? category.numTeams\n : category.numParticipants;\n const max = event.teamable\n ? category.maxTeams\n : category.maxParticipants;\n\n return (\n // eslint-disable-next-line react/no-array-index-key\n
\n {index > 0 && (\n \n \n \n )}\n \n \n \n {category.name}\n \n \n {`${cur}${\n max !== 0 ? ` / ${max}` : ''\n } ${\n event.teamable\n ? cxt\n .t('Teams')\n .toLowerCase()\n : cxt\n .t('Participants')\n .toLowerCase()\n }`}\n \n \n {category.description && (\n \n \n {category.description}\n \n \n )}\n \n {`${cxt.t(\n 'Inscription',\n )}: ${\n category.enrollment > 0\n ? formatPriceByLocale(\n category?.enrollment,\n category?.enrollmentShape\n ?.currency,\n category?.enrollmentShape\n ?.locale,\n )\n : cxt.t('Free')\n }`}\n {event.signupOnline && (\n \n cxt.logged\n ? setSignupCat(category)\n : redirectLogin(history)\n }\n />\n )}\n \n \n
\n );\n })}\n
\n {signupCat && (\n setSignupCat(null)}\n idMship={idMship}\n />\n )}\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Typography, makeStyles, Divider } from '@material-ui/core';\nimport moment from 'moment';\nimport { AppContext } from '../../../sporttia/all';\nimport { formatPriceByLocale, fullName } from '../../../lib/utils';\n\nconst useStyles = makeStyles((theme) => ({\n heading: {\n display: 'flex',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing(1),\n borderBottom: '1px solid #cdcdcd',\n },\n name: {\n fontSize: 16,\n minWidth: 300,\n },\n cat: {\n fontSize: 16,\n },\n pricePending: {\n fontSize: 16,\n color: 'red',\n },\n pricePaid: {\n fontSize: 16,\n color: 'green',\n },\n}));\n\nexport default function EventInscriptions({ event, inscriptions }) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n if (!inscriptions) {\n return null;\n }\n\n return (\n <>\n \n \n {cxt.t('page.event.oldInscriptions').toUpperCase()}\n \n \n \n {inscriptions.map((insc, i) => (\n \n \n \n {cxt.t('Inscription')}\n \n \n {moment(insc.created).format('DD MMM YYYY')}\n \n \n \n {insc.participants &&\n insc.participants.map((participant, i) => {\n let priceClass = classes.pricePending;\n if (\n participant.category?.price === 0 ||\n (participant.enrollment &&\n participant.enrollment?.status ==\n 'PAID')\n ) {\n priceClass = classes.pricePaid;\n }\n return (\n \n {i > 0 && (\n \n \n \n )}\n \n \n {fullName(participant)}\n \n \n {participant.category?.name}\n \n \n {participant.category\n ?.enrollment > 0\n ? formatPriceByLocale(\n participant\n ?.category\n ?.enrollment,\n participant\n ?.category\n ?.enrollmentShape\n ?.currency,\n participant\n ?.category\n ?.enrollmentShape\n ?.locale,\n )\n : cxt.t('Free')}\n \n \n \n );\n })}\n \n \n ))}\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Typography, makeStyles, Divider } from '@material-ui/core';\nimport { AppContext, SttParticipantsList } from '../../../sporttia/all';\nimport { formatPrice, fullName } from '../../../lib/utils';\nimport { useCrud } from '../../../lib/hooks';\n\nconst useStyles = makeStyles((theme) => ({\n teamName: {\n fontSize: 20,\n textTransform: 'uppercase',\n },\n participants: {\n fontSize: 16,\n fontWeight: 500,\n },\n cat: {\n fontsize: 14,\n color: '#5b5b5b',\n },\n heading: {\n display: 'flex',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing(1),\n borderBottom: '1px solid #cdcdcd',\n },\n name: {\n fontSize: 16,\n minWidth: 300,\n },\n pricePending: {\n fontSize: 16,\n color: 'red',\n },\n pricePaid: {\n fontSize: 16,\n color: 'green',\n },\n}));\n\nexport default function EventTeam({ event, team, onDelete }) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const [_team, setTeam, , Get, , , Delete] = useCrud(team);\n\n useEffect(() => {\n if (team && team.participants.length !== _team.participants.length) {\n setTeam(team);\n }\n }, [team]);\n\n function deleteParticipant(participant) {\n Delete(`/events/participants/${participant.id}`)\n .then((response) => {\n onDelete();\n })\n .catch(() => {});\n }\n\n if (!team) {\n return null;\n }\n\n return (\n <>\n \n \n {_team?.name}\n \n {`${cxt.t('Category')}: ${\n _team.category?.name\n }`}\n \n \n \n {cxt.t('Participants')}:\n \n \n \n \n \n \n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport { AppContext, SttTable } from '../all';\nimport { fullName } from '../../lib/utils';\nimport useEventsService from '../../services/EventsService';\nimport { SttTopFilteringControls } from '../SttTopFilteringControls';\nimport EventTeam from '../../types/models/EventTeam';\nimport translations from '../../translations';\nimport { useLoader } from '../../lib/hooks';\n\ntype Category = {\n id: number;\n name: string;\n};\ntype TeamParticipantRow = {\n fullName?: string;\n teamName?: string;\n};\ntype TeamsParticipantsData = {\n count: number;\n rows: Array;\n};\ntype TeamParticipant = {\n name: string;\n surname1: string;\n surname2: string;\n};\n\nexport default function SignedTeamsByCategoryList({\n items,\n}: {\n items: Array;\n}) {\n const cxt = useContext(AppContext)!;\n const [categories] = useState>(items);\n const [currentCategoryId, setCurrentCategoryId] = useState(\n categories ? categories[0]?.id : null,\n );\n const [selectedCategoryId, setSelectedCategoryId] = useState<\n number | undefined\n >(items[0]?.id);\n const [teamParticipantsRows, setTeamParticipantsRows] =\n useState();\n const getEventTeamsByCategoryId =\n useEventsService().useGetEventTeamsByCategoryId(\n Number(currentCategoryId),\n { trash: false },\n );\n const [loader] = useLoader([getEventTeamsByCategoryId?.status]);\n\n useEffect(() => {\n if (\n getEventTeamsByCategoryId?.isSuccess &&\n getEventTeamsByCategoryId?.data?.rows?.length > 0\n ) {\n const teamsTableRows: Array = [];\n\n getEventTeamsByCategoryId?.data?.rows?.forEach(\n (team: EventTeam) => {\n const teamParticipants =\n team.participants as Array;\n\n teamParticipants.forEach((participant: TeamParticipant) => {\n teamsTableRows.push({\n fullName: fullName({\n name: participant.name,\n surname1: participant.surname1,\n surname2: participant.surname2,\n }) as string,\n teamName: team?.name,\n });\n });\n },\n );\n setTeamParticipantsRows({\n count: teamsTableRows.length,\n rows: teamsTableRows,\n });\n }\n }, [getEventTeamsByCategoryId?.data, getEventTeamsByCategoryId?.isSuccess]);\n\n return (\n <>\n {loader}\n ({\n label: cat.name,\n value: cat.id,\n })),\n },\n ]}\n onFilter={({ value }: { value: number }) => {\n setSelectedCategoryId(value);\n }}\n onChange={undefined}\n menu={undefined}\n menuIcon={undefined}\n filterButton={undefined}\n downloadButton={undefined}\n iconButtons={undefined}\n trashAction={undefined}\n mainAction={undefined}\n />\n\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Typography,\n useMediaQuery,\n useTheme,\n makeStyles,\n Container,\n} from '@material-ui/core';\nimport moment from 'moment';\nimport clsx from 'clsx';\nimport { Link } from 'react-router-dom';\nimport ModalImage from 'react-modal-image';\nimport { AppContext, SttTabs } from '../../../sporttia/all';\nimport { useCrud, useLoader } from '../../../lib/hooks';\nimport { formatPeriod } from '../../../lib/utils';\nimport { getPath } from '../../Pages';\nimport EventDetails from './EventDetails';\nimport EventInscriptions from './EventInscriptions';\nimport EventTeam from './EventTeam';\nimport SignedUsersList from '../../../sporttia/lists/SignedUsersList';\nimport translations from '../../../translations';\nimport constants from '../../../config/constants';\nimport SignedTeamsByCategoryList from '../../../sporttia/lists/SignedTeamsByCategoryList';\n\nconst useStyles = makeStyles((theme) => ({\n dateBox: {\n padding: theme.spacing(1),\n marginTop: theme.spacing(1),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n minHeight: 62,\n borderRadius: 4,\n },\n greenBg: {\n backgroundColor: 'green',\n },\n redBg: {\n backgroundColor: 'red',\n },\n inscriptionLabel: {\n color: '#fff',\n fontSize: 13,\n },\n eventName: {\n fontSize: 20,\n color: '#fff',\n },\n registrationLabel: {\n color: '#fff',\n fontSize: 15,\n },\n registrationBox: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 4,\n minHeight: 50,\n },\n imageColumn: {\n maxWidth: 260,\n },\n imageRow: {\n width: '100%',\n },\n imgBG: {\n width: '100%',\n background: 'linear-gradient(rgba(0,0,0,0.9), rgba(0,0,0,0.0))',\n },\n}));\n\nexport default function Event({ match }) {\n const [event, setEvent, , Get] = useCrud();\n const [inscriptions, setInscriptions] = useState(null);\n const [team, setTeam] = useState();\n const [me, setMe] = useState();\n const [eventCategories, setEventCategories] = useState();\n const [files, setFiles] = useState([]);\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const [signedParticipants, setSignedParticipants] = useState();\n\n const theme = useTheme();\n const mdUp = useMediaQuery(theme.breakpoints.up('md'));\n const smDown = useMediaQuery(theme.breakpoints.down('sm'));\n\n const [, loader] = useLoader([event ? 'success' : 'loading']);\n const showSignedParticipants =\n event?.showParticipants &&\n (signedParticipants?.length > 0 || event?.numTeams > 0);\n function loadEvent() {\n const { id } = match.params;\n\n Get(`/events/${id}`)\n .then((response) => {\n if (response.event) {\n setEvent(response.event);\n setInscriptions(response.inscriptions);\n setTeam(response.team);\n setEventCategories(response.event.categories);\n }\n\n if (response.me) {\n setMe(response.me);\n }\n\n if (response?.signedParticipants) {\n const participants = response?.signedParticipants?.rows\n ?.map((participant) => ({\n user: {\n fullName: participant?.fullName,\n },\n }))\n .flat();\n setSignedParticipants(participants);\n }\n })\n .catch();\n }\n\n function loadFiles() {\n const { id } = match.params;\n\n Get(`/events/${id}/files`).then((response) => {\n if (response.count > 0) {\n setFiles(response.rows);\n }\n });\n }\n\n useEffect(() => {\n if (match.params.id) {\n loadEvent();\n loadFiles();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!event) {\n return loader;\n }\n\n const inTime =\n moment().isAfter(moment(event.ini)) &&\n moment().isBefore(moment(event.end));\n const inIscTime =\n moment().isAfter(moment(event.inscIni)) &&\n moment().isBefore(moment(event.inscEnd));\n const dateFormat = mdUp ? 'D MMMM YYYY' : 'DD/MM/YYYY';\n const timeFormat = 'HH:mm:ss';\n const [period, ,] = formatPeriod(\n event.ini,\n event.end,\n { dateFormat },\n cxt.t,\n );\n const [, , , , dateTime] = formatPeriod(\n event.inscIni,\n event.inscEnd,\n { dateFormat, timeFormat },\n cxt.t,\n );\n\n return (\n \n \n \n \n {event.poster.id ? (\n \n ) : (\n \n )}\n \n \n \n {inTime\n ? cxt.t('page.event.inProcess')\n : cxt.t('page.event.notInProcess')}\n \n \n {period}\n \n \n \n \n {inIscTime\n ? cxt.t('page.event.inscInTime')\n : cxt.t('page.activity.inscOutTime')}\n \n \n {`${dateTime}`}\n \n \n {files.length > 0 && (\n \n \n \n {cxt.t('Documents')}:\n \n \n {files.map((file) => (\n \n \n \n {file.description}\n \n \n ))}\n \n )}\n \n \n \n {event.name}\n \n \n {event.sc.short}\n \n \n {me && (\n \n \n {cxt.t('page.event.ImSigned')}\n \n \n )}\n \n \n ),\n },\n {\n caption: cxt.t('Inscriptions'),\n component: (\n \n ),\n show: inscriptions?.length > 0,\n },\n {\n caption: cxt.t('Team'),\n component: (\n \n ),\n show: !!team,\n },\n {\n caption: cxt.t(\n translations.generic.signedUsers,\n ),\n show: showSignedParticipants,\n component:\n event?.type ===\n constants.events.types.tournament ? (\n \n ) : (\n \n ),\n },\n ]}\n />\n \n \n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z\"\n}), 'FileCopy');","import { useContext } from 'react';\nimport { useAPI } from '../lib/hooks';\nimport useRestService from './RestService';\nimport { AppContext } from '../sporttia/AppContext';\n\nconst resource = '/apis';\n\n/**\n * Hook to access all 'apis' resources.\n */\nexport default function useApisService() {\n const { migrationApis } = useContext(AppContext);\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /apis/:id/parameters request.\n * @param id API ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getApiParameters(id, params) {\n return request('GET', `${resource}/${id}/parameters`, params);\n }\n\n /**\n * PUT /apis/parameters/:id request.\n * @param id API Parameter ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateApiParameter(id, params) {\n return request('PUT', `${resource}/parameters/${id}`, params);\n }\n\n /**\n * POST /apis/:id/parameters request.\n * @param id API ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createApiParameter(id, params) {\n return request('POST', `${resource}/${id}/parameters`, params);\n }\n\n /**\n * DELETE /apis/parameters/:id request.\n * @param id API Parameter ID.\n * @returns {Promise|*} Return request promise.\n */\n function removeApiParameter(id) {\n return request('DELETE', `${resource}/parameters/${id}`);\n }\n\n /**\n * GET /apis/:id/responses request.\n * @param id API ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getApiResponses(id, params) {\n return request('GET', `${resource}/${id}/responses`, params);\n }\n\n /**\n * PUT /apis/responses/:id request.\n * @param id API Parameter ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateApiResponse(id, params) {\n return request('PUT', `${resource}/responses/${id}`, params);\n }\n\n /**\n * POST /apis/:id/responses request.\n * @param id API ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createApiResponse(id, params) {\n return request('POST', `${resource}/${id}/responses`, params);\n }\n\n /**\n * DELETE /apis/responses/:id request.\n * @param id API Parameter ID.\n * @returns {Promise|*} Return request promise.\n */\n function removeApiResponse(id) {\n return request('DELETE', `${resource}/responses/${id}`);\n }\n\n /**\n * GET /apis/:id/tests request.\n * @param id API ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getApiTests(id, params) {\n return request('GET', `${resource}/${id}/tests`, params);\n }\n\n /**\n * GET /apis/models request.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getApiModels(params) {\n return request('GET', `${resource}/models`, params);\n }\n\n /**\n * GET /apis/models/:id request.\n * @param id API Model ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getApiModel(id, params) {\n return request('GET', `${resource}/models/${id}`, params);\n }\n\n /**\n * POST /apis/models request.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createApiModel(params) {\n return request('POST', `${resource}/models`, params);\n }\n\n /**\n * PUT /apis/models/:id request.\n * @param id API Model ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateApiModel(id, params) {\n return request('PUT', `${resource}/models/${id}`, params);\n }\n\n /**\n * DELETE /apis/models/:id request.\n * @param id API Model ID.\n * @returns {Promise|*} Return request promise.\n */\n function removeApiModel(id) {\n return request('DELETE', `${resource}/models/${id}`);\n }\n\n /**\n * POST /apis/models/:id/properties request.\n * @param id API Model ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function createApiModelProperty(id, params) {\n return request('POST', `${resource}/models/${id}/properties`, params);\n }\n\n /**\n * PUT /apis/models/properties/:id request.\n * @param id API Model property ID.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateApiModelProperty(id, params) {\n return request('PUT', `${resource}/models/properties/${id}`, params);\n }\n\n /**\n * DELETE /apis/models/properties/:id request.\n * @param id API Model property ID.\n * @returns {Promise|*} Return request promise.\n */\n function removeApiModelProperty(id) {\n return request('DELETE', `${resource}/models/properties/${id}`);\n }\n\n /**\n * GET /apis/executions request.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getApisExecutions(params) {\n return request('GET', `${resource}/executions`, params);\n }\n\n return {\n ...services,\n getApiParameters,\n updateApiParameter,\n createApiParameter,\n removeApiParameter,\n getApiResponses,\n updateApiResponse,\n createApiResponse,\n removeApiResponse,\n getApiTests,\n getApiModels,\n getApiModel,\n createApiModel,\n updateApiModel,\n removeApiModel,\n createApiModelProperty,\n updateApiModelProperty,\n removeApiModelProperty,\n getApisExecutions,\n };\n}\n","import React from 'react';\nimport { Chip } from '@material-ui/core';\n\n/**\n * Compact element to represent the different HTTP verbs (GET, POST, PUT, DELETE ...)\n * @param httpVerb Http verb, can be: [GET, POST, PUT, DELETE]\n * @returns {JSX.Element}\n */\nexport function SttChipHttpVerb({ httpVerb }) {\n const color = {\n GET: '#00b6ff',\n POST: '#0fbf05',\n PUT: 'orange',\n DELETE: 'red',\n };\n\n return (\n \n );\n}\n","import React, { useContext, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport useApisService from '../../../../services/ApisService';\nimport { useLoader } from '../../../../lib/hooks';\n\n/**\n * API details view. View with form to modify api data.\n * @param api API Object.\n * @param status React-query status.\n * @param onCreate Launched when a new customer is created.\n * @param onUpdate Launched when a new customer is updated.\n * @param onDelete Launched when a new customer is removed.\n * @returns {JSX.Element}\n */\nexport default function AdminApiDetails({\n api,\n status,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const form = useForm();\n const apisService = useApisService();\n const deleteMutation = useMutation(\n (params) => apisService.remove(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => apisService.update(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n const createMutation = useMutation(\n (params) => apisService.create(params?.params),\n {\n onSuccess: (data) => onCreate(data?.api?.id),\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create api.\n */\n const mutateApi = (formData) => {\n if (api?.id) {\n updateMutation.mutate({ id: api?.id, params: formData });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (status === 'success' && api) {\n form.reset({\n id: api?.id,\n created: api?.created,\n type: api?.type,\n method: api?.method,\n endpoint: api?.endpoint,\n name: api?.name,\n description: api?.description,\n object: api?.object,\n function: api?.function,\n category: api?.category,\n public: api?.public,\n });\n } else {\n form.reset({\n id: '',\n created: new Date(),\n type: '',\n method: 'GET',\n endpoint: '',\n name: '',\n description: '',\n object: '',\n function: '',\n category: '',\n public: false,\n });\n }\n }, [api]);\n\n return (\n <>\n {loader}\n \n mutateApi(formData),\n ),\n },\n {\n show: api?.id && !api?.trash,\n type: 'delete',\n onClick: () => deleteMutation.mutate({ id: api?.id }),\n },\n ]}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext, SttDialog } from '../../../../sporttia/all';\nimport { useLoader } from '../../../../lib/hooks';\nimport useApisService from '../../../../services/ApisService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\n\n/**\n * Dialog to modify, create and delete API parameters.\n * @param apiId API Id.\n * @param parameterValue API Parameter object.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Action taken when creating the api parameter.\n * @param onUpdate Action taken when updating the api parameter.\n * @param onDelete Method executed when removing api parameter.\n * @returns {JSX.Element}\n */\nexport default function AdminApiParameterDialog({\n apiId,\n parameterValue,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const apisService = useApisService();\n const form = useForm();\n const [parameter, setParameter] = useState(parameterValue);\n const deleteMutation = useMutation(\n (params) => apisService.removeApiParameter(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => apisService.updateApiParameter(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n setParameter(data?.apiParameter);\n },\n },\n );\n const createMutation = useMutation(\n (params) => apisService.createApiParameter(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onCreate(data);\n setParameter(data?.apiParameter);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create parameter.\n * @param formData Form data.\n */\n const mutateParameter = (formData) => {\n if (parameter?.id) {\n updateMutation.mutate({ id: parameter?.id, params: formData });\n } else {\n createMutation.mutate({ id: apiId, params: formData });\n }\n };\n\n /**\n * When the \"parameter\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (parameter) {\n form.reset({\n id: parameter?.id,\n created: parameter?.created,\n type: parameter?.type,\n name: parameter?.name,\n description: parameter?.description,\n mandatory: parameter?.mandatory,\n });\n } else {\n form.reset({\n id: '',\n created: new Date(),\n type: '',\n name: '',\n description: '',\n mandatory: false,\n });\n }\n }, [parameter]);\n\n /**\n * When the value of the parameter passed to the component is modified, the selected internal\n * parameter saved in the \"parameter\" state will be modified.\n */\n useEffect(() => {\n setParameter(parameterValue);\n }, [parameterValue]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'delete',\n confirmation: true,\n onClick: () => deleteMutation.mutate({ id: parameter?.id }),\n },\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateParameter(formData),\n ),\n },\n ]}\n />\n );\n}\n","import React, { useState, useContext } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/all';\nimport AdminApiParameterDialog from './AdminApiParameterDialog';\nimport useApisService from '../../../../services/ApisService';\nimport { SUPERADMIN_API_PARAMETERS } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\n\n/**\n * API parameters view. View with a table that lists the parameters of an api.\n * @param apiId API ID.\n * @returns {JSX.Element}\n */\nexport default function AdminApiParameters({ apiId }) {\n const cxt = useContext(AppContext);\n const [parameter, setParameter] = useState(null);\n const queryClient = useQueryClient();\n const apisService = useApisService();\n\n return (\n <>\n setParameter({}),\n }}\n />\n\n \n apisService.getApiParameters(apiId, params)\n }\n onClickRow={(row) => setParameter(row)}\n columns={[\n {\n title: cxt.t('Name'),\n field: 'name',\n value: (row) => {row.name},\n },\n {\n title: cxt.t('Description'),\n field: 'description',\n align: 'left',\n },\n {\n title: cxt.t('Type'),\n field: 'type',\n },\n {\n type: 'active',\n title: cxt.t('Mandatory'),\n field: 'mandatory',\n },\n ]}\n />\n\n {/* En el futuro si tenemos un GET /apis/parameters/:id podríamos quitar parameterValue y pasar el id del parameter. */}\n setParameter(null)}\n onCreate={() =>\n queryClient.invalidateQueries(SUPERADMIN_API_PARAMETERS)\n }\n onUpdate={() =>\n queryClient.invalidateQueries(SUPERADMIN_API_PARAMETERS)\n }\n onDelete={() => {\n setParameter(null);\n queryClient.invalidateQueries(SUPERADMIN_API_PARAMETERS);\n }}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext, SttDialog } from '../../../../sporttia/all';\nimport useApisService from '../../../../services/ApisService';\nimport { useLoader } from '../../../../lib/hooks';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\n\n/**\n * Dialog to modify, create and delete API responses.\n * @param apiId API Id.\n * @param responseValue API Response object.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Action taken when creating the api parameter.\n * @param onUpdate Action taken when updating the api parameter.\n * @param onDelete Method executed when removing api parameter.\n * @returns {JSX.Element}\n */\nexport default function AdminApiResponseDialog({\n apiId,\n responseValue,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const apisService = useApisService();\n const form = useForm();\n const [response, setResponse] = useState(responseValue);\n const deleteMutation = useMutation(\n (params) => apisService.removeApiResponse(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => apisService.updateApiResponse(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n setResponse(data?.apiResponse);\n },\n },\n );\n const createMutation = useMutation(\n (params) => apisService.createApiResponse(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onCreate(data);\n setResponse(data?.apiResponse);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create response.\n * @param formData Form data.\n */\n const mutateResponse = (formData) => {\n if (response?.id) {\n updateMutation.mutate({ id: response?.id, params: formData });\n } else {\n createMutation.mutate({ id: apiId, params: formData });\n }\n };\n\n /**\n * When the \"response\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (response) {\n form.reset({\n id: response?.id,\n created: response?.created,\n type: response?.type,\n name: response?.name,\n description: response?.description,\n });\n } else {\n form.reset({\n id: '',\n created: new Date(),\n type: '',\n name: '',\n description: '',\n });\n }\n }, [response]);\n\n /**\n * When the value of the response passed to the component is modified, the selected internal\n * response saved in the \"response\" state will be modified.\n */\n useEffect(() => {\n setResponse(responseValue);\n }, [responseValue]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'delete',\n confirmation: true,\n onClick: () => deleteMutation.mutate({ id: response?.id }),\n },\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateResponse(formData),\n ),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport useApisService from '../../../../services/ApisService';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport { SUPERADMIN_API_RESPONSES } from '../../../../lib/queryKeys';\nimport AdminApiResponseDialog from './AdminApiResponseDialog';\n\n/**\n * API responses view. View with a table that lists the responses of an api.\n * @param apiId API ID.\n * @returns {JSX.Element}\n */\nexport default function AdminApiResponses({ apiId }) {\n const cxt = useContext(AppContext);\n const [response, setResponse] = useState(null);\n const queryClient = useQueryClient();\n const apisService = useApisService();\n\n return (\n <>\n setResponse({}),\n }}\n />\n\n apisService.getApiResponses(apiId, params)}\n onClickRow={(row) => setResponse(row)}\n columns={[\n {\n title: 'Name',\n field: 'name',\n value: (row) => {row.name},\n },\n {\n title: 'Description',\n field: 'description',\n align: 'left',\n },\n {\n title: 'Type',\n field: 'type',\n },\n ]}\n />\n\n {/* En el futuro si tenemos un GET /apis/responses/:id podríamos quitar responseValue y pasar el id del response. */}\n setResponse(null)}\n onCreate={() =>\n queryClient.invalidateQueries(SUPERADMIN_API_RESPONSES)\n }\n onUpdate={() =>\n queryClient.invalidateQueries(SUPERADMIN_API_RESPONSES)\n }\n onDelete={() => {\n setResponse(null);\n queryClient.invalidateQueries(SUPERADMIN_API_RESPONSES);\n }}\n />\n \n );\n}\n","import useRestService from './RestService';\n\nconst resource = '/tests';\n\n/**\n * Hook to access all 'tests' resources.\n */\nexport default function useTestsService() {\n const services = useRestService(resource);\n\n return {\n ...services,\n };\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttDialog } from '../../../../sporttia/all';\nimport { useLoader } from '../../../../lib/hooks';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport useTestsService from '../../../../services/TestsService';\n\n/**\n * Dialog to modify, create and delete API tests.\n * @param apiId API Id.\n * @param testValue API Test object.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Action taken when creating the api parameter.\n * @param onUpdate Action taken when updating the api parameter.\n * @param onDelete Method executed when removing api parameter.\n * @returns {JSX.Element}\n */\nfunction AdminApiTestDialog({\n apiId,\n testValue,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const testsService = useTestsService();\n const form = useForm();\n const [test, setTest] = useState(testValue);\n const deleteMutation = useMutation(\n (params) => testsService.remove(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => testsService.update(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n setTest(data?.test);\n },\n },\n );\n const createMutation = useMutation(\n (params) => testsService.create(params?.params),\n {\n onSuccess: (data) => {\n onCreate(data);\n setTest(data?.test);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create test.\n * @param formData Form data.\n */\n const mutateTest = (formData) => {\n if (test?.id) {\n updateMutation.mutate({ id: test?.id, params: formData });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the \"test\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (test) {\n form.reset({\n type: test?.type,\n hart: test?.hart,\n function: test?.function,\n status: test?.status,\n idAPI: apiId,\n description: test?.description,\n });\n } else {\n form.reset({\n type: '',\n hart: '',\n function: '',\n status: '',\n idAPI: apiId,\n description: '',\n });\n }\n }, [test]);\n\n /**\n * When the value of the test passed to the component is modified, the selected internal\n * test saved in the \"test\" state will be modified.\n */\n useEffect(() => {\n setTest(testValue);\n }, [testValue]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'delete',\n confirmation: true,\n onClick: () => deleteMutation.mutate({ id: test?.id }),\n },\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateTest(formData),\n ),\n },\n ]}\n />\n );\n}\n\nexport default AdminApiTestDialog;\n","import React, { useState, useContext } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/all';\nimport useApisService from '../../../../services/ApisService';\nimport { SUPERADMIN_API_TESTS } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport AdminApiTestDialog from './AdminApiTestDialog';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\n\n/**\n * API tests view. View with a table that lists the tests of an api.\n * @param apiId API ID.\n * @returns {JSX.Element}\n */\nexport default function AdminApiTests({ apiId }) {\n const cxt = useContext(AppContext);\n const [test, setTest] = useState(null);\n const queryClient = useQueryClient();\n const apisService = useApisService();\n\n return (\n <>\n setTest({}),\n }}\n />\n\n apisService.getApiTests(apiId, params)}\n onClickRow={(row) => setTest(row)}\n columns={[\n {\n title: 'Id',\n field: 'id',\n },\n {\n title: 'Description',\n field: 'description',\n align: 'left',\n },\n ]}\n />\n\n {/* En el futuro si tenemos un GET /apis/tests/:id podríamos quitar testValue y pasar el id del test. */}\n setTest(null)}\n onCreate={() =>\n queryClient.invalidateQueries(SUPERADMIN_API_TESTS)\n }\n onUpdate={() =>\n queryClient.invalidateQueries(SUPERADMIN_API_TESTS)\n }\n onDelete={() => {\n setTest(null);\n queryClient.invalidateQueries(SUPERADMIN_API_TESTS);\n }}\n />\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useQuery, useQueryClient } from 'react-query';\nimport { Box, Paper } from '@material-ui/core';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { SUPERADMIN_API } from '../../../../lib/queryKeys';\nimport useApisService from '../../../../services/ApisService';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttTabs } from '../../../../sporttia/SttTabs';\nimport AdminApiDetails from './AdminApiDetails';\nimport AdminApiParameters from './AdminApiParameters';\nimport AdminApiResponses from './AdminApiResponses';\nimport AdminApiTests from './AdminApiTests';\n\n/**\n * Api view. Contains tabs to access api data.\n * @param id API id.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function AdminApi({ id, onClose }) {\n const cxt = useContext(AppContext);\n const [apiId, setApiId] = useState(id);\n const queryClient = useQueryClient();\n const apisService = useApisService();\n const apiQuery = useQuery(\n [SUPERADMIN_API, { id: apiId }],\n () => apisService.get(apiId),\n { enabled: !!apiId && apiId !== 'create' },\n );\n\n /**\n * Update api id if id prop was changed.\n */\n useEffect(() => {\n setApiId(id);\n }, [id]);\n\n return (\n \n \n \n \n queryClient.setQueryData(\n [\n SUPERADMIN_API,\n { id: data?.api?.id },\n ],\n data,\n )\n }\n onDelete={onClose}\n />\n ),\n },\n {\n show: apiId !== 'create',\n caption: cxt.t('Parameters'),\n component: (\n \n ),\n },\n {\n show: apiId !== 'create',\n caption: cxt.t('Responses'),\n component: (\n \n ),\n },\n {\n show: apiId !== 'create',\n caption: cxt.t('Tests'),\n component: (\n \n ),\n },\n ]}\n />\n \n \n \n );\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport { duration } from '../styles/transitions';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nvar styles = {\n entering: {\n transform: 'none'\n },\n entered: {\n transform: 'none'\n }\n};\nvar defaultTimeout = {\n enter: duration.enteringScreen,\n exit: duration.leavingScreen\n};\n/**\n * The Zoom transition can be used for the floating variant of the\n * [Button](/components/buttons/#floating-action-buttons) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {\n var children = props.children,\n _props$disableStrictM = props.disableStrictModeCompat,\n disableStrictModeCompat = _props$disableStrictM === void 0 ? false : _props$disableStrictM,\n inProp = props.in,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n style = props.style,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? defaultTimeout : _props$timeout,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n other = _objectWithoutProperties(props, [\"children\", \"disableStrictModeCompat\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n\n var theme = useTheme();\n var enableStrictModeCompat = theme.unstable_strictMode && !disableStrictModeCompat;\n var nodeRef = React.useRef(null);\n var foreignRef = useForkRef(children.ref, ref);\n var handleRef = useForkRef(enableStrictModeCompat ? nodeRef : undefined, foreignRef);\n\n var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n return function (nodeOrAppearing, maybeAppearing) {\n if (callback) {\n var _ref = enableStrictModeCompat ? [nodeRef.current, nodeOrAppearing] : [nodeOrAppearing, maybeAppearing],\n _ref2 = _slicedToArray(_ref, 2),\n node = _ref2[0],\n isAppearing = _ref2[1]; // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n\n\n if (isAppearing === undefined) {\n callback(node);\n } else {\n callback(node, isAppearing);\n }\n }\n };\n };\n\n var handleEntering = normalizedTransitionCallback(onEntering);\n var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n reflow(node); // So the animation always start from the start.\n\n var transitionProps = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n var handleEntered = normalizedTransitionCallback(onEntered);\n var handleExiting = normalizedTransitionCallback(onExiting);\n var handleExit = normalizedTransitionCallback(function (node) {\n var transitionProps = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n\n if (onExit) {\n onExit(node);\n }\n });\n var handleExited = normalizedTransitionCallback(onExited);\n return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n appear: true,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n timeout: timeout\n }, other), function (state, childProps) {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n transform: 'scale(0)',\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Zoom.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A single child content element.\n */\n children: PropTypes.element,\n\n /**\n * Enable this prop if you encounter 'Function components cannot be given refs',\n * use `unstable_createStrictModeTheme`,\n * and can't forward the ref in the child component.\n */\n disableStrictModeCompat: PropTypes.bool,\n\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Zoom;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: _extends({}, theme.typography.button, {\n boxSizing: 'border-box',\n minHeight: 36,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border'], {\n duration: theme.transitions.duration.short\n }),\n borderRadius: '50%',\n padding: 0,\n minWidth: 0,\n width: 56,\n height: 56,\n boxShadow: theme.shadows[6],\n '&:active': {\n boxShadow: theme.shadows[12]\n },\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n backgroundColor: theme.palette.grey[300],\n '&:hover': {\n backgroundColor: theme.palette.grey.A100,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.grey[300]\n },\n '&$disabled': {\n backgroundColor: theme.palette.action.disabledBackground\n },\n textDecoration: 'none'\n },\n '&$focusVisible': {\n boxShadow: theme.shadows[6]\n },\n '&$disabled': {\n color: theme.palette.action.disabled,\n boxShadow: theme.shadows[0],\n backgroundColor: theme.palette.action.disabledBackground\n }\n }),\n\n /* Styles applied to the span element that wraps the children. */\n label: {\n width: '100%',\n // assure the correct width for iOS Safari\n display: 'inherit',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n primary: {\n color: theme.palette.primary.contrastText,\n backgroundColor: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.primary.main\n }\n }\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n secondary: {\n color: theme.palette.secondary.contrastText,\n backgroundColor: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: theme.palette.secondary.dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.secondary.main\n }\n }\n },\n\n /* Styles applied to the root element if `variant=\"extended\"`. */\n extended: {\n borderRadius: 48 / 2,\n padding: '0 16px',\n width: 'auto',\n minHeight: 'auto',\n minWidth: 48,\n height: 48,\n '&$sizeSmall': {\n width: 'auto',\n padding: '0 8px',\n borderRadius: 34 / 2,\n minWidth: 34,\n height: 34\n },\n '&$sizeMedium': {\n width: 'auto',\n padding: '0 16px',\n borderRadius: 40 / 2,\n minWidth: 40,\n height: 40\n }\n },\n\n /* Pseudo-class applied to the ButtonBase root element if the button is keyboard focused. */\n focusVisible: {},\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `size=\"small\"``. */\n sizeSmall: {\n width: 40,\n height: 40\n },\n\n /* Styles applied to the root element if `size=\"medium\"``. */\n sizeMedium: {\n width: 48,\n height: 48\n }\n };\n};\nvar Fab = /*#__PURE__*/React.forwardRef(function Fab(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'default' : _props$color,\n _props$component = props.component,\n component = _props$component === void 0 ? 'button' : _props$component,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n focusVisibleClassName = props.focusVisibleClassName,\n _props$size = props.size,\n size = _props$size === void 0 ? 'large' : _props$size,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'circular' : _props$variant,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"color\", \"component\", \"disabled\", \"disableFocusRipple\", \"focusVisibleClassName\", \"size\", \"variant\"]);\n\n return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n className: clsx(classes.root, className, size !== 'large' && classes[\"size\".concat(capitalize(size))], disabled && classes.disabled, variant === 'extended' && classes.extended, {\n 'primary': classes.primary,\n 'secondary': classes.secondary,\n 'inherit': classes.colorInherit\n }[color]),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref\n }, other), /*#__PURE__*/React.createElement(\"span\", {\n className: classes.label\n }, children));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fab.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the button.\n */\n children: PropTypes\n /* @typescript-to-proptypes-ignore */\n .node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: PropTypes.oneOf(['large', 'medium', 'small']),\n\n /**\n * The variant to use.\n * 'round' is deprecated, use 'circular' instead.\n */\n variant: chainPropTypes(PropTypes.oneOf(['extended', 'circular', 'round']), function (props) {\n if (props.variant === 'round') {\n throw new Error('Material-UI: variant=\"round\" was renamed variant=\"circular\" for consistency.');\n }\n\n return null;\n })\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiFab'\n})(Fab);","import { Fab, Zoom } from '@material-ui/core';\nimport { Add as AddIcon } from '@material-ui/icons';\nimport React from 'react';\n\ntype SttButtonFabProps = {\n onClick: () => void;\n};\n\n/**\n * Fab button\n *\n * Button in the corner to make the default operation on the page\n */\nexport function SttButtonFab({ onClick }: SttButtonFabProps) {\n return (\n \n \n \n \n \n );\n}\n","import React, { useContext, useEffect } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport { useMutation } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { useLoader } from '../../../../lib/hooks';\nimport useCustomersService from '../../../../services/CustomersService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { SttList } from '../../../../sporttia/lists/SttList';\n\n/**\n * Customer details view. View with form to modify customer data.\n * @param customer Customer object.\n * @param status React-query status.\n * @param onCreate Launched when a new customer is created.\n * @param onUpdate Launched when a new customer is updated.\n * @param onDelete Launched when a new customer is removed.\n * @returns {JSX.Element}\n */\nexport default function AdminCustomerDetails({\n customer,\n status,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const customersService = useCustomersService();\n const deleteMutation = useMutation(\n (params) => customersService.remove(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => customersService.update(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n const createMutation = useMutation(\n (params) => customersService.create(params?.params),\n {\n onSuccess: (data) => onCreate(data?.customer?.id),\n },\n );\n const form = useForm();\n const [loading, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create client.\n */\n const mutateCustomer = (formData) => {\n if (customer?.id) {\n updateMutation.mutate({ id: customer?.id, params: formData });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (status === 'success' && customer) {\n form.reset({\n name: customer?.name,\n type: customer?.type,\n cif: customer?.cif,\n numInvoiceFormat: customer?.numInvoiceFormat,\n address: customer?.address,\n phone: customer?.phone,\n contactPerson: customer?.contactPerson,\n email: customer?.email,\n bic: customer?.bic,\n iban: customer?.iban,\n notes: customer?.notes,\n });\n } else {\n form.reset({\n name: '',\n type: 'TOWNHALL',\n cif: '',\n numInvoiceFormat: '',\n address: '',\n phone: '',\n contactPerson: '',\n email: '',\n bic: '',\n iban: '',\n notes: '',\n });\n }\n }, [customer]);\n\n return (\n <>\n {loader}\n \n \n \n mutateCustomer(formData),\n ),\n },\n {\n show: customer?.id && !customer?.trash,\n type: 'delete',\n onClick: () =>\n deleteMutation.mutate({ id: customer?.id }),\n },\n ]}\n />\n \n \n \n {customer?.id && customer?.scs && (\n \n ({\n caption: sc?.name,\n }))\n }\n loadingData={loading}\n />\n \n )}\n \n \n \n \n );\n}\n","import React, { useContext, useEffect } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { SttDialog } from '../../../../sporttia/dialogs/SttDialog';\nimport { useLoader } from '../../../../lib/hooks';\nimport useCustomersService from '../../../../services/CustomersService';\n\n/**\n * Dialog to create, modify and delete subscriptions associated with a client.\n * @param open If the value is true, the dialog will open and close otherwise.\n * @param customerId Customer ID.\n * @param subscription Subscription object.\n * @param onClose Action taken when closing the dialog.\n * @param onDelete Action taken when removing subscription.\n * @param onUpdate Action taken when updating the subscription.\n * @param onCreate Action taken when creating the subscription.\n * @returns {JSX.Element}\n */\nexport default function AdminCustomerSubscriptionDialog({\n open,\n customerId,\n subscription,\n onClose,\n onDelete,\n onUpdate,\n onCreate,\n}) {\n const cxt = useContext(AppContext);\n const form = useForm();\n const customersService = useCustomersService();\n const deleteMutation = useMutation(\n (params) => customersService.removeCustomerSubscriptions(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) =>\n customersService.updateCustomerSubscriptions(\n params?.id,\n params?.params,\n ),\n {\n onSuccess: onUpdate,\n },\n );\n const createMutation = useMutation(\n (params) =>\n customersService.createCustomerSubscriptions(\n params?.id,\n params?.params,\n ),\n {\n onSuccess: (data) => onCreate(data?.customer?.id),\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create subscription.\n */\n const mutateSubscription = (formData) => {\n if (subscription?.id !== 'create') {\n updateMutation.mutate({ id: subscription?.id, params: formData });\n } else {\n createMutation.mutate({ id: customerId, params: formData });\n }\n };\n\n /**\n * When the dialog opens, the data in the form is reset.\n */\n useEffect(() => {\n if (open && subscription?.id !== 'create') {\n form.reset({\n status: subscription?.status,\n dateini: subscription?.dateini,\n dateend: subscription?.dateend,\n plan: subscription?.plan,\n fee: subscription?.fee,\n feeInterval: subscription?.feeInterval,\n });\n } else {\n form.reset({\n status: 'ACTIVE',\n dateini: new Date(),\n dateend: new Date(),\n plan: 'FREE',\n fee: 0,\n feeInterval: '0000-01-00 00:00:00',\n });\n }\n }, [open]);\n\n return (\n \n {loader}\n \n \n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateSubscription(formData),\n ),\n },\n {\n type: 'delete',\n confirmation: true,\n onClick: () =>\n deleteMutation.mutate({ id: subscription?.id }),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport AddIcon from '@material-ui/icons/Add';\nimport Grid from '@material-ui/core/Grid';\nimport moment from 'moment';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { AppContext } from '../AppContext';\nimport AdminCustomerSubscriptionDialog from '../../pages/admin/customers/customers/AdminCustomerSubscriptionDialog';\nimport { formatPriceByLocale } from '../../lib/utils';\n\nconst useStyles = makeStyles({\n genericBorder: {\n borderColor: '#C4C4C4',\n },\n borderRounded: {\n borderRadius: '5px',\n },\n cellTitle: {\n fontWeight: 'bold',\n },\n cellHoverData: {\n '&:hover': {\n backgroundColor: 'rgba(33, 150, 243, 0.5)',\n cursor: 'pointer',\n },\n },\n cellData: {\n fontSize: '13px',\n paddingLeft: '11px',\n },\n activeCell: {\n borderLeft: '3px solid rgba(33, 150, 243, 0.5)',\n backgroundColor: '#eceff1',\n paddingLeft: '8px',\n },\n editButton: {\n color: '#3F51B5',\n fontSize: 15,\n '&:hover': {\n color: 'black',\n cursor: 'pointer',\n },\n },\n});\n\n/**\n * Box with the customer's subscription list.\n * @param customerId Customer ID.\n * @param subscriptions Subscriptions list.\n * @param subscriptionSelected Selected subscription (appears in blue when selected).\n * @param onSelect Action taken when selecting subscription.\n * @param onChange Action taken when creating, deleting or updating a subscription.\n * @returns {JSX.Element}\n */\nexport default function SttSCSubscriptionsList({\n customerId,\n subscriptions,\n subscriptionSelected,\n onSelect,\n onChange,\n}) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const [openSubscriptionDialog, setOpenSubscriptionDialog] = useState(false);\n\n return (\n <>\n \n {/* Title row */}\n \n {cxt.t('admin.customer.subscriptions')}\n \n\n {/* Subscriptions rows */}\n {subscriptions &&\n subscriptions.map((subscription) => (\n onSelect(subscription)}\n className={`${\n subscription &&\n subscriptionSelected &&\n subscription.id === subscriptionSelected.id\n ? classes.activeCell\n : ''\n }\n\t\t\t\t\t\t ${classes.cellData}\n\t\t\t\t\t\t ${\n subscription &&\n subscriptionSelected &&\n subscription.id !== subscriptionSelected.id\n ? classes.cellHoverData\n : ''\n }`}\n p={1}\n >\n \n \n {moment(subscription.created).format(\n 'DD MMM YYYY',\n )}\n \n \n {subscription.plan}\n \n \n {`${moment(subscription.dateini).format(\n 'DD MMM YYYY',\n )} - ${moment(subscription.dateend).format(\n 'DD MMM YYYY',\n )}`}\n \n \n {`${formatPriceByLocale(\n subscription.fee ?? 0,\n subscription?.feeShape?.currency,\n subscription?.feeShape?.locale,\n )} / ${cxt.t(subscription.feeInterval)}`}\n \n {subscription &&\n subscriptionSelected &&\n subscription.id ===\n subscriptionSelected.id && (\n \n \n setOpenSubscriptionDialog(\n true,\n )\n }\n />\n \n )}\n \n \n ))}\n\n {/* Last row use to add new subscription */}\n {\n onSelect({ id: 'create' });\n setOpenSubscriptionDialog(true);\n }}\n >\n \n {cxt.t('CreateSubscription')}\n \n \n \n\n {\n setOpenSubscriptionDialog(false);\n }}\n onDelete={() => {\n setOpenSubscriptionDialog(false);\n onChange();\n }}\n onUpdate={onChange}\n onCreate={onChange}\n />\n \n );\n}\n","import { useContext } from 'react';\nimport { useAPI } from '../lib/hooks';\nimport useRestService from './RestService';\nimport { AppContext } from '../sporttia/AppContext';\n\nconst resource = '/subscriptions';\n\n/**\n * Hook to access all 'subscriptions' resources.\n */\nexport default function useSubscriptionsService() {\n const { migrationApis } = useContext(AppContext);\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /customers/:id/subscriptions request.\n * @param id ID parameter of the object to request.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getSubscriptionLicenses(id, params) {\n return request('GET', `${resource}/${id}/licences`, params);\n }\n\n /**\n * DELETE /subscriptions/licences/:id request.\n * @param id ID parameter of the object to request.\n * @returns {Promise|*} Return request promise.\n */\n function removeSubscriptionLicenses(id) {\n return request('DELETE', `${resource}/licences/${id}`);\n }\n\n /**\n * PUT /subscriptions/licences/:id request.\n * @param id ID parameter of the object to request.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateSubscriptionLicenses(id, params) {\n return request('PUT', `${resource}/licences/${id}`, params);\n }\n\n return {\n ...services,\n getSubscriptionLicenses,\n removeSubscriptionLicenses,\n updateSubscriptionLicenses,\n };\n}\n","import React, { useContext, useEffect } from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport Paper from '@material-ui/core/Paper';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport SttValidatedForm from '../../sporttia/SttValidatedForm';\nimport { SttLabelForm } from '../../sporttia/labels/SttLabelForm';\nimport { AppContext } from '../../sporttia/AppContext';\nimport { SttDialog } from '../../sporttia/dialogs/SttDialog';\nimport useSubscriptionsService from '../../services/SubscriptionsService';\nimport { useLoader, useTranslations } from '../../lib/hooks';\nimport constants from '../../config/constants';\n\n/**\n * Modal to modify and delete licenses.\n * @param licence Licence object.\n * @param onClose Action taken when closing the modal.\n * @param onDelete Action taken when removing a license.\n * @param onUpdate Action taken when updating a license.\n * @returns {JSX.Element}\n */\nexport default function LicenceModal({ licence, onClose, onDelete, onUpdate }) {\n const cxt = useContext(AppContext);\n const form = useForm();\n const subscriptionsService = useSubscriptionsService();\n const { translate } = useTranslations();\n const deleteMutation = useMutation(\n (params) => subscriptionsService.removeSubscriptionLicenses(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) =>\n subscriptionsService.updateSubscriptionLicenses(\n params?.id,\n params?.params,\n ),\n {\n onSuccess: onUpdate,\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n ]);\n\n useEffect(() => {\n form.reset({ ...licence, paymentForm: licence?.paymentForm || '' });\n }, [licence, form]);\n\n // -----| Render |-----\n return (\n \n {loader}\n \n {licence && (\n \n \n\n \n \n )}\n\n \n ({\n caption: item.label,\n value: item.id,\n }),\n ),\n disableClearable: true,\n sm: 3,\n },\n {\n type: 'date',\n name: 'ini',\n caption: cxt.t('PeriodFrom'),\n disabled: true,\n sm: 3,\n },\n {\n type: 'date',\n name: 'end',\n caption: cxt.t('Until'),\n disabled: true,\n sm: 3,\n },\n ]}\n />\n \n \n \n }\n buttons={[\n {\n type: 'delete',\n confirmation: true,\n onClick: () => deleteMutation.mutate({ id: licence?.id }),\n },\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n updateMutation.mutate({\n id: licence?.id,\n params: {\n price: formData.price,\n paymentForm: formData.paymentForm,\n },\n }),\n ),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport moment from 'moment';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport LicenceModal from '../../../../components/licenceModal/LicenceModal';\nimport { SUPERADMIN_CUSTOMER_SUBSCRIPTION_LICENSES } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport useSubscriptionsService from '../../../../services/SubscriptionsService';\nimport { objectWithoutKeys, formatPriceByLocale } from '../../../../lib/utils';\n\nconst useStyles = makeStyles({\n genericBorder: {\n borderColor: '#C4C4C4',\n },\n borderRounded: {\n borderRadius: '5px',\n minHeight: '150px',\n },\n cellTitle: {\n fontWeight: 'bold',\n },\n linkColor: {\n color: 'rgba(33, 150, 243, 0.5)',\n },\n redBold: {\n display: 'inline',\n color: '#b22a00',\n },\n});\n\n/**\n * Box with the list of licenses associated with a subscription.\n * @param subscriptionSelected Selected subscription from which all the list of licenses will be obtained.\n * @returns {JSX.Element}\n */\nexport default function AdminCustomersLicences({ subscriptionSelected }) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const subscriptionsService = useSubscriptionsService();\n const queryClient = useQueryClient();\n const [licenceChosen, setLicenceChosen] = useState(null);\n\n return (\n <>\n \n {/* Title row */}\n \n {`${\n cxt.t('Licences').charAt(0).toUpperCase() +\n cxt.t('Licences').slice(1)\n }`}\n \n\n {/* Table with licences data */}\n \n subscriptionsService.getSubscriptionLicenses(\n params?.id,\n objectWithoutKeys(params, ['id']),\n )\n }\n queryOptions={{\n enabled:\n !!subscriptionSelected?.id &&\n subscriptionSelected?.id !== 'create',\n }}\n queryParams={{\n id: subscriptionSelected?.id,\n }}\n prefetching={false}\n onClickRow={(row) => setLicenceChosen(row)}\n rowsPerPage={5}\n columns={[\n {\n title: cxt.t('Fee'),\n field: 'id',\n align: 'left',\n value: (row) =>\n `${row.id} - ${cxt.t('Fee')} ${moment(\n row.ini,\n ).format('DD-MM-YYYY')} - ${moment(\n row.end,\n ).format('DD-MM-YYYY')}`,\n },\n {\n title: cxt.t('PaymentForm'),\n value: (row) =>\n row.paymentForm\n ? cxt.t(`PF.${row.paymentForm}`)\n : '',\n },\n {\n title: cxt.t('Status'),\n value: (row) =>\n row.paymentForm ? (\n cxt.t('PAID')\n ) : (\n \n {cxt.t('Pending')}\n \n ),\n },\n {\n title: cxt.t('price'),\n field: 'string',\n align: 'right',\n value: (row) =>\n `${formatPriceByLocale(\n row?.price,\n row?.priceShape?.currency,\n row?.priceShape?.locale,\n )}`,\n },\n ]}\n />\n \n setLicenceChosen(null)}\n onUpdate={() =>\n queryClient.invalidateQueries(\n SUPERADMIN_CUSTOMER_SUBSCRIPTION_LICENSES,\n )\n }\n onDelete={() => {\n setLicenceChosen(null);\n queryClient.invalidateQueries(\n SUPERADMIN_CUSTOMER_SUBSCRIPTION_LICENSES,\n );\n }}\n />\n \n );\n}\n","import React, { useState } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport { useQuery, useQueryClient } from 'react-query';\nimport SttSCSubscriptionsList from '../../../../sporttia/lists/SttSCSubscriptionsList';\nimport AdminCustomersLicences from './AdminCustomersLicences';\nimport useCustomersService from '../../../../services/CustomersService';\nimport { SUPERADMIN_CUSTOMER_SUBSCRIPTIONS } from '../../../../lib/queryKeys';\n\n/**\n * Customer subscription view. View to modify and consult the data of a customer's subscriptions.\n * @param customerId Customer ID.\n * @returns {JSX.Element}\n */\nexport default function AdminCustomerSubscriptions({ customerId }) {\n const [subscriptionSelected, setSubscriptionSelected] = useState(null);\n const queryClient = useQueryClient();\n const customersService = useCustomersService();\n const customerSubscriptionsQuery = useQuery(\n [SUPERADMIN_CUSTOMER_SUBSCRIPTIONS, { id: customerId }],\n () => customersService.getCustomerSubscriptions(customerId),\n {\n enabled: !!customerId && customerId !== 'create',\n onSuccess: (data) => setSubscriptionSelected(data?.rows[0]),\n },\n );\n\n return (\n \n {/* Left side subscriptions data */}\n \n \n \n queryClient.invalidateQueries(\n SUPERADMIN_CUSTOMER_SUBSCRIPTIONS,\n )\n }\n />\n \n \n\n {/* Right side charges data */}\n \n \n \n \n \n \n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport Paper from '@material-ui/core/Paper';\nimport { useQuery, useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { SttTabs } from '../../../../sporttia/SttTabs';\nimport AdminCustomerDetails from './AdminCustomerDetails';\nimport AdminCustomerSubscriptions from './AdminCustomerSubscriptions';\nimport { SUPERADMIN_CUSTOMER } from '../../../../lib/queryKeys';\nimport useCustomersService from '../../../../services/CustomersService';\n\n/**\n * Customer view. Contains tabs to access customer data.\n * @param id Customer ID.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function AdminCustomer({ id, onClose }) {\n const cxt = useContext(AppContext);\n const queryClient = useQueryClient();\n const customersService = useCustomersService();\n const [customerId, setCustomerId] = useState(id);\n const customerQuery = useQuery(\n [SUPERADMIN_CUSTOMER, { id: customerId }],\n () => customersService.get(customerId),\n { enabled: !!customerId && customerId !== 'create' },\n );\n\n /**\n * Update customer id if id prop was changed.\n */\n useEffect(() => {\n setCustomerId(id);\n }, [id]);\n\n return (\n \n \n \n \n queryClient.setQueryData(\n [\n SUPERADMIN_CUSTOMER,\n { id: data?.customer?.id },\n ],\n data,\n )\n }\n onDelete={onClose}\n />\n ),\n },\n {\n caption: cxt.t('admin.customer.subscriptions'),\n show: customerId !== 'create',\n component: (\n \n ),\n },\n ]}\n />\n \n \n \n );\n}\n","import { useContext } from 'react';\nimport { useAPI } from '../lib/hooks';\nimport useRestService from './RestService';\nimport { AppContext } from '../sporttia/AppContext';\n\nconst resource = '/timezones';\n\n/**\n * Hook to access all 'subscriptions' resources.\n */\nexport default function useTimezoneService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /timezones.\n * @returns {Promise|*} Return request promise.\n */\n function getTimezones() {\n return request('GET', `${resource}`);\n }\n\n return {\n ...services,\n getTimezones,\n };\n}\n","import React, { useEffect, useContext, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation, useQuery } from 'react-query';\nimport { AppContext } from '../../../../sporttia/all';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { useLoader } from '../../../../lib/hooks';\nimport useScsService from '../../../../services/ScsService';\nimport useCustomersService from '../../../../services/CustomersService';\nimport AdminCustomer from '../customers/AdminCustomer';\nimport { getErrorMessage } from '../../../../lib/utils';\nimport useTimezoneService from '../../../../services/TimezoneService';\n\n/**\n * View to create and modify the details of a sports center.\n * @param sc Sport center object.\n * @param status API Request status.\n * @param onCreate Launched when a new customer is created.\n * @param onDelete Launched when a new customer is removed.\n * @param onUpdate Launched when a new customer is updated.\n * @returns {JSX.Element}\n */\nexport default function AdminSCDetail({\n sc,\n status,\n onCreate,\n onDelete,\n onUpdate,\n}) {\n const cxt = useContext(AppContext);\n const form = useForm();\n const scsService = useScsService();\n const customersService = useCustomersService();\n const [selectedCustomer, setSelectedCustomer] = useState(null);\n const deleteMutation = useMutation(\n (params) => scsService.remove(params?.id),\n {\n onSuccess: onDelete,\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n const updateMutation = useMutation(\n (params) => scsService.update(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n const createMutation = useMutation(\n (params) =>\n customersService.createCustomerScs(params?.id, params?.params),\n {\n onSuccess: (data) => onCreate(data?.sc?.id),\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n const recoverMutation = useMutation(\n (params) => scsService.updateScsRecover(params?.id),\n {\n onSuccess: onUpdate,\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n const { getTimezones } = useTimezoneService();\n const timezonesQuery = useQuery(['key'], () => getTimezones());\n\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n recoverMutation.status,\n timezonesQuery.status,\n ]);\n\n const formatAdminScDetailsMutated = (\n formatedData,\n keys,\n defaultValue = null,\n ) => {\n const formatedDataFiltered = {};\n Object.keys(formatedData).forEach((key) => {\n if (keys.includes(key)) {\n formatedDataFiltered[`${key}`] =\n formatedData[`${key}`] !== ''\n ? formatedData[`${key}`]\n : defaultValue;\n }\n });\n return { ...formatedData, ...formatedDataFiltered };\n };\n /**\n * Method executed when the user clicks on save or create sport center.\n */\n const mutateSportCenter = (formData) => {\n const formatedFormData = formatAdminScDetailsMutated({ ...formData }, [\n 'description',\n 'notes',\n 'salesPolicy',\n 'web',\n 'address',\n 'short',\n 'domain',\n 'emailPrivated',\n 'emailPublic',\n 'phonePrivated',\n 'phonePublic',\n 'idTimezone',\n ]);\n delete formatedFormData.id;\n delete formatedFormData.city;\n delete formatedFormData.customer;\n delete formatedFormData.tpvConf;\n delete formatedFormData.tpvConfEvent;\n formatedFormData.idTPVConf = formData?.tpvConf?.id\n ? formData?.tpvConf?.id\n : '';\n formatedFormData.idTPVConfEvent = formData?.tpvConfEvent?.id\n ? formData?.tpvConfEvent?.id\n : '';\n formatedFormData.idCity = formData?.city?.id\n ? formData?.city?.id\n : null;\n formatedFormData.idCustomer = formData?.customer?.id\n ? formData?.customer?.id\n : null;\n\n if (sc?.id) {\n updateMutation.mutate({ id: sc?.id, params: formatedFormData });\n } else {\n delete formatedFormData.idCustomer;\n formatedFormData.mapX = 36.914968969634145;\n formatedFormData.mapY = -6.077978769314956;\n createMutation.mutate({\n id: formData?.customer?.id,\n params: formatedFormData,\n });\n }\n };\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (status === 'success' && sc) {\n form.reset({\n id: sc?.id,\n name: sc?.name,\n customer: sc?.customer,\n status: sc?.status,\n description: sc?.description,\n notes: sc?.notes,\n salesPolicy: sc?.salesPolicy,\n short: sc?.short,\n web: sc?.web,\n address: sc?.address,\n city: sc?.city,\n domain: sc?.domain,\n tpvConf: sc?.tpvConf,\n tpvConfEvent: sc?.tpvConfEvent,\n emailPrivated: sc?.emailPrivated,\n emailPublic: sc?.emailPublic,\n phonePrivated: sc?.phonePrivated,\n phonePublic: sc?.phonePublic,\n mobileSMS: sc?.mobileSMS,\n maxFacilities: sc?.maxFacilities,\n idTimezone: sc?.timezone?.id,\n });\n } else {\n form.reset({\n id: null,\n name: null,\n customer: null,\n status: 'ACTIVE',\n description: null,\n notes: null,\n salesPolicy: null,\n short: null,\n web: null,\n address: null,\n city: null,\n domain: null,\n tpvConf: null,\n tpvConfEvent: null,\n emailPrivated: null,\n emailPublic: null,\n phonePrivated: null,\n phonePublic: null,\n mobileSMS: null,\n maxFacilities: null,\n idTimezone: null,\n });\n }\n }, [form, sc, status]);\n return (\n <>\n {loader}\n ({\n caption: timezone?.name,\n value: timezone?.id,\n }))\n .flat() ?? [],\n disableClearable: true,\n sm: 2,\n xs: 12,\n },\n {\n type: 'textarea',\n name: 'description',\n caption: cxt.t('Description'),\n rows: 5,\n },\n {\n type: 'textarea',\n name: 'notes',\n caption: cxt.t('Notes'),\n rows: 5,\n sm: 6,\n xs: 12,\n },\n {\n type: 'textarea',\n name: 'salesPolicy',\n caption: cxt.t('SalesPolicy'),\n rows: 5,\n sm: 6,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'short',\n caption: cxt.t('Short'),\n sm: 3,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'web',\n caption: cxt.t('Web'),\n sm: 3,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'address',\n caption: cxt.t('Address'),\n sm: 6,\n xs: 12,\n },\n {\n type: 'city',\n name: 'city',\n caption: cxt.t('City'),\n sm: 3,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'domain',\n caption: cxt.t('Domain'),\n sm: 3,\n xs: 12,\n },\n {\n type: 'tpvConf',\n name: 'tpvConf',\n caption: cxt.t('tpvConf'),\n sm: 3,\n xs: 12,\n },\n {\n type: 'tpvConf',\n name: 'tpvConfEvent',\n caption: cxt.t('tpvConfEvent'),\n sm: 3,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'emailPrivated',\n caption: cxt.t('emailPrivated'),\n sm: 2,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'emailPublic',\n caption: cxt.t('emailPublic'),\n sm: 2,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'phonePrivated',\n caption: cxt.t('phonePrivated'),\n sm: 2,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'phonePublic',\n caption: cxt.t('phonePublic'),\n sm: 2,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'mobileSMS',\n caption: cxt.t('mobileSMS'),\n sm: 2,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'maxFacilities',\n caption: cxt.t('maxFacilities'),\n sm: 2,\n xs: 12,\n },\n {\n type: 'textInput',\n name: 'iban',\n caption: cxt.t('IBAN'),\n sm: 2,\n xs: 12,\n },\n ]}\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateSportCenter(formData),\n ),\n },\n {\n show: !sc?.trash,\n type: 'delete',\n onClick: () => deleteMutation.mutate({ id: sc?.id }),\n },\n {\n show: !!sc?.trash,\n type: 'recover',\n onClick: () => recoverMutation.mutate({ id: sc?.id }),\n },\n {\n show: sc?.id,\n caption: 'Ir al cliente',\n onClick: () => setSelectedCustomer(sc?.customer?.id),\n },\n ]}\n />\n\n {\n setSelectedCustomer(null);\n }}\n />\n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Grid, Box, TextField, Typography } from '@material-ui/core';\nimport { useMutation } from 'react-query';\nimport {\n AppContext,\n SttFormCheck,\n SttButtonAccept,\n} from '../../../../sporttia/all';\nimport useScsService from '../../../../services/ScsService';\nimport { useLoader } from '../../../../lib/hooks';\n/**\n * List with checkboxes to modify module states, services and center options.\n * @param sc Sport center object.\n * @param onUpdate Action carried out when updating the center by clicking on a checkbox.\n * @returns {JSX.Element}\n */\nexport default function AdminSCOptions({ sc, onUpdate }) {\n const cxt = useContext(AppContext);\n const scsService = useScsService();\n const updateMutation = useMutation(\n (params) => scsService.update(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n },\n onError: (error) => {\n cxt.showMessage('E', error.error.msg);\n },\n },\n );\n const [stripeAccountId, setStripeAccountId] = useState(\n sc ? sc.sporttiaStripeConnectedAccount : null,\n );\n const [sporttiaStripeFee, setSporttiaStripeFee] = useState(\n sc ? sc.sporttiaStripeFee : null,\n );\n const [stripeLocationId, setStripeLocationId] = useState(\n sc ? sc.stripeLocationId : null,\n );\n\n const [codeIne, setCodeIne] = useState(sc ? sc.codeIne : null);\n const [, loader] = useLoader([updateMutation.status]);\n const extraModules = [\n 'moduleGolf',\n 'dataphoneConnected',\n 'cashdroConnected',\n ];\n\n // Modules\n const modules = [\n { value: 'booking', label: 'Alquileres' },\n { value: 'activity', label: 'Actividades' },\n { value: 'purse', label: 'Monedero' },\n { value: 'receipt', label: 'Recibos' },\n { value: 'salePoint', label: 'P. venta' },\n { value: 'web', label: 'Web' },\n { value: 'device', label: 'Tornos' },\n { value: 'integration', label: 'Integración' },\n { value: 'moduleGolf', label: 'Golf' },\n { value: 'dataphoneConnected', label: 'Datáfono' },\n { value: 'cashdroConnected', label: 'Cashdro' },\n ];\n\n // Options\n const options = [\n { value: 'visible', label: 'Visible' },\n { value: 'showVAT', label: 'Mostrar IVA' },\n { value: 'generateFees', label: 'Generar cuotas automáticamente' },\n { value: 'SMSActive', label: 'Envio de SMS activo' },\n {\n value: 'isDipuSevilla',\n label: 'Centro de la diputación de sevilla.',\n },\n {\n value: 'TPVFeePayment',\n label: 'Pago de cuotas con tarjeta de crédito',\n },\n ];\n\n // Data fields\n const dataFields = [\n {\n value: 'sporttiaStripeConnectedAccount',\n label: 'Id de la cuenta conectada',\n size: 4,\n update: (value) => setStripeAccountId(value),\n get: () => stripeAccountId,\n confGroup: 'STRIPE',\n },\n {\n value: 'sporttiaStripeFee',\n label: 'Comisión para Sporttia',\n size: 4,\n update: (value) => setSporttiaStripeFee(value),\n get: () => sporttiaStripeFee,\n confGroup: 'STRIPE',\n },\n {\n value: 'sporttiaStripeLocationId',\n label: 'Id del location',\n size: 4,\n update: (value) => setStripeLocationId(value),\n get: () => stripeLocationId,\n confGroup: 'STRIPE',\n },\n {\n value: 'codeIne',\n label: 'Código INE',\n size: 4,\n update: (value) => setCodeIne(value),\n get: () => codeIne,\n confGroup: 'Q60',\n },\n ];\n\n /**\n * Save sports center.\n * @param type ['module'|'option'|'service'] options.\n * @param name Module, option or service name.\n * @param value Value.\n */\n const saveSC = (type, name, value, updatedDataFields = null) => {\n const params = {};\n // Save module\n if (type === 'module') {\n params.modules = sc.modules ? [...sc.modules] : [];\n\n if (!extraModules.includes(name)) {\n if (value) {\n params.modules.push(name);\n } else {\n params.modules.splice(params.modules.indexOf(name), 1);\n }\n } else {\n // Guardo el valor de moduleGolf si existe ya que este no está dentro de sc.modules\n if (name === 'moduleGolf') {\n params.moduleGolf = value;\n }\n if (name === 'dataphoneConnected') {\n params.dataphoneConnected = value;\n }\n if (name === 'cashdroConnected') {\n params.cashdroConnected = value;\n }\n }\n }\n\n // Save option\n if (type === 'option') {\n params[name] = value;\n }\n\n // Save dataFields\n\n if (type === 'dataField') {\n updatedDataFields.forEach((updatedDataField) => {\n params[updatedDataField.name] = updatedDataField.value;\n });\n }\n\n // Save service\n if (type === 'service') {\n params.services = [...sc.services].map((e) => e.id);\n\n if (value) {\n params.services.push(name);\n } else {\n params.services.splice(params.services.indexOf(name), 1);\n }\n }\n\n updateMutation.mutate({ id: sc?.id, params });\n };\n\n function checkModuleState(module) {\n let moduleState = false;\n\n if (extraModules.includes(module.value)) {\n moduleState = sc[module.value];\n } else if (sc.modules) {\n moduleState = sc.modules.includes(module.value);\n }\n\n return moduleState;\n }\n\n return (\n <>\n {loader}\n {sc && (\n \n {/* --- Options --- */}\n \n {options.map((option) => (\n \n \n saveSC('option', name, value)\n }\n />\n \n ))}\n \n \n Configuración de Stripe\n \n \n {dataFields\n .filter(\n (dataField) => dataField.confGroup === 'STRIPE',\n )\n .map((dataField) => (\n \n \n \n {dataField.label}\n \n \n \n {\n dataField.update(\n event.target.value,\n );\n }}\n />\n \n \n ))}\n \n \n Configuración Q60\n \n \n {dataFields\n .filter(\n (dataField) => dataField.confGroup === 'Q60',\n )\n .map((dataField) => (\n \n \n \n {dataField.label}\n \n \n \n {\n dataField.update(\n event.target.value,\n );\n }}\n />\n \n \n ))}\n \n {\n const updatedDataFields = dataFields.map(\n (dataField) => ({\n name: dataField.value,\n value: dataField.get(),\n }),\n );\n saveSC(\n 'dataField',\n null,\n null,\n updatedDataFields,\n );\n }}\n />\n \n \n\n {/* --- Modules --- */}\n \n {modules.map((module) => (\n \n \n saveSC('module', name, value)\n }\n />\n \n ))}\n \n\n {/* --- Services --- */}\n \n {cxt.constants.services.map((service) => (\n \n e.id === service.id,\n ) !== undefined\n }\n onChange={({ name, value }) =>\n saveSC('service', name, value)\n }\n />\n \n ))}\n \n \n )}\n \n );\n}\n","import React from 'react';\nimport { useMutation } from 'react-query';\nimport { SttGoogleMap } from '../../../../sporttia/all';\nimport { useLoader } from '../../../../lib/hooks';\nimport useScsService from '../../../../services/ScsService';\n\n/**\n * View to modify and see on the map where a center is located.\n * @param sc Sport center object.\n * @param onUpdate Action taken when modifying the location of a center.\n * @returns {JSX.Element}\n */\nexport default function AdminSCMap({ sc, onUpdate }) {\n const scsService = useScsService();\n const updateMutation = useMutation(\n (params) => scsService.update(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n },\n },\n );\n const [, loader] = useLoader([updateMutation.status]);\n\n return (\n <>\n {loader}\n \n updateMutation.mutate({\n id: sc?.id,\n params: { mapX: data?.lat, mapY: data?.lng },\n })\n }\n />\n \n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useContext } from 'react';\nimport {\n MutationFunction,\n UseMutationOptions,\n UseQueryOptions,\n useMutation,\n useQuery,\n} from 'react-query';\nimport { useAPI } from '../lib/hooks';\nimport useRestService from './RestService';\nimport { AppContext } from '../sporttia/AppContext';\nimport { GetDeviceSpace200 } from '../types/api/paths/Devices';\nimport DeviceSpace from '../types/models/DeviceSpace';\n\nconst resource = '/devices';\n\n/**\n * Hook to access all 'devices' resources.\n */\nexport default function useDevicesService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * PUT /devices/:id/recover request.\n * @param id Device ID.\n * @returns {Promise|*} Return request promise.\n */\n function updateDevicesRecover(id: any) {\n return request('PUT', `${resource}/${id}/recover`);\n }\n\n /**\n * POST /devices/:deviceId/facilities/:faciltyId request.\n * @param deviceId Device ID.\n * @param facilityId Facility ID.\n * @returns {Promise<*>|*}\n */\n function createDevicesFacilities(deviceId: any, facilityId: any) {\n return request(\n 'POST',\n `${resource}/${deviceId}/facilities/${facilityId}`,\n );\n }\n\n /**\n * DELETE /devices/:deviceId/facilities/:faciltyId request.\n * @param deviceId Device ID.\n * @param facilityId Facility ID.\n * @returns {Promise<*>|*}\n */\n function removeDevicesFacilities(deviceId: any, facilityId: any) {\n return request(\n 'DELETE',\n `${resource}/${deviceId}/facilities/${facilityId}`,\n );\n }\n\n /**\n * POST /events/categories/:categoryId/participants request.\n */\n function useCreateDeviceSpace(\n mutationOptions?: UseMutationOptions<\n { deviceSpace: DeviceSpace },\n unknown,\n {\n sportcenterId: number;\n params: Record;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n { deviceSpace: DeviceSpace },\n {\n sportcenterId: number;\n params: Record;\n }\n > = ({ sportcenterId, params }) =>\n request('POST', `/scs/${sportcenterId}${resource}/spaces`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * POST /events/categories/:categoryId/participants request.\n */\n function useUpdateDeviceSpace(\n mutationOptions?: UseMutationOptions<\n { deviceSpace: DeviceSpace },\n unknown,\n {\n deviceSpaceId: number;\n params: Record;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n { deviceSpace: DeviceSpace },\n {\n deviceSpaceId: number;\n params: Record;\n }\n > = ({ deviceSpaceId, params }) =>\n request('PUT', `${resource}/spaces/${deviceSpaceId}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /devices/spaces/:id request.\n */\n function useDeleteDeviceSpace(\n mutationOptions?: UseMutationOptions<\n unknown,\n unknown,\n {\n deviceSpaceId: number;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n unknown,\n {\n deviceSpaceId: number;\n }\n > = ({ deviceSpaceId }) =>\n request('DELETE', `${resource}/spaces/${deviceSpaceId}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * GET /devices/spaces/:id request.\n */\n function useGetDeviceSpace(\n id: number,\n queryOptions?: UseQueryOptions,\n ) {\n const queryKey = queryOptions?.queryKey ?? [`${resource}/spaces/${id}`];\n\n const queryFn = () =>\n request('GET', `${resource}/${id}/groups`);\n\n const query = useQuery(queryKey, queryFn, queryOptions);\n\n return {\n ...query,\n queryKey,\n };\n }\n\n /**\n * POST /devices/spaces/:spaceDeviceid/devices/:deviceId request.\n */\n function useCreateDeviceSpaceDevice(\n mutationOptions?: UseMutationOptions<\n { deviceSpace: DeviceSpace },\n unknown,\n {\n deviceSpaceId: number;\n deviceId: number;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n { deviceSpace: DeviceSpace },\n {\n deviceSpaceId: number;\n deviceId: number;\n }\n > = ({ deviceSpaceId, deviceId }) =>\n request(\n 'POST',\n `${resource}/spaces/${deviceSpaceId}/devices/${deviceId}`,\n );\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /devices/spaces/:spaceDeviceid/devices/:deviceId request.\n */\n function useDeleteDeviceSpaceDevice(\n mutationOptions?: UseMutationOptions<\n { deviceSpace: DeviceSpace },\n unknown,\n {\n deviceSpaceId: number;\n deviceId: number;\n }\n >,\n ) {\n const mutationFn: MutationFunction<\n { deviceSpace: DeviceSpace },\n {\n deviceSpaceId: number;\n deviceId: number;\n }\n > = ({ deviceSpaceId, deviceId }) =>\n request(\n 'DELETE',\n `${resource}/spaces/${deviceSpaceId}/devices/${deviceId}`,\n );\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n ...services,\n updateDevicesRecover,\n createDevicesFacilities,\n removeDevicesFacilities,\n useCreateDeviceSpace,\n useUpdateDeviceSpace,\n useDeleteDeviceSpace,\n useGetDeviceSpace,\n useCreateDeviceSpaceDevice,\n useDeleteDeviceSpaceDevice,\n };\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport CenterFocusWeakIcon from '@material-ui/icons/CenterFocusWeak';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttButton,\n SttDialog,\n SttFacilityList,\n} from '../../sporttia/all';\nimport { useLoader } from '../../lib/hooks';\nimport useDevicesService from '../../services/DevicesService';\nimport useScsService from '../../services/ScsService';\nimport SttValidatedForm from '../../sporttia/SttValidatedForm';\nimport SimulateAccessDialog from '../../pages/sc/devices/SimulateAccessDialog';\nimport { DIALOG_DEVICE } from '../../lib/queryKeys';\n\n/**\n * Dialog to create, modify, delete and recover devices from a center.\n * @param device Device object.\n * @param scId Sport center id.\n * @param onClose Action taken when closing the dialog.\n * @returns {JSX.Element}\n */\nexport default function DeviceDialog({ id, scId, onClose }) {\n const cxt = useContext(AppContext);\n const queryClient = useQueryClient();\n const devicesService = useDevicesService();\n const scsService = useScsService();\n const [deviceId, setDeviceId] = useState(null);\n const deviceQuery = useQuery(\n [DIALOG_DEVICE, { id: deviceId }],\n () => devicesService.get(deviceId, { trash: true }),\n { enabled: !!deviceId && deviceId !== 'create' },\n );\n const deleteMutation = useMutation(\n (params) => devicesService.remove(params?.id),\n {\n onSuccess: (data) =>\n queryClient.setQueryData(\n [DIALOG_DEVICE, { id: deviceId }],\n data,\n ),\n },\n );\n const updateMutation = useMutation(\n (params) => devicesService.update(params?.id, params?.params),\n {\n onSuccess: (data) =>\n queryClient.setQueryData(\n [DIALOG_DEVICE, { id: deviceId }],\n data,\n ),\n },\n );\n const createMutation = useMutation(\n (params) => scsService.createScsDevice(params?.id, params?.params),\n {\n onSuccess: (data) => setDeviceId(data?.device?.id),\n },\n );\n const recoverMutation = useMutation(\n (params) => devicesService.updateDevicesRecover(params?.id),\n {\n onSuccess: (data) =>\n queryClient.setQueryData(\n [DIALOG_DEVICE, { id: deviceId }],\n data,\n ),\n },\n );\n const createFacilityMutation = useMutation(\n (params) =>\n devicesService.createDevicesFacilities(\n params?.deviceId,\n params?.facilityId,\n ),\n {\n onSuccess: () =>\n queryClient.invalidateQueries([\n DIALOG_DEVICE,\n { id: deviceId },\n ]),\n },\n );\n const deleteFacilityMutation = useMutation(\n (params) =>\n devicesService.removeDevicesFacilities(\n params?.deviceId,\n params?.facilityId,\n ),\n {\n onSuccess: () =>\n queryClient.invalidateQueries([\n DIALOG_DEVICE,\n { id: deviceId },\n ]),\n },\n );\n const form = useForm();\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n recoverMutation.status,\n createFacilityMutation.status,\n deleteFacilityMutation.status,\n ]);\n const [simulateAccessOpen, setSimulateAccessOpen] = useState(false);\n\n /**\n * Method executed when the user clicks on save or create device.\n */\n const mutateDevice = (formData) => {\n if (deviceQuery?.data?.device?.id) {\n updateMutation.mutate({\n id: deviceQuery?.data?.device?.id,\n params: { ...formData, idSC: scId },\n });\n } else {\n createMutation.mutate({ id: scId, params: formData });\n }\n };\n\n /**\n * When device was changed, it is set in the form.\n */\n useEffect(() => {\n if (deviceQuery?.data?.device?.id) {\n form.reset({\n name: deviceQuery?.data?.device?.name,\n type: deviceQuery?.data?.device?.type,\n description: deviceQuery?.data?.device?.description,\n status: deviceQuery?.data?.device?.status,\n signature: deviceQuery?.data?.device?.signature,\n preLight: deviceQuery?.data?.device?.preLight,\n postLight: deviceQuery?.data?.device?.postLight,\n preCortesy: deviceQuery?.data?.device?.preCortesy,\n margin: deviceQuery?.data?.device?.margin,\n soundTime: deviceQuery?.data?.device?.soundTime,\n pendingPaymentsMargin:\n deviceQuery?.data?.device?.pendingPaymentsMargin,\n antiPassback: deviceQuery?.data?.device?.antiPassback || false,\n checkDirectionOut:\n deviceQuery?.data?.device?.checkDirectionOut || false,\n remoteOpening:\n deviceQuery?.data?.device?.remoteOpening || false,\n offlineEnabled:\n deviceQuery?.data?.device?.offlineEnabled || false,\n });\n } else {\n form.reset({\n name: null,\n type: 'CARD',\n description: null,\n status: null,\n signature: null,\n preLight: null,\n postLight: null,\n preCortesy: null,\n margin: null,\n soundTime: null,\n pendingPaymentsMargin: null,\n antiPassback: false,\n checkDirectionOut: false,\n remoteOpening: false,\n offlineEnabled: false,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceQuery?.data?.device]);\n\n /**\n * Update sport center id if id prop was changed.\n */\n useEffect(() => {\n setDeviceId(id);\n }, [id]);\n\n return (\n \n {loader}\n \n \n \n \n \n {deviceQuery?.data?.device?.id &&\n !deviceQuery?.data?.device?.trash && (\n {\n createFacilityMutation.mutate({\n deviceId:\n deviceQuery?.data?.device\n ?.id,\n facilityId: facility?.id,\n });\n }}\n onDelete={(facility) => {\n deleteFacilityMutation.mutate({\n deviceId:\n deviceQuery?.data?.device\n ?.id,\n facilityId: facility?.id,\n });\n }}\n scId={scId}\n />\n )}\n \n \n\n setSimulateAccessOpen(false)}\n />\n \n }\n buttons={[\n {\n show:\n deviceQuery.status !== 'loading' &&\n !deviceQuery?.data?.device?.trash,\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateDevice(formData),\n ),\n },\n {\n show:\n deviceQuery.status !== 'loading' &&\n deviceQuery?.data?.device?.id &&\n !deviceQuery?.data?.device?.trash,\n type: 'delete',\n confirmation: true,\n onClick: () =>\n deleteMutation.mutate({\n id: deviceQuery?.data?.device?.id,\n }),\n },\n {\n show:\n deviceQuery.status !== 'loading' &&\n deviceQuery?.data?.device?.trash,\n type: 'recover',\n onClick: () =>\n recoverMutation.mutate({\n id: deviceQuery?.data?.device?.id,\n }),\n },\n {\n show:\n deviceQuery.status !== 'loading' &&\n deviceQuery?.data?.device?.id &&\n !deviceQuery?.data?.device?.trash,\n type: 'component',\n component: (\n }\n onClick={() => setSimulateAccessOpen(true)}\n />\n ),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport moment from 'moment';\nimport { useQueryClient } from 'react-query';\nimport {\n AppContext,\n SttButtonFab,\n SttChipFacilityRow,\n SttChipUnlocker,\n} from '../../../../sporttia/all';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport { SUPERADMIN_SC_DEVICES } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport useScsService from '../../../../services/ScsService';\nimport DeviceDialog from '../../../../components/dialogs/DeviceDialog';\nimport { useQueryFilters } from '../../../../lib/hooks';\n\n/**\n * Sport center devices. View used with superadmin profile.\n * @param sc Sport Center object.\n * @returns {JSX.Element}\n */\nexport default function AdminSCDevices({ sc }) {\n const cxt = useContext(AppContext);\n\n const scsService = useScsService();\n const queryClient = useQueryClient();\n const [filters, setFilters] = useQueryFilters({}, SUPERADMIN_SC_DEVICES);\n const [deviceIdSelected, setDeviceIdSelected] = useState(null);\n\n return (\n <>\n \n\n scsService.getScsDevices(sc?.id, params)}\n queryParams={filters}\n prefetching={false}\n onClickRow={(row) => setDeviceIdSelected(row?.id)}\n columns={[\n {\n title: cxt.t('Code'),\n type: 'id',\n field: 'id',\n },\n {\n title: cxt.t('Name'),\n align: 'left',\n field: 'name',\n },\n {\n title: cxt.t('Type'),\n value: (row) => (\n \n ),\n },\n {\n title: cxt.t('Lights'),\n type: 'active',\n field: 'lightOn',\n },\n {\n title: 'APB',\n type: 'active',\n field: 'antiPassback',\n },\n {\n title: cxt.t('Open'),\n type: 'active',\n field: 'foorOpen',\n },\n {\n title: 'RO',\n type: 'active',\n field: 'remoteOpening',\n },\n {\n title: cxt.t('Counter'),\n type: 'text',\n field: 'counter',\n },\n {\n title: cxt.t('Date'),\n value: (row) =>\n row.localDate\n ? moment(row.localDate).format('D MMM YYYY')\n : '',\n },\n {\n title: cxt.t('Facilities'),\n value: (row) => (\n \n ),\n },\n ]}\n />\n\n {\n setDeviceIdSelected(null);\n queryClient.invalidateQueries(SUPERADMIN_SC_DEVICES);\n }}\n />\n\n setDeviceIdSelected('create')} />\n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport {\n Avatar,\n Box,\n ListItem,\n ListItemAvatar,\n ListItemText,\n} from '@material-ui/core';\nimport { Sportcenter } from '../../types/api/models';\nimport { AppContext } from '../../sporttia/AppContext';\nimport useTpvsService from '../../services/TpvsService';\nimport SttValidatedForm from '../../sporttia/SttValidatedForm';\nimport { useGetStripeReaders, useGetStripeTerminal } from './hooks';\nimport { getErrorMessage } from '../../lib/utils';\nimport { useLoader } from '../../lib/hooks';\n\ntype StripeReader = {\n id: string;\n label: string;\n status: string | null;\n};\n\ntype StripeConfigurationForm = {\n name: string;\n registrationCode: string;\n};\n\ntype POSStripeConfigurationProps = {\n sc: Sportcenter;\n};\n\n/**\n * Configure Stripe Terminal readers\n */\nexport default function POSStripeConfiguration({\n sc,\n}: POSStripeConfigurationProps) {\n const cxt = useContext(AppContext)!;\n const form = useForm();\n const [stripeReaders, setStripeReaders] = useState([]);\n\n const tpvService = useTpvsService();\n\n const createTpvReaderMutation = tpvService.useCreateTpvReader({\n onSuccess: (result) => {\n setStripeReaders((prev) => [...prev, result]);\n\n form.reset();\n\n cxt.showMessage(\n 'S',\n cxt.t('stripe.terminal.createTerminalSuccess'),\n );\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const getStripeTerminal = useGetStripeTerminal(sc.id, {\n onConnection: () => {\n cxt.showMessage(\n 'S',\n cxt.t('stripe.terminal.connectionTerminalSuccess'),\n );\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n onDisconnect: () => {\n cxt.showMessage('W', cxt.t('stripe.terminal.terminalDisconnect'));\n },\n });\n\n const getStripeReaders = useGetStripeReaders(\n getStripeTerminal.terminal,\n sc.sporttiaStripeLocationId,\n {\n onSuccess: (readers) => {\n setStripeReaders((prev) => [...prev, ...readers]);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n\n const [, loader] = useLoader([\n getStripeTerminal.status,\n getStripeReaders.status,\n ]);\n\n return (\n <>\n {loader}\n {\n createTpvReaderMutation.mutate({\n ...formData,\n scId: sc.id,\n });\n }),\n },\n ]}\n />\n \n {stripeReaders.map((reader) => (\n
\n \n \n \n \n\n \n \n
\n ))}\n
\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport Box from '@material-ui/core/Box';\nimport { useQuery, useQueryClient } from 'react-query';\nimport AdminSCDetail from './AdminSCDetail';\nimport { AppContext, SttFullDialog, SttTabs } from '../../../../sporttia/all';\nimport { SUPERADMIN_SC } from '../../../../lib/queryKeys';\nimport useScsService from '../../../../services/ScsService';\nimport AdminSCOptions from './AdminSCOptions';\nimport AdminSCMap from './AdminSCMap';\nimport AdminSCDevices from './AdminSCDevices';\nimport POSStripeConfiguration from '../../../../components/stripe/POSStripeConfiguration';\n\n/**\n * Sport center view. Contains tabs to access sport center data.\n * @param id Sport center ID.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function AdminSC({ id, onClose }) {\n const cxt = useContext(AppContext);\n const scsService = useScsService();\n const queryClient = useQueryClient();\n const [scId, setScId] = useState(id);\n const scQuery = useQuery(\n [SUPERADMIN_SC, { id: scId }],\n () => scsService.get(scId, { trash: true }),\n { enabled: !!scId && scId !== 'create' },\n );\n\n /**\n * Update sport center id if id prop was changed.\n */\n useEffect(() => {\n setScId(id);\n }, [id]);\n\n return (\n {\n if (scQuery?.isLoading) {\n return '';\n }\n\n if (scQuery?.data?.sc?.id) {\n return scQuery?.data?.sc?.name;\n }\n\n return cxt.t('admin.sportcenter.create');\n })()}\n >\n \n \n \n queryClient.setQueryData(\n [\n SUPERADMIN_SC,\n { id: data?.sc?.id },\n ],\n data,\n )\n }\n onDelete={onClose}\n />\n ),\n },\n {\n caption: cxt.t('Options'),\n show: !!scQuery?.data?.sc?.id,\n component: (\n \n queryClient.setQueryData(\n [\n SUPERADMIN_SC,\n { id: data?.sc?.id },\n ],\n data,\n )\n }\n />\n ),\n },\n {\n caption: cxt.t('Map'),\n show: !!scQuery?.data?.sc?.id,\n component: (\n \n queryClient.setQueryData(\n [\n SUPERADMIN_SC,\n { id: data?.sc?.id },\n ],\n data,\n )\n }\n />\n ),\n },\n {\n caption: cxt.t('Devices'),\n show: !!scQuery?.data?.sc?.id,\n component: (\n \n ),\n },\n {\n caption: cxt.t('PF.DATAFONO'),\n show: !!scQuery?.data?.sc\n ?.sporttiaStripeLocationId,\n component: (\n \n ),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useContext, useEffect } from 'react';\nimport { Box, Paper } from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport { AppContext, SttFullDialog } from '../../../../sporttia/all';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\n\n/**\n * Dialog to get api log data.\n * @param apiLog API Log object.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function AdminApiLogDialog({ apiLog = null, onClose }) {\n const cxt = useContext(AppContext);\n const form = useForm();\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (apiLog) {\n form.reset({\n id: apiLog?.id,\n created: apiLog?.created,\n method: apiLog?.api?.method,\n ip: apiLog?.ip,\n endpoint: apiLog?.endpoint,\n executor: apiLog?.executor?.name,\n query: apiLog?.query,\n body: apiLog?.body,\n error: apiLog?.error,\n agent: apiLog?.agent,\n curl: apiLog?.curl,\n });\n } else {\n form.reset({\n id: '',\n created: '',\n method: '',\n ip: '',\n endpoint: '',\n executor: '',\n query: '',\n body: '',\n error: '',\n agent: '',\n curl: '',\n });\n }\n }, [apiLog]);\n\n return (\n \n \n \n \n \n \n \n \n\n {apiLog?.logs && (\n \n \n
{apiLog.logs}
\n
\n
\n )}\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { Box, Paper } from '@material-ui/core';\nimport { AppContext, SttFullDialog } from '../../../../sporttia/all';\nimport useTestsService from '../../../../services/TestsService';\nimport { useLoader } from '../../../../lib/hooks';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { SUPERADMIN_TEST } from '../../../../lib/queryKeys';\n\n/**\n * Test view. Contains form to update, delete or create tests.\n * @param id Test ID.\n * @param onClose Function executed when closing the full dialog.\n * @param onCreate Launched when a new test is created.\n * @param onUpdate Launched when a new test is updated.\n * @param onDelete Launched when a new test is removed.\n * @returns {JSX.Element}\n */\nexport default function AdminTest({\n id,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const testsService = useTestsService();\n const queryClient = useQueryClient();\n const form = useForm();\n const [testId, setTestId] = useState(id);\n const testQuery = useQuery(\n [SUPERADMIN_TEST, { id: testId }],\n () => testsService.get(testId),\n { enabled: !!testId && testId !== 'create' },\n );\n const deleteMutation = useMutation(\n (params) => testsService.remove(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => testsService.update(params?.id, params?.params),\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n [SUPERADMIN_TEST, { id: data?.test?.id }],\n data,\n );\n onUpdate();\n },\n },\n );\n const createMutation = useMutation(\n (params) => testsService.create(params?.params),\n {\n onSuccess: (data) => onCreate(data?.test?.id),\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create test.\n * @param formData Form data.\n */\n const mutateTest = (formData) => {\n if (testQuery?.data?.test?.id) {\n updateMutation.mutate({\n id: testQuery?.data?.test?.id,\n params: formData,\n });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the \"test\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (testQuery?.status === 'success' && testQuery?.data?.test) {\n form.reset({\n type: testQuery?.data?.test?.type,\n hart: testQuery?.data?.test?.hart,\n function: testQuery?.data?.test?.function,\n status: testQuery?.data?.test?.status,\n idAPI: '',\n description: testQuery?.data?.test?.description,\n });\n } else {\n form.reset({\n type: 'UNIT',\n hart: '',\n function: '',\n status: 'PASSED',\n idAPI: '',\n description: '',\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [testQuery?.data?.test]);\n\n /**\n * Update test id if id prop was changed and reset form values.\n */\n useEffect(() => {\n setTestId(id);\n form.reset();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n return (\n \n \n \n {loader}\n \n mutateTest(formData),\n ),\n },\n {\n type: 'delete',\n onClick: () =>\n deleteMutation.mutate({\n id: testQuery?.data?.test?.id,\n }),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Container } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport { AppContext } from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport SttCachedTable from '../../../sporttia/SttCachedTable';\nimport { USER_AGENDAS } from '../../../lib/queryKeys';\nimport useUsersService from '../../../services/UsersService';\n\n/**\n * View where the user can consult all their bookings, events, activities...\n * @returns {JSX.Element}\n */\nexport default function Agenda({}) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const userService = useUsersService();\n\n /**\n * Render schedule row.\n * @param agenda Schedule item.\n * @returns {string}\n */\n const renderAgendaRow = (agenda) => {\n let result = '';\n\n switch (agenda.type) {\n case 'RENTING':\n result = cxt.t('Booking');\n break;\n case 'CLASS':\n result = cxt.t('Class');\n break;\n case 'TOURNAMENT':\n result = cxt.t('EK.TOURNAMENT');\n }\n\n return result;\n };\n\n /**\n * Open schedule item.\n * @param agenda Schedule item.\n */\n const openAgenda = (agenda) => {\n switch (agenda.type) {\n case 'RENTING':\n history.push(getPath('booked', { id: agenda.booking.id }));\n break;\n }\n };\n\n return (\n \n \n \n userService.getUsersAgendas(cxt.user.id, params)\n }\n onClickRow={openAgenda}\n columns={[\n {\n title: cxt.t('Type'),\n value: (row) => renderAgendaRow(row),\n },\n {\n title: cxt.t('Date'),\n type: 'dmy',\n value: (row) => row.ini,\n },\n {\n title: cxt.t('Time'),\n type: 'hm',\n value: (row) => row.ini,\n },\n {\n title: cxt.t('Facility'),\n value: (row) => {\n if (row.activity) {\n return (\n (row.activity.sc\n ? `${\n row.booking.sc.short ||\n row.activity.sc.name\n } - `\n : '') + row.activity.name\n );\n }\n if (row.booking) {\n return (\n (row.booking.facility &&\n row.booking.facility.sc\n ? `${\n row.booking.facility.sc\n .short ||\n row.booking.facility.sc.name\n } - `\n : '') +\n (row.booking.facility &&\n row.booking.facility.name)\n );\n }\n if (row.event) {\n return row.event.name;\n }\n },\n },\n ]}\n />\n \n \n );\n}\n","import GroupMember from '../../../types/models/GroupMember';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport function getFormattedEnrollmentFromAbono(row: GroupMember) {\n if (row.enrollment) {\n return formatPriceByLocale(\n row.enrollment.price,\n row.enrollment.priceShape?.currency ?? undefined,\n row.enrollment.priceShape?.locale,\n );\n }\n\n return null;\n}\n\nexport function getFormattedFeeFromAbono(row: GroupMember) {\n if (row.group?.fee) {\n return formatPriceByLocale(\n row.group.fee,\n row.group.feeShape?.currency ?? undefined,\n row.group.feeShape?.locale,\n );\n }\n\n return null;\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Container, Box, Typography } from '@material-ui/core';\nimport {\n AppContext,\n SttLabelPeriod,\n SttLabelDate,\n SttPage,\n} from '../../../sporttia/all';\nimport {\n getFormattedEnrollmentFromAbono,\n getFormattedFeeFromAbono,\n} from './UserAbonoHelper';\n\nexport default function UserAbono(props) {\n const cxt = useContext(AppContext);\n const [groupMember, setGroupMember] = useState();\n\n /**\n * Load abono\n */\n const loadGroupMember = () => {\n cxt.api('GET', `/groups/members/${props.match.params.id}`, {\n success: (r) => {\n setGroupMember(r.groupMember);\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n loadGroupMember();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // -----| Render |-----\n return (\n \n \n {groupMember && (\n \n \n {cxt.t('BuyedDay')}:{' '}\n \n \n \n \n {cxt.t('Abono')}: {groupMember.group?.name}\n \n \n {groupMember.enrollment?.price && (\n \n {cxt.t('Enrollment')}:{' '}\n \n {getFormattedEnrollmentFromAbono(\n groupMember,\n )}\n \n \n )}\n\n {groupMember.group?.fee && (\n \n {cxt.t('Fee')}:{' '}\n {getFormattedFeeFromAbono(groupMember)}\n \n )}\n\n \n {cxt.t('Period')}:{' '}\n \n \n \n )}\n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nimport { getFormattedEnrollmentFromAbono } from './UserAbonoHelper';\nimport { AppContext, SttTable } from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\n/**\n * Table with \"Abonados\" or \"Normal\" groups.\n * @param type [ABONADOS or NORMAL] type.\n * @returns {JSX.Element}\n */\n\nexport default function UserAbonosTable({ type }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [groups, setGroups] = useState();\n\n /**\n * Load groups data.\n * @param p {{page: number, rows: number}}\n */\n const loadGroups = (p = { page: 1, rows: 20 }) => {\n cxt.api('GET', '/my/groups/members', {\n params: {\n ...p,\n type,\n onlyActive: true,\n onTime: true,\n },\n success: (r) => {\n setGroups(r);\n },\n });\n };\n\n return (\n \n history.push(getPath('userAbono', { id: groupMember.id }))\n }\n columns={[\n {\n title: cxt.t('Name'),\n field: 'groupName',\n align: 'left',\n value: (row) => row.group.name,\n },\n {\n title: cxt.t('Period'),\n type: 'period',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Inscription'),\n type: 'price',\n value: (row) => getFormattedEnrollmentFromAbono(row),\n },\n ]}\n onFetch={loadGroups}\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Container } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport {\n AppContext,\n SttList,\n SttButton,\n SttTable,\n} from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport { SttTabs } from '../../../sporttia/SttTabs';\nimport UserAbonosTable from './UserAbonosTable';\n\nexport default function UserAbonos() {\n const cxt = useContext(AppContext);\n\n const availableTabs = [\n {\n caption: cxt.t('Abonos'),\n component: ,\n },\n {\n caption: cxt.t('GT.NORMAL'),\n component: ,\n },\n ];\n\n // -----| Render |-----\n return (\n \n \n \n \n \n );\n}\n","import React, { PropsWithChildren, useContext, useEffect } from 'react';\nimport { Paper, Box, Typography } from '@material-ui/core';\nimport { AppContext } from './all';\n\ntype SttPageProps = PropsWithChildren<{\n title?: string;\n innerTitle?: string;\n}>;\n\nexport function SttPage({ title, innerTitle, children }: SttPageProps) {\n const cxt = useContext(AppContext)!;\n\n /**\n * Init\n */\n useEffect(() => {\n if (title)\n cxt.setHeader({\n title,\n });\n }, []);\n\n // Render\n return (\n \n \n {innerTitle && (\n \n {innerTitle}\n \n )}\n\n {children}\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Box, Container } from '@material-ui/core';\nimport moment from 'moment';\nimport { useHistory } from 'react-router-dom';\nimport { SttPage } from '../../../sporttia/SttPage';\nimport {\n AppContext,\n SttButtonAccept,\n SttLabelTitle,\n} from '../../../sporttia/all';\nimport { useCrud } from '../../../lib/hooks';\nimport { getPath } from '../../Pages';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function UserBonos({}) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [ready, setReady] = useState(false);\n const [boletos, setBoletos, , Get] = useCrud([]);\n const [count, setCount] = useState(0);\n\n useEffect(() => {\n loadBoletos();\n }, []);\n\n function loadBoletos() {\n Get(`/my/bonos`, { isActive: true }).then((response) => {\n if (response.rows) {\n setCount(response.count);\n setBoletos(sortBySc(response.rows));\n setReady(true);\n }\n });\n }\n\n function sortBySc(rows) {\n if (rows.length == 0) {\n return rows;\n }\n\n const result = {};\n rows.forEach((row) => {\n if (!result[row.bono.sc.short]) {\n result[row.bono.sc.short] = [];\n }\n\n result[row.bono.sc.short].push(row);\n });\n\n return result;\n }\n\n if (!ready) {\n return null;\n }\n\n return (\n \n \n \n {count > 0 ? (\n
\n {Object.keys(boletos).map((key) => (\n \n {key}\n \n {boletos[key].map((boleto, i) => (\n \n
\n \n \n {boleto.bono.name}\n \n \n \n \n {cxt.t('BuyedDay')}:{' '}\n \n {moment(\n boleto.created,\n ).format(\n 'D MMMM YYYY',\n )}\n \n \n \n {boleto.expiration && (\n \n \n {cxt.t(\n 'Expiration',\n )}\n :{' '}\n \n {moment(\n boleto.expiration,\n ).format(\n 'D MMMM YYYY',\n )}\n \n \n \n )}\n \n \n {cxt.t('Consumed')}:{' '}\n \n {\n boleto.consumed\n }{' '}\n /{' '}\n {boleto.amount}\n \n \n \n
\n \n history.push(\n getPath('buyBono', {\n idSC: boleto\n .bono.sc.id,\n id: boleto.bono\n .id,\n }),\n )\n }\n />\n
\n ))}\n \n
\n ))}\n
\n ) : (\n {cxt.t('app.account.bonos.noBonos')}\n )}\n
\n
\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Box, Container, InputAdornment, Typography } from '@material-ui/core';\nimport { Euro } from '@material-ui/icons';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { useCrud } from '../../../lib/hooks';\nimport { SttPage } from '../../../sporttia/SttPage';\nimport { SttButton, SttFormSelect, SttFormText } from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport { formatPriceByLocale, parsePrice } from '../../../lib/utils';\n\n// RechargePurse screen for users: pick a recharge option or input amount manually\nexport default function RechargePurse({ match }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [ready, setReady] = useState(false);\n const [mship, setMship, , Get, Post] = useCrud(null, false);\n const [sc, setSc] = useState();\n const [options, setOptions] = useState(false);\n const [selected, setSelected] = useState(null);\n const [price, setPrice] = useState('');\n\n // Load all the stuff\n function loadProfile() {\n const { id } = match.params;\n\n // Launch 3 different requests, then setReady when all of them are fulfilled\n Promise.all([\n // My membership in the SC, if any\n Get(`/scs/${id}/me`)\n .then((response) => {\n if (response.mship) {\n setMship(response.mship);\n }\n })\n .catch(() => {}),\n\n // The SC info itself. TODO: recycle this from the previous screen. We are requesting it twice ffs.\n Get(`/scs/${id}`)\n .then((response) => {\n if (response.sc) {\n setSc(response.sc);\n }\n })\n .catch(() => {}),\n\n // Payment options from the sports center\n Get(`/scs/${id}/chargings/options`)\n .then((response) => {\n if (response.count > 0) {\n setOptions(response.rows);\n }\n })\n .catch(() => {}),\n ])\n .then(() => {\n // All promises resolved\n setReady(true);\n })\n .catch(() => {});\n }\n\n // Using the option's id, grab the price and setSelected(id) for the state\n function setOption(id) {\n const option = options.find((opt) => opt.id === id);\n setPrice(option.amount);\n setSelected(id);\n }\n\n // Component mounted\n useEffect(() => {\n if (match) {\n loadProfile();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Options obtained (only once). Set the first option as selected.\n useEffect(() => {\n if (options) {\n setOption(options[0].id);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options]);\n\n // Execute the actual payment request\n function purchase() {\n const { id } = match.params;\n const parsedPrice = parsePrice(price);\n\n if (Number.isNaN(Number(parsedPrice))) {\n cxt.showMessage('E', cxt.t('InvalidAmount'));\n return;\n }\n\n Post(`/scs/${id}/chargings`, { price: parsedPrice })\n .then((response) => {\n if (response.tpv) {\n // Redirect to the tpv container\n history.push(\n getPath('tpvSwitcher', { id: response.tpv.id }),\n );\n }\n })\n .catch((error) => {\n cxt.showMessage('E', error.error.msg);\n });\n }\n\n if (!ready) {\n return null;\n }\n\n return (\n \n \n \n ${sc.name}`),\n }}\n />\n \n \n {mship.id ? (\n {`${cxt.t(\n 'page.scProfile.purseCharge.purseAmount1',\n )}: ${formatPriceByLocale(\n mship?.amount,\n mship?.amountShape?.currency,\n mship?.amountShape?.locale,\n )}`}\n ) : (\n \n {cxt.t(\n 'page.scProfile.purseCharge.noAmountInPurse',\n )}\n \n )}\n \n \n {options /* If the SC has defined options (5, 20, 40, etc) we show them here, otherwise a text form */ ? (\n setOption(value)}\n options={options.map((opt) => ({\n caption: opt.name,\n value: opt.id,\n }))}\n />\n ) : (\n setPrice(value)}\n InputProps={{\n endAdornment: (\n \n {mship?.amountShape?.currency\n ? mship?.amountShape?.currency\n : '€ '}\n \n ),\n }}\n />\n )}\n \n {/* SC info and sales policy */}\n \n \n {cxt.t('sellingPolicy.title')}\n \n {`${sc.name}${\n sc.address && `, ${sc.address}`\n }${sc.city && `, ${sc.city.name}`}${\n sc.city &&\n sc.city.province &&\n `, ${sc.city.province.name}`\n }`}\n \n {sc.salesPolicy || cxt.t('sellingPolicy.desc')}\n \n \n \n {/* Confirm button. Disabled if price is invalid */}\n \n )\n }\n onClick={purchase}\n />\n \n \n \n );\n}\n","import useRestService from './RestService';\n\nconst resource = '/translations';\n\n/**\n * Hook to access all 'translations' resources.\n */\nexport default function useTranslationsService() {\n const services = useRestService(resource);\n\n return {\n ...services,\n };\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport Box from '@material-ui/core/Box';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { useLoader } from '../../../../lib/hooks';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { SUPERADMIN_TRANSLATION } from '../../../../lib/queryKeys';\nimport useTranslationsService from '../../../../services/TranslationsService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\n\n/**\n * Translation view, contains translation form.\n * @param id Translation ID.\n * @param onClose Function executed when closing the full dialog.\n * @param onCreate Action taken when creating the translation.\n * @param onUpdate Action taken when updating the translation.\n * @param onDelete Method executed when removing translation.\n * @returns {JSX.Element}\n */\nexport default function AdminTranslation({\n id = null,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const queryClient = useQueryClient();\n const translationsService = useTranslationsService();\n const form = useForm();\n const [translationId, setTranslationId] = useState(id);\n const translationQuery = useQuery(\n [SUPERADMIN_TRANSLATION, { id: translationId }],\n () => translationsService.get(translationId),\n { enabled: !!translationId && translationId !== 'create' },\n );\n const deleteMutation = useMutation(\n (params) => translationsService.remove(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => translationsService.update(params?.id, params?.params),\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n [SUPERADMIN_TRANSLATION, { id: data?.translation?.id }],\n data,\n );\n onUpdate(data);\n },\n },\n );\n const createMutation = useMutation(\n (params) => translationsService.create(params?.params),\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n [SUPERADMIN_TRANSLATION, { id: data?.translation?.id }],\n data,\n );\n onCreate(data);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create translation.\n * @param formData Form data.\n */\n const mutateTranslation = (formData) => {\n if (translationId !== 'create') {\n updateMutation.mutate({ id: translationId, params: formData });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the \"translation\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (translationQuery?.status === 'success') {\n form.reset({\n code: translationQuery?.data?.translation?.code,\n mobile: translationQuery?.data?.translation?.mobile,\n web: translationQuery?.data?.translation?.web,\n zero: translationQuery?.data?.translation?.zero,\n es: translationQuery?.data?.translation?.es,\n ca: translationQuery?.data?.translation?.ca,\n cl: translationQuery?.data?.translation?.cl,\n en: translationQuery?.data?.translation?.en,\n fr: translationQuery?.data?.translation?.fr,\n de: translationQuery?.data?.translation?.de,\n });\n } else {\n form.reset({\n code: '',\n mobile: false,\n web: false,\n zero: false,\n es: '',\n ca: '',\n cl: '',\n en: '',\n fr: '',\n de: '',\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [translationQuery?.data?.translation]);\n\n /**\n * Update translation id if id prop was changed and reset form values.\n */\n useEffect(() => {\n setTranslationId(id);\n form.reset();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n return (\n \n {loader}\n \n \n \n mutateTranslation(formData),\n ),\n },\n {\n show:\n translationQuery?.data?.translation?.id &&\n !translationQuery?.data?.translation?.trash,\n type: 'delete',\n onClick: () =>\n deleteMutation.mutate({\n id: translationId,\n }),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Paper, IconButton, makeStyles } from '@material-ui/core';\nimport { FileCopy, CheckCircleOutline, HighlightOff } from '@material-ui/icons';\nimport Link from '@material-ui/core/Link';\nimport { useMutation, useQueryClient } from 'react-query';\nimport Box from '@material-ui/core/Box';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport {\n useLoader,\n usePageHeader,\n useQueryFilters,\n useEnvironment,\n} from '../../../../lib/hooks';\nimport { copyToClipboard } from '../../../../lib/utils';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport { SUPERADMIN_TRANSLATIONS } from '../../../../lib/queryKeys';\nimport useTranslationsService from '../../../../services/TranslationsService';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport { SttButtonFab } from '../../../../sporttia/buttons/SttButtonFab';\nimport AdminTranslation from './AdminTranslation';\nimport { SttButton } from '../../../../sporttia/all';\n\n/**\n * View where the sporttia superadmin can see the list of translations.\n * @returns {JSX.Element}\n */\nexport default function AdminTranslations({}) {\n const cxt = useContext(AppContext);\n const environment = useEnvironment();\n usePageHeader('Translations');\n const classes = useStyles();\n const queryClient = useQueryClient();\n const translationsService = useTranslationsService();\n const [filters, setFilters] = useQueryFilters({}, SUPERADMIN_TRANSLATIONS);\n const [translationId, setTranslationId] = useState(null);\n const updateMutation = useMutation(\n (params) => translationsService.update(params?.id, params?.params),\n {\n onSuccess: () => {\n queryClient.invalidateQueries(SUPERADMIN_TRANSLATIONS);\n },\n },\n );\n const [, loader] = useLoader([updateMutation.status]);\n\n /**\n * In this case, before making the request (due to Material UI problems), if the value of \"translationsType\"\n * takes the value of ALL, the \"web\", \"app\" and zero parameters are eliminated. If it takes the value WEB,\n * the \"app\" and zero parameters are eliminated and web is sent to true and so on with all of them.\n * @param updatedFilters Object with the parameters returned by the SttTopFilteringControls component.\n */\n const doFiltering = (updatedFilters) => {\n const formatedFilters = { ...updatedFilters };\n\n if (updatedFilters?.translationType === 'ALL') {\n delete formatedFilters.app;\n delete formatedFilters.web;\n delete formatedFilters.zero;\n } else if (updatedFilters?.translationType === 'WEB') {\n delete formatedFilters.app;\n delete formatedFilters.zero;\n formatedFilters.web = true;\n } else if (updatedFilters?.translationType === 'APP') {\n delete formatedFilters.web;\n delete formatedFilters.zero;\n formatedFilters.app = true;\n } else {\n delete formatedFilters.app;\n delete formatedFilters.web;\n formatedFilters.zero = true;\n }\n\n setFilters(formatedFilters);\n };\n\n const changeTranslation = (translation, type) => {\n updateMutation.mutate({\n id: translation?.id,\n params: {\n [type]: !translation[type],\n },\n });\n };\n\n return (\n <>\n {loader}\n \n \n\n {/* Botón pasar traducciones */}\n {environment !== 'PRO' && (\n \n {\n cxt.api('POST', '/deployTranslations', {\n success: (response) => {\n if (response && response.count) {\n const { count } = response;\n cxt.showMessage(\n 'S',\n `¡${count} traducciones pasadas de PRO a PRE!`,\n );\n }\n },\n error: (e) => {\n cxt.showMessage('E', e.msg);\n },\n });\n }}\n />\n \n )}\n\n translationsService.getList(params)}\n queryParams={filters}\n columns={[\n {\n title: cxt.t('Actions'),\n value: (row) => (\n \n copyToClipboard(row.code, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n )\n }\n >\n \n \n ),\n },\n {\n title: cxt.t('Code'),\n align: 'left',\n field: 'code',\n type: 'link',\n value: (row) => (\n setTranslationId(row.id)}>\n {row.code}\n \n ),\n },\n {\n title: 'ES',\n align: 'left',\n field: 'es',\n },\n {\n title: 'ES-CA',\n align: 'left',\n field: 'ca',\n },\n {\n title: 'EN',\n align: 'left',\n field: 'en',\n },\n {\n title: 'FR',\n align: 'left',\n field: 'fr',\n },\n {\n title: 'DE',\n align: 'left',\n field: 'de',\n },\n {\n title: 'APP',\n value: (row) =>\n row.mobile ? (\n \n changeTranslation(row, 'mobile')\n }\n />\n ) : (\n \n changeTranslation(row, 'mobile')\n }\n />\n ),\n },\n {\n title: 'Web APP',\n value: (row) =>\n row.web ? (\n \n changeTranslation(row, 'web')\n }\n />\n ) : (\n \n changeTranslation(row, 'web')\n }\n />\n ),\n },\n {\n title: 'Zero',\n value: (row) =>\n row.zero ? (\n \n changeTranslation(row, 'zero')\n }\n />\n ) : (\n \n changeTranslation(row, 'zero')\n }\n />\n ),\n },\n ]}\n />\n\n setTranslationId(null)}\n onCreate={() =>\n queryClient.invalidateQueries(SUPERADMIN_TRANSLATIONS)\n }\n onUpdate={() =>\n queryClient.invalidateQueries(SUPERADMIN_TRANSLATIONS)\n }\n onDelete={() => {\n setTranslationId(null);\n queryClient.invalidateQueries(SUPERADMIN_TRANSLATIONS);\n }}\n />\n\n setTranslationId('create')} />\n \n \n );\n}\n\nconst useStyles = makeStyles({\n notificationButton: {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n notificationButtonActive: {\n color: '#18b432',\n '&:hover': {\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n notificationButtonDisabled: {\n color: '#df3525',\n '&:hover': {\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n","import React, { useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Box, Grid, Link } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport Container from '@material-ui/core/Container';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Typography from '@material-ui/core/Typography';\nimport { AppContext } from '../../AppContext';\nimport { getPath } from '../../../pages/Pages';\nimport { SttChipUnlocker } from '../../chips/SttChipUnlocker';\nimport SttError from '../../../components/error/SttError';\n\n/**\n * Card representing a user's unlocker.\n * @param unlocker Unlocker object.\n * @returns {JSX.Element}\n */\n\nconst useStyles = makeStyles({\n code_box: {\n height: '150px',\n padding: '2px',\n },\n information_box: {\n height: '150px',\n paddingTop: '6px',\n paddingBottom: '6px',\n paddingLeft: '20px',\n paddingRight: '20px',\n },\n});\n\nexport function SttKeyCard({ unlocker }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const classes = useStyles();\n\n return (\n \n {unlocker && (\n \n \n \n \n {unlocker.code && unlocker.type === 'QR' && (\n \n \n \n )}\n {unlocker.code && unlocker.type !== 'QR' && (\n \n {unlocker.code}\n \n )}\n {!unlocker.code && (\n \n )}\n \n \n \n \n history.push(\n getPath('scProfile', {\n id: unlocker.sc.id,\n }),\n )\n }\n >\n \n {unlocker.sc.name}\n \n \n {unlocker.type === 'QR' ? (\n \n ) : (\n \n )}\n {unlocker.type === 'PIN' && (\n \n \n * {cxt.t('RememberToPressHash')}\n \n \n )}\n \n \n \n \n \n )}\n \n );\n}\n","import React from 'react';\nimport { CircularProgress, Container } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport { useQuery } from 'react-query';\nimport { SttKeyCard } from '../../../sporttia/public/cards/SttKeyCard';\nimport { USER_UNLOCKERS } from '../../../lib/queryKeys';\nimport useMyService from '../../../services/MyService';\nimport SttError from '../../../components/error/SttError';\n\n/**\n * View where the user can consult all their unlockers.\n * @returns {JSX.Element}\n */\nexport default function UserKeys() {\n const myService = useMyService();\n\n const { data, status } = useQuery(\n [USER_UNLOCKERS],\n () => myService.getMyUnlockers(),\n {\n onSuccess: (response) => {\n const filteredResponse = { ...response };\n\n filteredResponse.count = 0;\n filteredResponse.rows = [];\n\n response.rows.forEach((unlocker) => {\n if (unlocker.type === 'PIN' || unlocker.type === 'QR') {\n filteredResponse.count += 1;\n filteredResponse.rows.push(unlocker);\n }\n });\n\n return filteredResponse;\n },\n },\n );\n\n if (status === 'idle') {\n return null;\n }\n\n if (status === 'loading') {\n return (\n \n \n \n \n \n );\n }\n\n if (status === 'error') {\n return (\n \n \n \n );\n }\n\n return (\n <>\n {data.rows.map((unlocker) => (\n \n \n \n ))}\n \n );\n}\n","import { useContext } from 'react';\nimport useRestService from './RestService';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\n\nconst resource = '/my';\n\n/**\n * Hook to access all 'my' resources.\n */\nexport default function useMyService() {\n const { migrationApis } = useContext(AppContext);\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * GET /my/unlockers request.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function getMyUnlockers(params) {\n return request('GET', `${resource}/unlockers`, params);\n }\n\n return {\n ...services,\n getMyUnlockers,\n };\n}\n","import React, { useContext, useEffect } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport useReportsService from '../../../../services/ReportsService';\nimport translations from '../../../../translations';\nimport { useTranslations } from '../../../../lib/hooks';\nimport constants from '../../../../config/constants';\n\n/**\n * View to create and modify the details of a report.\n * @param report Report object.\n * @param status API Request status.\n * @param onCreate Launched when a new customer is created.\n * @param onDelete Launched when a new customer is removed.\n * @param onUpdate Launched when a new customer is updated.\n * @returns {JSX.Element}\n */\nexport default function AdminReportDetail({\n report,\n status,\n onCreate,\n onDelete,\n onUpdate,\n onRefresh,\n}) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const reportsService = useReportsService();\n const form = useForm();\n const deleteMutation = useMutation(\n (params) => reportsService.remove(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => reportsService.update(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n const createMutation = useMutation(\n (params) => reportsService.create(params?.params),\n {\n onSuccess: (data) => onCreate(data?.report?.id),\n },\n );\n\n /**\n * Method executed when the user clicks on save or create report.\n */\n const mutateReport = (formData) => {\n if (report?.id) {\n updateMutation.mutate({ id: report?.id, params: formData });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (report) {\n form.reset({\n created: report?.created,\n name: report?.name,\n description: report?.description,\n sql: report?.sql,\n group: report?.group,\n scope: report?.scope,\n status:\n report?.status === constants.report.status.ACTIVE\n ? constants.report.status.ACTIVE\n : constants.report.status.INACTIVE,\n });\n } else {\n form.reset({\n created: null,\n name: '',\n description: '',\n sql: '',\n group: '',\n scope: '',\n status: constants.report.status.INACTIVE,\n });\n }\n }, [report, form]);\n\n return (\n \n mutateReport(formData),\n ),\n },\n {\n type: 'recover',\n show: report?.id,\n caption: translate(translations.generic.refresh),\n onClick: () => onRefresh(),\n },\n {\n show: !report?.trash,\n type: 'delete',\n onClick: () => deleteMutation.mutate({ id: report?.id }),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttDialog } from '../../../../sporttia/dialogs/SttDialog';\nimport useReportsService from '../../../../services/ReportsService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { useLoader } from '../../../../lib/hooks';\n\n/**\n * Dialog to modify, create and delete report columns.\n * @param reportId Report ID.\n * @param columnValue Column object.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Action taken when creating the tpv configuration.\n * @param onUpdate Action taken when updating the tpv configuration.\n * @param onDelete Method executed when removing tpv configuration.\n * @returns {JSX.Element}\n */\nexport default function AdminReportColumnDialog({\n reportId,\n columnValue,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const reportsService = useReportsService();\n const form = useForm();\n const [column, setColumn] = useState(columnValue);\n const deleteMutation = useMutation(\n (params) => reportsService.removeReportColumn(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) =>\n reportsService.updateReportColumn(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n setColumn(data?.reportColumn);\n },\n },\n );\n const createMutation = useMutation(\n (params) =>\n reportsService.createReportColumn(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onCreate(data);\n setColumn(data?.reportColumn);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create column.\n * @param formData Form data.\n */\n const mutateColumn = (formData) => {\n if (column?.id) {\n updateMutation.mutate({ id: column?.id, params: formData });\n } else {\n createMutation.mutate({ id: reportId, params: formData });\n }\n };\n\n /**\n * When the \"column\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (column) {\n form.reset({\n name: column?.name,\n field: column?.field,\n width: column?.width,\n align: column?.align,\n format: column?.format,\n position: column?.position,\n summatory: column?.summatory,\n });\n } else {\n form.reset({\n name: '',\n field: '',\n width: '',\n align: '',\n format: '',\n position: '',\n summatory: '',\n });\n }\n }, [column, form]);\n\n /**\n * When the value of the column passed to the component is modified, the selected internal\n * column saved in the \"column\" state will be modified.\n */\n useEffect(() => {\n setColumn(columnValue);\n }, [columnValue]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateColumn(formData),\n ),\n },\n {\n type: 'delete',\n onClick: () => deleteMutation.mutate({ id: column?.id }),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport { SUPERADMIN_REPORT_COLUMNS } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport useReportsService from '../../../../services/ReportsService';\nimport AdminReportColumnDialog from './AdminReportColumnDialog';\n\n/**\n * View to create and modify the details of a report columns.\n * @param report Report object.\n * @returns {JSX.Element}\n */\nexport default function AdminReportColumns({ report }) {\n const cxt = useContext(AppContext);\n const reportsService = useReportsService();\n const queryClient = useQueryClient();\n const [column, setColumn] = useState(null);\n\n return (\n <>\n setColumn({}),\n }}\n />\n\n {/* Aqui no podemos paginar directamente las columnas ya que no tenemos un end point que lo haga, tenemos que usar\n GET /reports/:id para de dentro coger columns y ya listarlo, de ahí que se pidan 200 filas. */}\n \n reportsService\n .get(params?.id, { trash: true })\n .then((data) => ({\n count: data.report.columns\n ? data.report.columns.length\n : 0,\n rows: data.report.columns\n ? data.report.columns\n : [],\n }))\n }\n queryOptions={{\n enabled: !!report?.id && report?.id !== 'create',\n }}\n queryParams={{\n id: report?.id,\n }}\n onClickRow={(row) => setColumn(row)}\n rowsPerPage={200}\n columns={[\n {\n title: cxt.t('position'),\n align: 'left',\n type: 'text',\n field: 'position',\n },\n {\n title: cxt.t('name'),\n align: 'left',\n type: 'text',\n field: 'name',\n },\n {\n title: cxt.t('field'),\n align: 'left',\n type: 'text',\n field: 'field',\n },\n {\n title: cxt.t('width'),\n align: 'left',\n type: 'text',\n field: 'width',\n },\n {\n title: cxt.t('align'),\n align: 'left',\n type: 'text',\n field: 'align',\n },\n {\n title: cxt.t('format'),\n align: 'left',\n type: 'text',\n field: 'format',\n },\n {\n title: cxt.t('summatory'),\n align: 'left',\n type: 'binaryStatus',\n field: 'summatory',\n },\n ]}\n />\n\n {/* En el futuro si tenemos un GET /reports/columns/:id podríamos quitar columnValue y pasar el id de la columna. */}\n setColumn(null)}\n onCreate={() =>\n queryClient.invalidateQueries(SUPERADMIN_REPORT_COLUMNS)\n }\n onUpdate={() =>\n queryClient.invalidateQueries(SUPERADMIN_REPORT_COLUMNS)\n }\n onDelete={() => {\n setColumn(null);\n queryClient.invalidateQueries(SUPERADMIN_REPORT_COLUMNS);\n }}\n />\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport useReportsService from '../../../../services/ReportsService';\nimport { SttDialog } from '../../../../sporttia/dialogs/SttDialog';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { useLoader } from '../../../../lib/hooks';\n\n/**\n * Dialog to modify, create and delete report filters.\n * @param reportId Report ID.\n * @param filterValue Filter object.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Action taken when creating the tpv configuration.\n * @param onUpdate Action taken when updating the tpv configuration.\n * @param onDelete Method executed when removing tpv configuration.\n * @returns {JSX.Element}\n */\nexport default function AdminReportFilterDialog({\n reportId,\n filterValue,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const reportsService = useReportsService();\n const form = useForm();\n const [filter, setFilter] = useState(filterValue);\n const deleteMutation = useMutation(\n (params) => reportsService.removeReportFilter(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) =>\n reportsService.updateReportFilter(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n setFilter(data?.reportFilter);\n },\n },\n );\n const createMutation = useMutation(\n (params) =>\n reportsService.createReportFilter(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onCreate(data);\n setFilter(data?.reportFilter);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create filter.\n * @param formData Form data.\n */\n const mutateFilter = (formData) => {\n if (filter?.id) {\n updateMutation.mutate({ id: filter?.id, params: formData });\n } else {\n createMutation.mutate({ id: reportId, params: formData });\n }\n };\n\n /**\n * When the \"column\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (filter) {\n form.reset({\n name: filter?.name,\n field: filter?.field,\n sqlPiece: filter?.sqlPiece,\n value: filter?.value,\n type: filter?.type,\n });\n } else {\n form.reset({\n name: '',\n field: '',\n sqlPiece: '',\n value: '',\n type: '',\n });\n }\n }, [filter, form]);\n\n /**\n * When the value of the filter passed to the component is modified, the selected internal\n * filter saved in the \"filter\" state will be modified.\n */\n useEffect(() => {\n setFilter(filterValue);\n }, [filterValue]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateFilter(formData),\n ),\n },\n {\n type: 'delete',\n onClick: () => deleteMutation.mutate({ id: filter?.id }),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport { SUPERADMIN_REPORT_FILTERS } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport useReportsService from '../../../../services/ReportsService';\nimport AdminReportFilterDialog from './AdminReportFilterDialog';\n\n/**\n * View to create and modify the details of a report filters.\n * @param report Report object.\n * @returns {JSX.Element}\n */\nexport default function AdminReportFilters({ report }) {\n const cxt = useContext(AppContext);\n const reportsService = useReportsService();\n const [filter, setFilter] = useState(null);\n const queryClient = useQueryClient();\n\n return (\n <>\n setFilter({}),\n }}\n />\n\n {/* Aqui no podemos paginar directamente los filtros ya que no tenemos un end point que lo haga, tenemos que usar\n GET /reports/:id para de dentro coger filters y ya listarlo, de ahí que se pidan 200 filas. */}\n \n reportsService\n .get(params?.id, { trash: true })\n .then((data) => ({\n count: data.report.filters\n ? data.report.filters.length\n : 0,\n rows: data.report.filters\n ? data.report.filters\n : [],\n }))\n }\n queryOptions={{\n enabled: !!report?.id && report?.id !== 'create',\n }}\n queryParams={{\n id: report?.id,\n }}\n onClickRow={(row) => setFilter(row)}\n rowsPerPage={200}\n columns={[\n {\n title: cxt.t('name'),\n align: 'left',\n type: 'text',\n field: 'name',\n },\n {\n title: cxt.t('field'),\n align: 'left',\n type: 'text',\n field: 'field',\n },\n {\n title: 'SQL',\n align: 'left',\n type: 'text',\n field: 'sqlPiece',\n },\n {\n title: cxt.t('value'),\n align: 'left',\n type: 'text',\n field: 'value',\n },\n {\n title: cxt.t('type'),\n align: 'left',\n type: 'text',\n field: 'type',\n },\n ]}\n />\n\n {/* En el futuro si tenemos un GET /reports/columns/:id podríamos quitar columnValue y pasar el id de la columna. */}\n setFilter(null)}\n onCreate={() =>\n queryClient.invalidateQueries(SUPERADMIN_REPORT_FILTERS)\n }\n onUpdate={() =>\n queryClient.invalidateQueries(SUPERADMIN_REPORT_FILTERS)\n }\n onDelete={() => {\n setFilter(null);\n queryClient.invalidateQueries(SUPERADMIN_REPORT_FILTERS);\n }}\n />\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useQuery, useQueryClient } from 'react-query';\nimport { Box, Paper } from '@material-ui/core';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttTabs } from '../../../../sporttia/SttTabs';\nimport AdminReportDetail from './AdminReportDetail';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { SUPERADMIN_REPORT } from '../../../../lib/queryKeys';\nimport useReportsService from '../../../../services/ReportsService';\nimport AdminReportColumns from './AdminReportColumns';\nimport AdminReportFilters from './AdminReportFilters';\nimport { useLoader, useTranslations } from '../../../../lib/hooks';\nimport translations from '../../../../translations';\n\n/**\n * Report view. Contains tabs to access sport center data.\n * @param id Report id.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function AdminReport({ id = null, onClose }) {\n const cxt = useContext(AppContext);\n const reportsService = useReportsService();\n const queryClient = useQueryClient();\n const [reportId, setReportId] = useState(id);\n const history = useHistory();\n const { id: reportIdFromPath } = useParams();\n\n const reportQuery = useQuery(\n [SUPERADMIN_REPORT, { id: reportId }],\n () => reportsService.get(reportId, { trash: true }),\n {\n enabled: !!reportId && reportId !== 'create',\n },\n );\n\n const { translate } = useTranslations();\n /**\n * Update report id if id prop was changed.\n */\n useEffect(() => {\n setReportId(id || reportIdFromPath);\n }, [id, reportIdFromPath]);\n\n const [, loader] = useLoader([reportQuery?.status]);\n\n return (\n <>\n {loader}\n \n onClose ? onClose() : history.push('/admin/reports')\n }\n title={\n reportQuery?.data?.report?.id\n ? reportQuery?.data?.report?.name\n : cxt.t('CreateReport')\n }\n >\n \n \n {\n queryClient.setQueryData(\n [\n SUPERADMIN_REPORT,\n {\n id: data?.report\n ?.id,\n },\n ],\n data,\n );\n cxt.showMessage(\n 'S',\n translate(\n translations.report\n .updated,\n ),\n );\n }}\n onDelete={onClose}\n onRefresh={() => {\n queryClient.invalidateQueries(\n SUPERADMIN_REPORT,\n );\n cxt.showMessage(\n 'I',\n `${translations.generic.loading}...`,\n 1000,\n );\n }}\n />\n ),\n },\n {\n caption: cxt.t('Columns'),\n show: !!reportQuery?.data?.report?.id,\n component: (\n \n ),\n },\n {\n caption: cxt.t('Filters'),\n show: !!reportQuery?.data?.report?.id,\n component: (\n \n ),\n },\n ]}\n />\n \n \n \n \n );\n}\n","import React, { useState, useEffect, useContext, useRef } from 'react';\nimport { Box, LinearProgress } from '@material-ui/core';\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\nimport { AppContext, SttDialog, SttFormSelect } from '../all';\nimport { useInteractionsFiles } from '../../lib/hooks';\nimport constants from '../../config/constants';\n\n/**\n * Upload file\n * ===========\n *\n * Props\n *\n * \t* boolean open\n * \t* string[] types: list of file types to select. If there's only only don't show the selector\n * \t* object uploadParams\n * \t* function onClose\n * \t* function onUploaded({file, response})\n */\nexport function SttUploadDialog({\n open = false,\n types = [],\n uploadParams = {},\n onClose,\n onUploaded,\n legacyMode = false,\n}) {\n const cxt = useContext(AppContext);\n const { uploadFile, uploadFileLegacyV6 } = useInteractionsFiles();\n const inputFile = useRef(null);\n const [selectedType, setSelectedType] = useState();\n const [uploading, setUploading] = useState(false);\n\n /**\n * Init\n */\n useEffect(() => {\n if (types.length) setSelectedType(types[0]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Open select file\n */\n const openSelectFile = () => {\n inputFile.current.click();\n };\n\n /**\n * On file selected\n *\n * \t* files: all files selected\n */\n const onFileSelected = (files) => {\n if (files) {\n const file = files[0];\n\n // TODO: eliminar esta funcionalidad cuando 100% no vaya a volverse a subir ningún fichero a v6 (básicamente, devolución de remesas)\n if (legacyMode) {\n file.arrayBuffer()\n .then((buffer) => {\n setUploading(true);\n uploadFileLegacyV6(\n {\n name: file.name,\n format: file.type,\n type: selectedType,\n ...uploadParams,\n },\n buffer,\n ).then((response) => {\n setUploading(false);\n cxt.showMessage('S', cxt.t('Uploaded'));\n if (onUploaded) {\n onUploaded(response);\n }\n });\n })\n .catch();\n } else {\n uploadFile(\n {\n name: file.name,\n format: file.type,\n type: selectedType,\n ...uploadParams,\n },\n file,\n )\n .then((response) => {\n setUploading(false);\n cxt.showMessage('S', cxt.t('Uploaded'));\n if (onUploaded) {\n onUploaded(response);\n }\n })\n .catch();\n }\n }\n };\n\n // -----| Render |-----\n return (\n <>\n onFileSelected(event.target.files)}\n />\n\n \n {types.length === 1 ? (\n \n {cxt.t('Type')}:{' '}\n {cxt.constants.fileTypes &&\n cxt.constants.fileTypes.find(\n (ft) => ft.id === types[0],\n ).label}\n \n ) : (\n setSelectedType(value)}\n options={\n cxt.constants.fileTypes &&\n cxt.constants.fileTypes\n .filter((ft) => types.includes(ft.id))\n .concat(\n constants.fileTypes.filter((ft) =>\n types.includes(ft.id),\n ),\n )\n }\n />\n )}\n\n {uploading && (\n \n \n \n )}\n \n }\n buttons={[\n {\n caption: cxt.t('SelectFile'),\n icon: ,\n onClick: openSelectFile,\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n \n );\n}\n","/* global google */\n/* eslint-disable filenames/match-regex */\nimport { Cluster } from './Cluster'\n\nimport { ClusterIconStyle, ClusterIconInfo } from './types'\n\nexport class ClusterIcon {\n cluster: Cluster\n className: string\n styles: ClusterIconStyle[]\n center: google.maps.LatLng | undefined\n div: HTMLDivElement | null\n sums: ClusterIconInfo | null\n visible: boolean\n url: string\n height: number\n width: number\n anchorText: number[]\n anchorIcon: number[]\n textColor: string\n textSize: number\n textDecoration: string\n fontWeight: string\n fontStyle: string\n fontFamily: string\n backgroundPosition: string\n\n boundsChangedListener: google.maps.MapsEventListener | null\n\n constructor(cluster: Cluster, styles: ClusterIconStyle[]) {\n cluster.getClusterer().extend(ClusterIcon, google.maps.OverlayView)\n this.cluster = cluster\n this.className = this.cluster.getClusterer().getClusterClass()\n this.styles = styles\n this.center = undefined\n this.div = null\n this.sums = null\n this.visible = false\n this.boundsChangedListener = null\n this.url = ''\n this.height = 0\n this.width = 0\n this.anchorText = [0, 0]\n this.anchorIcon = [0, 0]\n this.textColor = 'black'\n this.textSize = 11\n this.textDecoration = 'none'\n this.fontWeight = 'bold'\n this.fontStyle = 'normal'\n this.fontFamily = 'Arial,sans-serif'\n this.backgroundPosition = '0 0'\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.setMap(cluster.getMap()) // Note: this causes onAdd to be called\n }\n\n onAdd() {\n let cMouseDownInCluster: boolean\n let cDraggingMapByCluster: boolean\n\n this.div = document.createElement('div')\n this.div.className = this.className\n if (this.visible) {\n this.show()\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getPanes().overlayMouseTarget.appendChild(this.div)\n\n // Fix for Issue 157\n this.boundsChangedListener = google.maps.event.addListener(\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap(),\n 'boundschanged',\n function boundsChanged() {\n cDraggingMapByCluster = cMouseDownInCluster\n }\n )\n\n google.maps.event.addDomListener(this.div, 'mousedown', function onMouseDown() {\n cMouseDownInCluster = true\n cDraggingMapByCluster = false\n })\n\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n google.maps.event.addDomListener(\n this.div,\n 'click',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n (event: Event) => {\n cMouseDownInCluster = false\n\n if (!cDraggingMapByCluster) {\n const markerClusterer = this.cluster.getClusterer()\n\n /**\n * This event is fired when a cluster marker is clicked.\n * @name MarkerClusterer#click\n * @param {Cluster} c The cluster that was clicked.\n * @event\n */\n google.maps.event.trigger(markerClusterer, 'click', this.cluster)\n google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster) // deprecated name\n\n // The default click handler follows. Disable it by setting\n // the zoomOnClick property to false.\n if (markerClusterer.getZoomOnClick()) {\n // Zoom into the cluster.\n const maxZoom = markerClusterer.getMaxZoom()\n\n const bounds = this.cluster.getBounds()\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n markerClusterer.getMap().fitBounds(bounds)\n\n // There is a fix for Issue 170 here:\n setTimeout(function timeout() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n markerClusterer.getMap().fitBounds(bounds)\n\n // Don't zoom beyond the max zoom level\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n if (maxZoom !== null && markerClusterer.getMap().getZoom() > maxZoom) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n markerClusterer.getMap().setZoom(maxZoom + 1)\n }\n }, 100)\n }\n\n // Prevent event propagation to the map:\n event.cancelBubble = true\n\n if (event.stopPropagation) {\n event.stopPropagation()\n }\n }\n }\n )\n\n google.maps.event.addDomListener(\n this.div,\n 'mouseover',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n /**\n * This event is fired when the mouse moves over a cluster marker.\n * @name MarkerClusterer#mouseover\n * @param {Cluster} c The cluster that the mouse moved over.\n * @event\n */\n google.maps.event.trigger(this.cluster.getClusterer(), 'mouseover', this.cluster)\n }\n )\n\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n google.maps.event.addDomListener(\n this.div,\n 'mouseout',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n /**\n * This event is fired when the mouse moves out of a cluster marker.\n * @name MarkerClusterer#mouseout\n * @param {Cluster} c The cluster that the mouse moved out of.\n * @event\n */\n google.maps.event.trigger(this.cluster.getClusterer(), 'mouseout', this.cluster)\n }\n )\n }\n\n onRemove() {\n if (this.div && this.div.parentNode) {\n this.hide()\n\n if (this.boundsChangedListener !== null) {\n google.maps.event.removeListener(this.boundsChangedListener)\n }\n\n google.maps.event.clearInstanceListeners(this.div)\n\n this.div.parentNode.removeChild(this.div)\n\n this.div = null\n }\n }\n\n draw() {\n if (this.visible && this.div !== null && this.center) {\n const { x, y } = this.getPosFromLatLng(this.center)\n\n this.div.style.top = y + 'px'\n this.div.style.left = x + 'px'\n }\n }\n\n hide() {\n if (this.div) {\n this.div.style.display = 'none'\n }\n\n this.visible = false\n }\n\n show() {\n if (this.div && this.center) {\n let img = '',\n divTitle = ''\n\n // NOTE: values must be specified in px units\n const bp = this.backgroundPosition.split(' ')\n\n const spriteH = parseInt(bp[0].replace(/^\\s+|\\s+$/g, ''), 10)\n\n const spriteV = parseInt(bp[1].replace(/^\\s+|\\s+$/g, ''), 10)\n\n const pos = this.getPosFromLatLng(this.center)\n\n if (this.sums === null || typeof this.sums.title === 'undefined' || this.sums.title === '') {\n divTitle = this.cluster.getClusterer().getTitle()\n } else {\n divTitle = this.sums.title\n }\n\n this.div.style.cssText = this.createCss(pos)\n\n img =\n \"\" +\n        divTitle +\n        \"\"\n\n this.div.innerHTML =\n img +\n \"
\" +\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.sums.text +\n '
'\n\n this.div.title = divTitle\n\n this.div.style.display = ''\n }\n\n this.visible = true\n }\n\n useStyle(sums: ClusterIconInfo) {\n this.sums = sums\n\n const style = this.styles[Math.min(this.styles.length - 1, Math.max(0, sums.index - 1))]\n\n this.url = style.url\n this.height = style.height\n this.width = style.width\n this.anchorText = style.anchorText || [0, 0]\n this.anchorIcon = style.anchorIcon || [this.height / 2, this.width / 2]\n\n this.textColor = style.textColor || 'black'\n\n this.textSize = style.textSize || 11\n\n this.textDecoration = style.textDecoration || 'none'\n\n this.fontWeight = style.fontWeight || 'bold'\n\n this.fontStyle = style.fontStyle || 'normal'\n\n this.fontFamily = style.fontFamily || 'Arial,sans-serif'\n\n this.backgroundPosition = style.backgroundPosition || '0 0'\n }\n\n setCenter(center: google.maps.LatLng) {\n this.center = center\n }\n\n createCss(pos: google.maps.Point): string {\n const style = []\n\n style.push('cursor: pointer;')\n\n style.push('position: absolute; top: ' + pos.y + 'px; left: ' + pos.x + 'px;')\n\n style.push('width: ' + this.width + 'px; height: ' + this.height + 'px;')\n\n return style.join('')\n }\n\n getPosFromLatLng(latlng: google.maps.LatLng): google.maps.Point {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const pos = this.getProjection().fromLatLngToDivPixel(latlng)\n\n pos.x -= this.anchorIcon[1]\n\n pos.y -= this.anchorIcon[0]\n\n // pos.x = pos.x\n\n // pos.y = pos.y\n\n return pos\n }\n}\n","/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at.\n *\n * Http://www.apache.org/licenses/LICENSE-2.0.\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @ignore\n */\ndeclare global {\n interface Window {\n __googleMapsCallback: (e: Event) => void;\n }\n}\n\ntype Libraries = (\n | \"drawing\"\n | \"geometry\"\n | \"localContext\"\n | \"places\"\n | \"visualization\"\n)[];\n\n/**\n * The Google Maps JavaScript API\n * [documentation](https://developers.google.com/maps/documentation/javascript/tutorial)\n * is the authoritative source for [[LoaderOptions]].\n */\nexport interface LoaderOptions {\n /**\n * See https://developers.google.com/maps/documentation/javascript/get-api-key.\n */\n apiKey: string;\n /**\n * To track usage across different applications using the same client ID,\n * you may provide an optional channel parameter with your requests. By\n * specifying different channel values for different aspects of your\n * application, you can determine precisely how your application is used.\n *\n * For example, your externally-facing website may access the API using a\n * channel set to customer while your internal marketing department may use\n * a channel set to mkting. Your reports will break down usage by those\n * channel values.\n *\n * Channel reporting is available for applications using the Maps JavaScript\n * API, the image APIs or any of the Google Maps Platform web services.\n *\n * The channel parameter must use the following format:\n *\n * - Must be an ASCII alphanumeric string.\n * - Period (.), underscore (_) and hyphen (-) characters are allowed.\n * - The channel parameter is case-insensitive; upper-case, mixed-case, and\n * lower-cased channel parameters will be merged into their lower-case\n * equivalent. For example, usage on the `CUSTOMER` channel will be combined\n * with the usage on the `customer` channel.\n * - The channel value must be a static value assigned per application\n * instance, and must not be generated dynamically. You may not use\n * channel values to track individual users, for example.\n */\n channel?: string;\n /**\n * In your application you can specify release channels or version numbers:\n *\n * The weekly version is specified with `version=weekly`. This version is\n * updated once per week, and is the most current.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly'});\n * ```\n *\n * The quarterly version is specified with `version=quarterly`. This version\n * is updated once per quarter, and is the most predictable.\n *\n * ```\n * const loader = Loader({apiKey, version: 'quarterly'});\n * ```\n *\n * The version number is specified with `version=n.nn`. You can choose\n * `version=3.40`, `version=3.39`, or `version=3.38`. Version numbers are\n * updated once per quarter.\n *\n * ```\n * const loader = Loader({apiKey, version: '3.40'});\n * ```\n *\n * If you do not explicitly specify a version, you will receive the\n * weekly version by default.\n */\n version?: string;\n /**\n * The id of the script tag. Before adding a new script, the Loader will check for an existing one.\n */\n id?: string;\n /**\n * When loading the Maps JavaScript API via the URL you may optionally load\n * additional libraries through use of the libraries URL parameter. Libraries\n * are modules of code that provide additional functionality to the main Maps\n * JavaScript API but are not loaded unless you specifically request them.\n *\n * ```\n * const loader = Loader({\n * apiKey,\n * libraries: ['drawing', 'geometry', 'places', 'visualization'],\n * });\n * ```\n *\n * Set the [list of libraries](https://developers.google.com/maps/documentation/javascript/libraries) for more options.\n */\n libraries?: Libraries;\n /**\n * By default, the Maps JavaScript API uses the user's preferred language\n * setting as specified in the browser, when displaying textual information\n * such as the names for controls, copyright notices, driving directions and\n * labels on maps. In most cases, it's preferable to respect the browser\n * setting. However, if you want the Maps JavaScript API to ignore the\n * browser's language setting, you can force it to display information in a\n * particular language when loading the Maps JavaScript API code.\n *\n * For example, the following example localizes the language to the United\n * Kingdom:\n *\n * ```\n * const loader = Loader({apiKey, language: 'ja', region: 'JP'});\n * ```\n *\n * See the [list of supported\n * languages](https://developers.google.com/maps/faq#languagesupport). Note\n * that new languages are added often, so this list may not be exhaustive.\n *\n */\n language?: string;\n /**\n * When you load the Maps JavaScript API from maps.googleapis.com it applies a\n * default bias for application behavior towards the United States. If you\n * want to alter your application to serve different map tiles or bias the\n * application (such as biasing geocoding results towards the region), you can\n * override this default behavior by adding a region parameter when loading\n * the Maps JavaScript API code.\n *\n * The region parameter accepts Unicode region subtag identifiers which\n * (generally) have a one-to-one mapping to country code Top-Level Domains\n * (ccTLDs). Most Unicode region identifiers are identical to ISO 3166-1\n * codes, with some notable exceptions. For example, Great Britain's ccTLD is\n * \"uk\" (corresponding to the domain .co.uk) while its region identifier is\n * \"GB.\"\n *\n * For example, the following example localizes the map to the United Kingdom:\n *\n * ```\n * const loader = Loader({apiKey, region: 'GB'});\n * ```\n */\n region?: string;\n /**\n * (Beta) You can add multiple Map IDs to your map using the map_ids paramenter in\n * your bootstrap request.\n */\n mapIds?: string[];\n /**\n * Use a custom url and path to load the Google Maps API script.\n */\n url?: string;\n /**\n * Use a cryptographic nonce attribute.\n */\n nonce?: string;\n}\n\n/**\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\n * dynamically using\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n * It works by dynamically creating and appending a script node to the the\n * document head and wrapping the callback function so as to return a promise.\n *\n * ```\n * const loader = new Loader({\n * apiKey: \"\",\n * version: \"weekly\",\n * libraries: [\"places\"]\n * });\n *\n * loader.load().then(() => {\n * const map = new google.maps.Map(...)\n * })\n * ```\n */\nexport class Loader {\n /**\n * See [[LoaderOptions.version]]\n */\n version: string;\n /**\n * See [[LoaderOptions.apiKey]]\n */\n apiKey: string;\n /**\n * See [[LoaderOptions.id]]\n */\n channel: string;\n /**\n * See [[LoaderOptions.channel]]\n */\n id: string;\n /**\n * See [[LoaderOptions.libraries]]\n */\n libraries: Libraries;\n /**\n * See [[LoaderOptions.language]]\n */\n language: string;\n\n /**\n * See [[LoaderOptions.region]]\n */\n region: string;\n\n /**\n * See [[LoaderOptions.mapIds]]\n */\n mapIds: string[];\n\n /**\n * See [[LoaderOptions.nonce]]\n */\n nonce: string | null;\n\n /**\n * See [[LoaderOptions.url]]\n */\n url: string;\n\n private CALLBACK = \"__googleMapsCallback\";\n private callbacks: ((e: Event) => void)[] = [];\n private done = false;\n private loading = false;\n private onerrorEvent: Event;\n\n /**\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\n * using this library, instead the defaults are set by the Google Maps\n * JavaScript API server.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\n * ```\n */\n constructor({\n apiKey,\n channel,\n id = \"__googleMapsScriptId\",\n libraries = [],\n language,\n region,\n version,\n mapIds,\n nonce,\n url = \"https://maps.googleapis.com/maps/api/js\",\n }: LoaderOptions) {\n this.version = version;\n this.apiKey = apiKey;\n this.channel = channel;\n this.id = id;\n this.libraries = libraries;\n this.language = language;\n this.region = region;\n this.mapIds = mapIds;\n this.nonce = nonce;\n this.url = url;\n }\n /**\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\n *\n * @ignore\n */\n createUrl(): string {\n let url = this.url;\n\n url += `?callback=${this.CALLBACK}`;\n\n if (this.apiKey) {\n url += `&key=${this.apiKey}`;\n }\n\n if (this.channel) {\n url += `&channel=${this.channel}`;\n }\n\n if (this.libraries.length > 0) {\n url += `&libraries=${this.libraries.join(\",\")}`;\n }\n\n if (this.language) {\n url += `&language=${this.language}`;\n }\n\n if (this.region) {\n url += `®ion=${this.region}`;\n }\n\n if (this.version) {\n url += `&v=${this.version}`;\n }\n\n if (this.mapIds) {\n url += `&map_ids=${this.mapIds.join(\",\")}`;\n }\n\n return url;\n }\n\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n */\n load(): Promise {\n return this.loadPromise();\n }\n\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n *\n * @ignore\n */\n loadPromise(): Promise {\n return new Promise((resolve, reject) => {\n this.loadCallback((err: Event) => {\n if (!err) {\n resolve();\n } else {\n reject(err);\n }\n });\n });\n }\n\n /**\n * Load the Google Maps JavaScript API script with a callback.\n */\n loadCallback(fn: (e: Event) => void): void {\n this.callbacks.push(fn);\n this.execute();\n }\n\n /**\n * Set the script on document.\n */\n private setScript(): void {\n if (this.id && document.getElementById(this.id)) {\n this.callback();\n return;\n }\n\n const url = this.createUrl();\n const script = document.createElement(\"script\");\n script.id = this.id;\n script.type = \"text/javascript\";\n script.src = url;\n script.onerror = this.loadErrorCallback.bind(this);\n script.defer = true;\n script.async = true;\n\n if (this.nonce) {\n script.nonce = this.nonce;\n }\n\n document.head.appendChild(script);\n }\n\n private loadErrorCallback(e: Event): void {\n this.onerrorEvent = e;\n this.callback();\n }\n\n private setCallback(): void {\n window.__googleMapsCallback = this.callback.bind(this);\n }\n\n private callback(): void {\n this.done = true;\n this.loading = false;\n\n this.callbacks.forEach((cb) => {\n cb(this.onerrorEvent);\n });\n\n this.callbacks = [];\n }\n\n private execute(): void {\n if (this.done) {\n this.callback();\n } else {\n if (this.loading) {\n // do nothing but wait\n } else {\n this.loading = true;\n this.setCallback();\n this.setScript();\n }\n }\n }\n}\n","/* global google */\n/* eslint-disable filenames/match-regex */\nimport { Clusterer } from './Clusterer'\n\nimport { ClusterIcon } from './ClusterIcon'\n\nimport { MarkerExtended } from './types'\n\nexport class Cluster {\n markerClusterer: Clusterer\n map: google.maps.Map | google.maps.StreetViewPanorama\n gridSize: number\n minClusterSize: number\n averageCenter: boolean\n markers: MarkerExtended[]\n center: google.maps.LatLng | undefined\n bounds: google.maps.LatLngBounds | null\n clusterIcon: ClusterIcon\n\n constructor(markerClusterer: Clusterer) {\n this.markerClusterer = markerClusterer\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.map = this.markerClusterer.getMap()\n\n this.gridSize = this.markerClusterer.getGridSize()\n\n this.minClusterSize = this.markerClusterer.getMinimumClusterSize()\n\n this.averageCenter = this.markerClusterer.getAverageCenter()\n\n this.markers = []\n\n this.center = undefined\n\n this.bounds = null\n\n this.clusterIcon = new ClusterIcon(this, this.markerClusterer.getStyles())\n }\n\n getSize(): number {\n return this.markers.length\n }\n\n getMarkers(): MarkerExtended[] {\n return this.markers\n }\n\n getCenter(): google.maps.LatLng | undefined {\n return this.center\n }\n\n getMap(): google.maps.Map | google.maps.StreetViewPanorama {\n return this.map\n }\n\n getClusterer(): Clusterer {\n return this.markerClusterer\n }\n\n getBounds(): google.maps.LatLngBounds {\n const bounds = new google.maps.LatLngBounds(this.center, this.center)\n\n const markers = this.getMarkers()\n\n for (let i = 0; i < markers.length; i++) {\n const position = markers[i].getPosition()\n\n if (position) {\n bounds.extend(position)\n }\n }\n\n return bounds\n }\n\n remove() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.clusterIcon.setMap(null)\n\n this.markers = []\n\n delete this.markers\n }\n\n addMarker(marker: MarkerExtended): boolean {\n if (this.isMarkerAlreadyAdded(marker)) {\n return false\n }\n\n if (!this.center) {\n const position = marker.getPosition()\n\n if (position) {\n this.center = position\n\n this.calculateBounds()\n }\n } else {\n if (this.averageCenter) {\n const position = marker.getPosition()\n\n if (position) {\n const length = this.markers.length + 1\n\n this.center = new google.maps.LatLng(\n (this.center.lat() * (length - 1) + position.lat()) / length,\n (this.center.lng() * (length - 1) + position.lng()) / length\n )\n\n this.calculateBounds()\n }\n }\n }\n\n marker.isAdded = true\n\n this.markers.push(marker)\n\n const mCount = this.markers.length\n\n const maxZoom = this.markerClusterer.getMaxZoom()\n\n if (maxZoom !== null && this.map.getZoom() > maxZoom) {\n // Zoomed in past max zoom, so show the marker.\n if (marker.getMap() !== this.map) {\n marker.setMap(this.map)\n }\n } else if (mCount < this.minClusterSize) {\n // Min cluster size not reached so show the marker.\n if (marker.getMap() !== this.map) {\n marker.setMap(this.map)\n }\n } else if (mCount === this.minClusterSize) {\n // Hide the markers that were showing.\n for (let i = 0; i < mCount; i++) {\n this.markers[i].setMap(null)\n }\n } else {\n marker.setMap(null)\n }\n\n return true\n }\n\n isMarkerInClusterBounds(marker: MarkerExtended): boolean {\n if (this.bounds !== null) {\n const position = marker.getPosition()\n\n if (position) {\n return this.bounds.contains(position)\n }\n }\n\n return false\n }\n\n calculateBounds() {\n this.bounds = this.markerClusterer.getExtendedBounds(\n new google.maps.LatLngBounds(this.center, this.center)\n )\n }\n\n updateIcon() {\n const mCount = this.markers.length\n\n const maxZoom = this.markerClusterer.getMaxZoom()\n\n if (maxZoom !== null && this.map.getZoom() > maxZoom) {\n this.clusterIcon.hide()\n\n return\n }\n\n if (mCount < this.minClusterSize) {\n // Min cluster size not yet reached.\n this.clusterIcon.hide()\n\n return\n }\n\n if (this.center) {\n this.clusterIcon.setCenter(this.center)\n }\n\n this.clusterIcon.useStyle(\n this.markerClusterer.getCalculator()(this.markers, this.markerClusterer.getStyles().length)\n )\n\n this.clusterIcon.show()\n }\n\n isMarkerAlreadyAdded(marker: MarkerExtended): boolean {\n if (this.markers.includes) {\n return this.markers.includes(marker)\n } else {\n for (let i = 0; i < this.markers.length; i++) {\n if (marker === this.markers[i]) {\n return true\n }\n }\n }\n\n return false\n }\n}\n","/* global google */\n/* eslint-disable filenames/match-regex */\nimport { Cluster } from './Cluster'\n\nimport {\n MarkerExtended,\n ClustererOptions,\n ClusterIconStyle,\n TCalculator,\n ClusterIconInfo,\n} from './types'\n\nconst CALCULATOR = function CALCULATOR(\n markers: MarkerExtended[],\n numStyles: number\n): ClusterIconInfo {\n let index = 0\n\n const title = ''\n\n const count = markers.length.toString()\n\n let dv: string | number = count\n\n while (dv !== 0) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n dv = parseInt(dv, 10) / 10\n\n index++\n }\n\n index = Math.min(index, numStyles)\n\n return {\n text: count,\n index: index,\n title: title,\n }\n}\n\nconst BATCH_SIZE = 2000\n\nconst BATCH_SIZE_IE = 500\n\nconst IMAGE_PATH =\n 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'\n\nconst IMAGE_EXTENSION = 'png'\n\nconst IMAGE_SIZES = [53, 56, 66, 78, 90]\n\nconst CLUSTERER_CLASS = 'cluster'\n\nexport class Clusterer {\n markers: MarkerExtended[]\n clusters: Cluster[]\n listeners: google.maps.MapsEventListener[]\n activeMap: google.maps.Map | google.maps.StreetViewPanorama | null\n ready: boolean\n gridSize: number\n minClusterSize: number\n maxZoom: number | null\n styles: ClusterIconStyle[]\n title: string\n zoomOnClick: boolean\n averageCenter: boolean\n ignoreHidden: boolean\n enableRetinaIcons: boolean\n imagePath: string\n imageExtension: string\n imageSizes: number[]\n calculator: TCalculator\n batchSize: number\n batchSizeIE: number\n clusterClass: string\n timerRefStatic: number | null\n\n constructor(\n map: google.maps.Map,\n optMarkers: MarkerExtended[] = [],\n optOptions: ClustererOptions = {}\n ) {\n this.extend(Clusterer, google.maps.OverlayView)\n\n this.markers = []\n this.clusters = []\n this.listeners = []\n this.activeMap = null\n this.ready = false\n this.gridSize = optOptions.gridSize || 60\n this.minClusterSize = optOptions.minimumClusterSize || 2\n this.maxZoom = optOptions.maxZoom || null\n this.styles = optOptions.styles || []\n\n this.title = optOptions.title || ''\n\n this.zoomOnClick = true\n\n if (optOptions.zoomOnClick !== undefined) {\n this.zoomOnClick = optOptions.zoomOnClick\n }\n\n this.averageCenter = false\n\n if (optOptions.averageCenter !== undefined) {\n this.averageCenter = optOptions.averageCenter\n }\n\n this.ignoreHidden = false\n\n if (optOptions.ignoreHidden !== undefined) {\n this.ignoreHidden = optOptions.ignoreHidden\n }\n\n this.enableRetinaIcons = false\n\n if (optOptions.enableRetinaIcons !== undefined) {\n this.enableRetinaIcons = optOptions.enableRetinaIcons\n }\n this.imagePath = optOptions.imagePath || IMAGE_PATH\n\n this.imageExtension = optOptions.imageExtension || IMAGE_EXTENSION\n\n this.imageSizes = optOptions.imageSizes || IMAGE_SIZES\n\n this.calculator = optOptions.calculator || CALCULATOR\n\n this.batchSize = optOptions.batchSize || BATCH_SIZE\n\n this.batchSizeIE = optOptions.batchSizeIE || BATCH_SIZE_IE\n\n this.clusterClass = optOptions.clusterClass || CLUSTERER_CLASS\n\n if (navigator.userAgent.toLowerCase().indexOf('msie') !== -1) {\n // Try to avoid IE timeout when processing a huge number of markers:\n this.batchSize = this.batchSizeIE\n }\n\n this.timerRefStatic = null\n\n this.setupStyles()\n\n this.addMarkers(optMarkers, true)\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.setMap(map) // Note: this causes onAdd to be called\n }\n\n onAdd() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.activeMap = this.getMap()\n\n this.ready = true\n\n this.repaint()\n\n // Add the map event listeners\n this.listeners = [\n google.maps.event.addListener(\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap(),\n 'zoom_changed',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n this.resetViewport(false)\n // Workaround for this Google bug: when map is at level 0 and \"-\" of\n // zoom slider is clicked, a \"zoom_changed\" event is fired even though\n // the map doesn't zoom out any further. In this situation, no \"idle\"\n // event is triggered so the cluster markers that have been removed\n // do not get redrawn. Same goes for a zoom in at maxZoom.\n if (\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap().getZoom() === (this.get('minZoom') || 0) ||\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap().getZoom() === this.get('maxZoom')\n ) {\n google.maps.event.trigger(this, 'idle')\n }\n }\n ),\n google.maps.event.addListener(\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap(),\n 'idle',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n this.redraw()\n }\n ),\n ]\n }\n\n // eslint-disable-next-line @getify/proper-arrows/this\n onRemove() {\n // Put all the managed markers back on the map:\n for (let i = 0; i < this.markers.length; i++) {\n if (this.markers[i].getMap() !== this.activeMap) {\n this.markers[i].setMap(this.activeMap)\n }\n }\n\n // Remove all clusters:\n for (let i = 0; i < this.clusters.length; i++) {\n this.clusters[i].remove()\n }\n\n this.clusters = []\n\n // Remove map event listeners:\n for (let i = 0; i < this.listeners.length; i++) {\n google.maps.event.removeListener(this.listeners[i])\n }\n\n this.listeners = []\n\n this.activeMap = null\n\n this.ready = false\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n draw() {}\n\n setupStyles() {\n if (this.styles.length > 0) {\n return\n }\n\n for (let i = 0; i < this.imageSizes.length; i++) {\n this.styles.push({\n url: this.imagePath + (i + 1) + '.' + this.imageExtension,\n height: this.imageSizes[i],\n width: this.imageSizes[i],\n })\n }\n }\n\n fitMapToMarkers() {\n const markers = this.getMarkers()\n\n const bounds = new google.maps.LatLngBounds()\n\n for (let i = 0; i < markers.length; i++) {\n const position = markers[i].getPosition()\n if (position) {\n bounds.extend(position)\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap().fitBounds(bounds)\n }\n\n getGridSize(): number {\n return this.gridSize\n }\n\n setGridSize(gridSize: number) {\n this.gridSize = gridSize\n }\n\n getMinimumClusterSize(): number {\n return this.minClusterSize\n }\n\n setMinimumClusterSize(minimumClusterSize: number) {\n this.minClusterSize = minimumClusterSize\n }\n\n getMaxZoom(): number | null {\n return this.maxZoom\n }\n\n setMaxZoom(maxZoom: number) {\n this.maxZoom = maxZoom\n }\n\n getStyles(): ClusterIconStyle[] {\n return this.styles\n }\n\n setStyles(styles: ClusterIconStyle[]) {\n this.styles = styles\n }\n\n getTitle(): string {\n return this.title\n }\n\n setTitle(title: string) {\n this.title = title\n }\n\n getZoomOnClick(): boolean {\n return this.zoomOnClick\n }\n\n setZoomOnClick(zoomOnClick: boolean) {\n this.zoomOnClick = zoomOnClick\n }\n\n getAverageCenter(): boolean {\n return this.averageCenter\n }\n\n setAverageCenter(averageCenter: boolean) {\n this.averageCenter = averageCenter\n }\n\n getIgnoreHidden(): boolean {\n return this.ignoreHidden\n }\n\n setIgnoreHidden(ignoreHidden: boolean) {\n this.ignoreHidden = ignoreHidden\n }\n\n getEnableRetinaIcons(): boolean {\n return this.enableRetinaIcons\n }\n\n setEnableRetinaIcons(enableRetinaIcons: boolean) {\n this.enableRetinaIcons = enableRetinaIcons\n }\n\n getImageExtension(): string {\n return this.imageExtension\n }\n\n setImageExtension(imageExtension: string) {\n this.imageExtension = imageExtension\n }\n\n getImagePath(): string {\n return this.imagePath\n }\n\n setImagePath(imagePath: string) {\n this.imagePath = imagePath\n }\n\n getImageSizes(): number[] {\n return this.imageSizes\n }\n\n setImageSizes(imageSizes: number[]) {\n this.imageSizes = imageSizes\n }\n\n getCalculator(): TCalculator {\n return this.calculator\n }\n\n setCalculator(calculator: TCalculator) {\n this.calculator = calculator\n }\n\n getBatchSizeIE(): number {\n return this.batchSizeIE\n }\n\n setBatchSizeIE(batchSizeIE: number) {\n this.batchSizeIE = batchSizeIE\n }\n\n getClusterClass(): string {\n return this.clusterClass\n }\n\n setClusterClass(clusterClass: string) {\n this.clusterClass = clusterClass\n }\n\n getMarkers(): MarkerExtended[] {\n return this.markers\n }\n\n getTotalMarkers(): number {\n return this.markers.length\n }\n\n getClusters(): Cluster[] {\n return this.clusters\n }\n\n getTotalClusters(): number {\n return this.clusters.length\n }\n\n addMarker(marker: MarkerExtended, optNoDraw: boolean) {\n this.pushMarkerTo(marker)\n\n if (!optNoDraw) {\n this.redraw()\n }\n }\n\n addMarkers(markers: MarkerExtended[], optNoDraw: boolean) {\n for (const key in markers) {\n if (markers.hasOwnProperty(key)) {\n this.pushMarkerTo(markers[key])\n }\n }\n\n if (!optNoDraw) {\n this.redraw()\n }\n }\n\n pushMarkerTo(marker: MarkerExtended) {\n // If the marker is draggable add a listener so we can update the clusters on the dragend:\n if (marker.getDraggable()) {\n // eslint-disable-next-line @getify/proper-arrows/name, @getify/proper-arrows/this\n google.maps.event.addListener(marker, 'dragend', () => {\n if (this.ready) {\n marker.isAdded = false\n\n this.repaint()\n }\n })\n }\n\n marker.isAdded = false\n\n this.markers.push(marker)\n }\n\n removeMarker_(marker: MarkerExtended): boolean {\n let index = -1\n\n if (this.markers.indexOf) {\n index = this.markers.indexOf(marker)\n } else {\n for (let i = 0; i < this.markers.length; i++) {\n if (marker === this.markers[i]) {\n index = i\n\n break\n }\n }\n }\n\n if (index === -1) {\n // Marker is not in our list of markers, so do nothing:\n return false\n }\n\n marker.setMap(null)\n\n this.markers.splice(index, 1) // Remove the marker from the list of managed markers\n\n return true\n }\n\n removeMarker(marker: MarkerExtended, optNoDraw: boolean): boolean {\n const removed = this.removeMarker_(marker)\n\n if (!optNoDraw && removed) {\n this.repaint()\n }\n\n return removed\n }\n\n removeMarkers(markers: MarkerExtended[], optNoDraw: boolean): boolean {\n let removed = false\n\n for (let i = 0; i < markers.length; i++) {\n removed = removed || this.removeMarker_(markers[i])\n }\n\n if (!optNoDraw && removed) {\n this.repaint()\n }\n\n return removed\n }\n\n clearMarkers() {\n this.resetViewport(true)\n\n this.markers = []\n }\n\n repaint() {\n const oldClusters = this.clusters.slice()\n\n this.clusters = []\n\n this.resetViewport(false)\n\n this.redraw()\n\n // Remove the old clusters.\n // Do it in a timeout to prevent blinking effect.\n setTimeout(function timeout() {\n for (let i = 0; i < oldClusters.length; i++) {\n oldClusters[i].remove()\n }\n }, 0)\n }\n\n getExtendedBounds(bounds: google.maps.LatLngBounds): google.maps.LatLngBounds {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const projection = this.getProjection()\n // Convert the points to pixels and the extend out by the grid size.\n const trPix = projection.fromLatLngToDivPixel(\n // Turn the bounds into latlng.\n new google.maps.LatLng(bounds.getNorthEast().lat(), bounds.getNorthEast().lng())\n )\n\n trPix.x += this.gridSize\n trPix.y -= this.gridSize\n\n const blPix = projection.fromLatLngToDivPixel(\n // Turn the bounds into latlng.\n new google.maps.LatLng(bounds.getSouthWest().lat(), bounds.getSouthWest().lng())\n )\n\n blPix.x -= this.gridSize\n blPix.y += this.gridSize\n\n // Extend the bounds to contain the new bounds.\n bounds.extend(\n // Convert the pixel points back to LatLng nw\n projection.fromDivPixelToLatLng(trPix)\n )\n\n bounds.extend(\n // Convert the pixel points back to LatLng sw\n projection.fromDivPixelToLatLng(blPix)\n )\n\n return bounds\n }\n\n redraw() {\n // Redraws all the clusters.\n this.createClusters(0)\n }\n\n resetViewport(optHide: boolean) {\n // Remove all the clusters\n for (let i = 0; i < this.clusters.length; i++) {\n this.clusters[i].remove()\n }\n\n this.clusters = []\n\n // Reset the markers to not be added and to be removed from the map.\n for (let i = 0; i < this.markers.length; i++) {\n const marker = this.markers[i]\n\n marker.isAdded = false\n\n if (optHide) {\n marker.setMap(null)\n }\n }\n }\n\n distanceBetweenPoints(p1: google.maps.LatLng, p2: google.maps.LatLng): number {\n const R = 6371 // Radius of the Earth in km\n\n const dLat = ((p2.lat() - p1.lat()) * Math.PI) / 180\n const dLon = ((p2.lng() - p1.lng()) * Math.PI) / 180\n\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos((p1.lat() * Math.PI) / 180) *\n Math.cos((p2.lat() * Math.PI) / 180) *\n Math.sin(dLon / 2) *\n Math.sin(dLon / 2)\n\n return R * (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)))\n }\n\n isMarkerInBounds(marker: MarkerExtended, bounds: google.maps.LatLngBounds): boolean {\n const position = marker.getPosition()\n\n if (position) {\n return bounds.contains(position)\n }\n\n return false\n }\n\n addToClosestCluster(marker: MarkerExtended) {\n let cluster\n\n let distance = 40000 // Some large number\n\n let clusterToAddTo = null\n\n for (let i = 0; i < this.clusters.length; i++) {\n cluster = this.clusters[i]\n\n const center = cluster.getCenter()\n\n const position = marker.getPosition()\n\n if (center && position) {\n const d = this.distanceBetweenPoints(center, position)\n\n if (d < distance) {\n distance = d\n\n clusterToAddTo = cluster\n }\n }\n }\n\n if (clusterToAddTo && clusterToAddTo.isMarkerInClusterBounds(marker)) {\n clusterToAddTo.addMarker(marker)\n } else {\n cluster = new Cluster(this)\n\n cluster.addMarker(marker)\n\n this.clusters.push(cluster)\n }\n }\n\n createClusters(iFirst: number) {\n if (!this.ready) {\n return\n }\n\n // Cancel previous batch processing if we're working on the first batch:\n if (iFirst === 0) {\n /**\n * This event is fired when the Clusterer begins\n * clustering markers.\n * @name Clusterer#clusteringbegin\n * @param {Clusterer} mc The Clusterer whose markers are being clustered.\n * @event\n */\n google.maps.event.trigger(this, 'clusteringbegin', this)\n\n if (this.timerRefStatic !== null) {\n window.clearTimeout(this.timerRefStatic)\n\n delete this.timerRefStatic\n }\n }\n\n // Get our current map view bounds.\n // Create a new bounds object so we don't affect the map.\n //\n // See Comments 9 & 11 on Issue 3651 relating to this workaround for a Google Maps bug:\n const mapBounds =\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap().getZoom() > 3\n ? new google.maps.LatLngBounds(\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap()\n .getBounds()\n .getSouthWest(),\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.getMap()\n .getBounds()\n .getNorthEast()\n )\n : new google.maps.LatLngBounds(\n new google.maps.LatLng(85.02070771743472, -178.48388434375),\n new google.maps.LatLng(-85.08136444384544, 178.00048865625)\n )\n\n const bounds = this.getExtendedBounds(mapBounds)\n\n const iLast = Math.min(iFirst + this.batchSize, this.markers.length)\n\n for (let i = iFirst; i < iLast; i++) {\n const marker = this.markers[i]\n\n if (!marker.isAdded && this.isMarkerInBounds(marker, bounds)) {\n if (!this.ignoreHidden || (this.ignoreHidden && marker.getVisible())) {\n this.addToClosestCluster(marker)\n }\n }\n }\n\n if (iLast < this.markers.length) {\n this.timerRefStatic = window.setTimeout(\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n this.createClusters(iLast)\n },\n 0\n )\n } else {\n this.timerRefStatic = null\n\n /**\n * This event is fired when the Clusterer stops\n * clustering markers.\n * @name Clusterer#clusteringend\n * @param {Clusterer} mc The Clusterer whose markers are being clustered.\n * @event\n */\n google.maps.event.trigger(this, 'clusteringend', this)\n\n for (let i = 0; i < this.clusters.length; i++) {\n this.clusters[i].updateIcon()\n }\n }\n }\n\n extend(obj1: any, obj2: any): any {\n return function applyExtend(object: any) {\n // eslint-disable-next-line guard-for-in\n for (const property in object.prototype) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.prototype[property] = object.prototype[property]\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n return this\n }.apply(obj1, [obj2])\n }\n}\n","/* global google */\n/* eslint-disable filenames/match-regex */\nimport { InfoBoxOptions } from './types'\n\nexport class InfoBox {\n content: string | Node\n disableAutoPan: boolean\n maxWidth: number\n pixelOffset: google.maps.Size\n position: google.maps.LatLng\n zIndex: number | undefined | null\n boxClass: string\n boxStyle: {\n [key: string]: any\n }\n closeBoxMargin: string\n closeBoxURL: string\n infoBoxClearance: google.maps.Size\n isHidden: boolean\n alignBottom: boolean\n pane: string\n enableEventPropagation: boolean\n div: HTMLDivElement | null\n closeListener: google.maps.MapsEventListener | null\n moveListener: google.maps.MapsEventListener | null\n mapListener: google.maps.MapsEventListener | null\n contextListener: google.maps.MapsEventListener | null\n eventListeners: google.maps.MapsEventListener[] | null\n fixedWidthSet: boolean | null\n\n constructor(options: InfoBoxOptions = {}) {\n this.extend(InfoBox, google.maps.OverlayView)\n\n // Standard options (in common with google.maps.InfoWindow):\n this.content = options.content || ''\n this.disableAutoPan = options.disableAutoPan || false\n this.maxWidth = options.maxWidth || 0\n this.pixelOffset = options.pixelOffset || new google.maps.Size(0, 0)\n this.position = options.position || new google.maps.LatLng(0, 0)\n this.zIndex = options.zIndex || null\n\n // Additional options (unique to InfoBox):\n this.boxClass = options.boxClass || 'infoBox'\n this.boxStyle = options.boxStyle || {}\n this.closeBoxMargin = options.closeBoxMargin || '2px'\n this.closeBoxURL = options.closeBoxURL || 'http://www.google.com/intl/en_us/mapfiles/close.gif'\n if (options.closeBoxURL === '') {\n this.closeBoxURL = ''\n }\n this.infoBoxClearance = options.infoBoxClearance || new google.maps.Size(1, 1)\n\n if (typeof options.visible === 'undefined') {\n if (typeof options.isHidden === 'undefined') {\n options.visible = true\n } else {\n options.visible = !options.isHidden\n }\n }\n this.isHidden = !options.visible\n\n this.alignBottom = options.alignBottom || false\n this.pane = options.pane || 'floatPane'\n this.enableEventPropagation = options.enableEventPropagation || false\n\n this.div = null\n this.closeListener = null\n this.moveListener = null\n this.mapListener = null\n this.contextListener = null\n this.eventListeners = null\n this.fixedWidthSet = null\n }\n\n createInfoBoxDiv(): void {\n // This handler prevents an event in the InfoBox from being passed on to the map.\n function cancelHandler(event: Event) {\n event.cancelBubble = true\n if (event.stopPropagation) {\n event.stopPropagation()\n }\n }\n\n // This handler ignores the current event in the InfoBox and conditionally prevents\n // the event from being passed on to the map. It is used for the contextmenu event.\n // eslint-disable-next-line @getify/proper-arrows/this\n const ignoreHandler = (event: Event) => {\n event.returnValue = false\n\n if (event.preventDefault) {\n event.preventDefault()\n }\n\n if (!this.enableEventPropagation) {\n cancelHandler(event)\n }\n }\n\n if (!this.div) {\n this.div = document.createElement('div')\n this.setBoxStyle()\n\n if (typeof this.content === 'string') {\n this.div.innerHTML = this.getCloseBoxImg() + this.content\n } else {\n this.div.innerHTML = this.getCloseBoxImg()\n this.div.appendChild(this.content)\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const panes = this.getPanes()\n panes[this.pane].appendChild(this.div) // Add the InfoBox div to the DOM\n\n this.addClickHandler()\n\n if (this.div.style.width) {\n this.fixedWidthSet = true\n } else {\n if (this.maxWidth !== 0 && this.div.offsetWidth > this.maxWidth) {\n this.div.style.width = this.maxWidth + 'px'\n this.fixedWidthSet = true\n } else {\n // The following code is needed to overcome problems with MSIE\n const bw = this.getBoxWidths()\n this.div.style.width = this.div.offsetWidth - bw.left - bw.right + 'px'\n this.fixedWidthSet = false\n }\n }\n\n this.panBox(this.disableAutoPan)\n\n if (!this.enableEventPropagation) {\n this.eventListeners = []\n\n // Cancel event propagation.\n // Note: mousemove not included (to resolve Issue 152)\n const events = [\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'mouseup',\n 'click',\n 'dblclick',\n 'touchstart',\n 'touchend',\n 'touchmove',\n ]\n\n for (let i = 0; i < events.length; i++) {\n this.eventListeners.push(\n google.maps.event.addDomListener(this.div, events[i], cancelHandler)\n )\n }\n\n // Workaround for Google bug that causes the cursor to change to a pointer\n // when the mouse moves over a marker underneath InfoBox.\n this.eventListeners.push(\n google.maps.event.addDomListener(\n this.div,\n 'mouseover',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n if (this.div) {\n this.div.style.cursor = 'default'\n }\n }\n )\n )\n }\n\n this.contextListener = google.maps.event.addDomListener(\n this.div,\n 'contextmenu',\n ignoreHandler\n )\n\n /**\n * This event is fired when the DIV containing the InfoBox's content is attached to the DOM.\n * @name InfoBox#domready\n * @event\n */\n google.maps.event.trigger(this, 'domready')\n }\n }\n\n getCloseBoxImg(): string {\n let img = ''\n\n if (this.closeBoxURL !== '') {\n img = '\"\"'\n\"\n }\n\n return img\n }\n\n addClickHandler(): void {\n if (this.div && this.div.firstChild && this.closeBoxURL !== '') {\n const closeBox = this.div.firstChild\n this.closeListener = google.maps.event.addDomListener(\n closeBox,\n 'click',\n this.getCloseClickHandler()\n )\n } else {\n this.closeListener = null\n }\n }\n\n getCloseClickHandler() {\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n return (event: Event) => {\n // 1.0.3 fix: Always prevent propagation of a close box click to the map:\n event.cancelBubble = true\n\n if (event.stopPropagation) {\n event.stopPropagation()\n }\n\n /**\n * This event is fired when the InfoBox's close box is clicked.\n * @name InfoBox#closeclick\n * @event\n */\n google.maps.event.trigger(this, 'closeclick')\n\n this.close()\n }\n }\n\n panBox(disablePan?: boolean): void {\n if (this.div && !disablePan) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const map: google.maps.Map | google.maps.StreetViewPanorama | null | undefined = this.getMap()\n\n // Only pan if attached to map, not panorama\n if (map instanceof google.maps.Map) {\n let xOffset = 0\n let yOffset = 0\n\n const bounds = map.getBounds()\n if (bounds && !bounds.contains(this.position)) {\n // Marker not in visible area of map, so set center\n // of map to the marker position first.\n map.setCenter(this.position)\n }\n\n const mapDiv = map.getDiv()\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const mapWidth = mapDiv.offsetWidth\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const mapHeight = mapDiv.offsetHeight\n const iwOffsetX = this.pixelOffset.width\n const iwOffsetY = this.pixelOffset.height\n const iwWidth = this.div.offsetWidth\n const iwHeight = this.div.offsetHeight\n const padX = this.infoBoxClearance.width\n const padY = this.infoBoxClearance.height\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const projection: google.maps.MapCanvasProjection = this.getProjection()\n const pixPosition = projection.fromLatLngToContainerPixel(this.position)\n\n if (pixPosition.x < -iwOffsetX + padX) {\n xOffset = pixPosition.x + iwOffsetX - padX\n } else if (pixPosition.x + iwWidth + iwOffsetX + padX > mapWidth) {\n xOffset = pixPosition.x + iwWidth + iwOffsetX + padX - mapWidth\n }\n if (this.alignBottom) {\n if (pixPosition.y < -iwOffsetY + padY + iwHeight) {\n yOffset = pixPosition.y + iwOffsetY - padY - iwHeight\n } else if (pixPosition.y + iwOffsetY + padY > mapHeight) {\n yOffset = pixPosition.y + iwOffsetY + padY - mapHeight\n }\n } else {\n if (pixPosition.y < -iwOffsetY + padY) {\n yOffset = pixPosition.y + iwOffsetY - padY\n } else if (pixPosition.y + iwHeight + iwOffsetY + padY > mapHeight) {\n yOffset = pixPosition.y + iwHeight + iwOffsetY + padY - mapHeight\n }\n }\n\n if (!(xOffset === 0 && yOffset === 0)) {\n // Move the map to the shifted center.\n map.panBy(xOffset, yOffset)\n }\n }\n }\n }\n\n setBoxStyle(): void {\n if (this.div) {\n // Apply style values from the style sheet defined in the boxClass parameter:\n this.div.className = this.boxClass\n\n // Clear existing inline style values:\n this.div.style.cssText = ''\n\n // Apply style values defined in the boxStyle parameter:\n const boxStyle = this.boxStyle\n for (const i in boxStyle) {\n if (boxStyle.hasOwnProperty(i)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.div.style[i] = boxStyle[i]\n }\n }\n\n // Fix for iOS disappearing InfoBox problem\n // See http://stackoverflow.com/questions/9229535/google-maps-markers-disappear-at-certain-zoom-level-only-on-iphone-ipad\n this.div.style.webkitTransform = 'translateZ(0)'\n\n // Fix up opacity style for benefit of MSIE\n if (typeof this.div.style.opacity !== 'undefined' && this.div.style.opacity !== '') {\n // See http://www.quirksmode.org/css/opacity.html\n const opacity = parseFloat(this.div.style.opacity || '')\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.div.style.msFilter =\n '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=' + opacity * 100 + ')\"'\n this.div.style.filter = 'alpha(opacity=' + opacity * 100 + ')'\n }\n\n // Apply required styles\n this.div.style.position = 'absolute'\n this.div.style.visibility = 'hidden'\n if (this.zIndex !== null) {\n this.div.style.zIndex = this.zIndex + ''\n }\n if (!this.div.style.overflow) {\n this.div.style.overflow = 'auto'\n }\n }\n }\n\n getBoxWidths(): { bottom: number; left: number; right: number; top: number } {\n const bw = { top: 0, bottom: 0, left: 0, right: 0 }\n\n if (!this.div) {\n return bw\n }\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n const ownerDocument = this.div.ownerDocument\n const computedStyle =\n ownerDocument && ownerDocument.defaultView\n ? ownerDocument.defaultView.getComputedStyle(this.div, '')\n : null\n\n if (computedStyle) {\n // The computed styles are always in pixel units (good!)\n bw.top = parseInt(computedStyle.borderTopWidth || '', 10) || 0\n bw.bottom = parseInt(computedStyle.borderBottomWidth || '', 10) || 0\n bw.left = parseInt(computedStyle.borderLeftWidth || '', 10) || 0\n bw.right = parseInt(computedStyle.borderRightWidth || '', 10) || 0\n }\n } else if (\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n document.documentElement.currentStyle // MSIE\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const currentStyle = this.div.currentStyle\n\n if (currentStyle) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // The current styles may not be in pixel units, but assume they are (bad!)\n bw.top = parseInt(currentStyle.borderTopWidth || '', 10) || 0\n bw.bottom = parseInt(currentStyle.borderBottomWidth || '', 10) || 0\n bw.left = parseInt(currentStyle.borderLeftWidth || '', 10) || 0\n bw.right = parseInt(currentStyle.borderRightWidth || '', 10) || 0\n }\n }\n\n return bw\n }\n\n onRemove(): void {\n if (this.div && this.div.parentNode) {\n this.div.parentNode.removeChild(this.div)\n this.div = null\n }\n }\n\n draw(): void {\n this.createInfoBoxDiv()\n\n if (this.div) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const projection: google.maps.MapCanvasProjection = this.getProjection()\n const pixPosition = projection.fromLatLngToDivPixel(this.position)\n\n this.div.style.left = pixPosition.x + this.pixelOffset.width + 'px'\n\n if (this.alignBottom) {\n this.div.style.bottom = -(pixPosition.y + this.pixelOffset.height) + 'px'\n } else {\n this.div.style.top = pixPosition.y + this.pixelOffset.height + 'px'\n }\n\n if (this.isHidden) {\n this.div.style.visibility = 'hidden'\n } else {\n this.div.style.visibility = 'visible'\n }\n }\n }\n\n setOptions(options: InfoBoxOptions = {}): void {\n if (typeof options.boxClass !== 'undefined') {\n // Must be first\n this.boxClass = options.boxClass\n this.setBoxStyle()\n }\n if (typeof options.boxStyle !== 'undefined') {\n // Must be second\n this.boxStyle = options.boxStyle\n this.setBoxStyle()\n }\n if (typeof options.content !== 'undefined') {\n this.setContent(options.content)\n }\n if (typeof options.disableAutoPan !== 'undefined') {\n this.disableAutoPan = options.disableAutoPan\n }\n if (typeof options.maxWidth !== 'undefined') {\n this.maxWidth = options.maxWidth\n }\n if (typeof options.pixelOffset !== 'undefined') {\n this.pixelOffset = options.pixelOffset\n }\n if (typeof options.alignBottom !== 'undefined') {\n this.alignBottom = options.alignBottom\n }\n if (typeof options.position !== 'undefined') {\n this.setPosition(options.position)\n }\n if (typeof options.zIndex !== 'undefined') {\n this.setZIndex(options.zIndex)\n }\n if (typeof options.closeBoxMargin !== 'undefined') {\n this.closeBoxMargin = options.closeBoxMargin\n }\n if (typeof options.closeBoxURL !== 'undefined') {\n this.closeBoxURL = options.closeBoxURL\n }\n if (typeof options.infoBoxClearance !== 'undefined') {\n this.infoBoxClearance = options.infoBoxClearance\n }\n if (typeof options.isHidden !== 'undefined') {\n this.isHidden = options.isHidden\n }\n if (typeof options.visible !== 'undefined') {\n this.isHidden = !options.visible\n }\n if (typeof options.enableEventPropagation !== 'undefined') {\n this.enableEventPropagation = options.enableEventPropagation\n }\n\n if (this.div) {\n this.draw()\n }\n }\n\n setContent(content: string | Node): void {\n this.content = content\n\n if (this.div) {\n if (this.closeListener) {\n google.maps.event.removeListener(this.closeListener)\n this.closeListener = null\n }\n\n // Odd code required to make things work with MSIE.\n if (!this.fixedWidthSet) {\n this.div.style.width = ''\n }\n\n if (typeof content === 'string') {\n this.div.innerHTML = this.getCloseBoxImg() + content\n } else {\n this.div.innerHTML = this.getCloseBoxImg()\n this.div.appendChild(content)\n }\n\n // Perverse code required to make things work with MSIE.\n // (Ensures the close box does, in fact, float to the right.)\n if (!this.fixedWidthSet) {\n this.div.style.width = this.div.offsetWidth + 'px'\n if (typeof content === 'string') {\n this.div.innerHTML = this.getCloseBoxImg() + content\n } else {\n this.div.innerHTML = this.getCloseBoxImg()\n this.div.appendChild(content)\n }\n }\n\n this.addClickHandler()\n }\n\n /**\n * This event is fired when the content of the InfoBox changes.\n * @name InfoBox#content_changed\n * @event\n */\n google.maps.event.trigger(this, 'content_changed')\n }\n\n setPosition(latLng: google.maps.LatLng): void {\n this.position = latLng\n\n if (this.div) {\n this.draw()\n }\n\n /**\n * This event is fired when the position of the InfoBox changes.\n * @name InfoBox#position_changed\n * @event\n */\n google.maps.event.trigger(this, 'position_changed')\n }\n\n setVisible(isVisible: boolean): void {\n this.isHidden = !isVisible\n if (this.div) {\n this.div.style.visibility = this.isHidden ? 'hidden' : 'visible'\n }\n }\n\n setZIndex(index: number): void {\n this.zIndex = index\n\n if (this.div) {\n this.div.style.zIndex = index + ''\n }\n\n /**\n * This event is fired when the zIndex of the InfoBox changes.\n * @name InfoBox#zindex_changed\n * @event\n */\n google.maps.event.trigger(this, 'zindex_changed')\n }\n\n getContent(): string | Node {\n return this.content\n }\n\n getPosition(): google.maps.LatLng {\n return this.position\n }\n\n getZIndex(): number | null | undefined {\n return this.zIndex\n }\n\n getVisible(): boolean {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const map: google.maps.Map | google.maps.StreetViewPanorama | null | undefined = this.getMap()\n let isVisible\n\n if (typeof map === 'undefined' || map === null) {\n isVisible = false\n } else {\n isVisible = !this.isHidden\n }\n\n return isVisible\n }\n\n show(): void {\n this.isHidden = false\n if (this.div) {\n this.div.style.visibility = 'visible'\n }\n }\n\n hide(): void {\n this.isHidden = true\n if (this.div) {\n this.div.style.visibility = 'hidden'\n }\n }\n\n open(\n map: google.maps.Map | google.maps.StreetViewPanorama,\n anchor?: google.maps.MVCObject\n ): void {\n if (anchor) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.position = anchor.getPosition()\n this.moveListener = google.maps.event.addListener(\n anchor,\n 'position_changed',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const position = anchor.getPosition()\n this.setPosition(position)\n }\n )\n\n this.mapListener = google.maps.event.addListener(\n anchor,\n 'map_changed',\n // eslint-disable-next-line @getify/proper-arrows/this, @getify/proper-arrows/name\n () => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.setMap(anchor.map)\n }\n )\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.setMap(map)\n\n if (this.div) {\n this.panBox()\n }\n }\n\n close() {\n if (this.closeListener) {\n google.maps.event.removeListener(this.closeListener)\n this.closeListener = null\n }\n\n if (this.eventListeners) {\n for (let i = 0; i < this.eventListeners.length; i++) {\n google.maps.event.removeListener(this.eventListeners[i])\n }\n this.eventListeners = null\n }\n\n if (this.moveListener) {\n google.maps.event.removeListener(this.moveListener)\n this.moveListener = null\n }\n\n if (this.mapListener) {\n google.maps.event.removeListener(this.mapListener)\n this.mapListener = null\n }\n\n if (this.contextListener) {\n google.maps.event.removeListener(this.contextListener)\n this.contextListener = null\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.setMap(null)\n }\n\n extend(obj1: any, obj2: any): any {\n return function applyExtend(object: any) {\n // eslint-disable-next-line guard-for-in\n for (const property in object.prototype) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n if (!this.prototype.hasOwnProperty(property)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.prototype[property] = object.prototype[property]\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n return this\n }.apply(obj1, [obj2])\n }\n}\n","import { useContext, createContext } from 'react'\nimport invariant from 'invariant'\n\nconst MapContext = createContext(null)\n\nexport function useGoogleMap(): google.maps.Map | null {\n invariant(!!useContext, 'useGoogleMap is React hook and requires React version 16.8+')\n\n const map = useContext(MapContext)\n\n invariant(!!map, 'useGoogleMap needs a GoogleMap available up in the tree')\n\n return map\n}\n\nexport default MapContext\n","/* global google */\n/* eslint-disable filenames/match-regex */\nimport { reduce } from './reduce'\nimport { forEach } from './foreach'\n\nexport const applyUpdaterToNextProps = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n updaterMap: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n prevProps: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n nextProps: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const map: any = {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const iter = (fn: any, key: string): void => {\n const nextValue = nextProps[key]\n\n if (nextValue !== prevProps[key]) {\n map[key] = nextValue\n fn(instance, nextValue)\n }\n }\n\n forEach(updaterMap, iter)\n\n return map\n}\n\nexport function registerEvents(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance: any,\n eventMap: Record\n): google.maps.MapsEventListener[] {\n const registeredList = reduce(\n eventMap,\n function reducer(\n acc: google.maps.MapsEventListener[],\n googleEventName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onEventName: any\n ): google.maps.MapsEventListener[] {\n if (typeof props[onEventName] === 'function') {\n acc.push(google.maps.event.addListener(instance, googleEventName, props[onEventName]))\n }\n\n return acc\n },\n []\n )\n\n return registeredList\n}\nfunction unregisterEvent(registered: google.maps.MapsEventListener): void {\n google.maps.event.removeListener(registered)\n}\n\nexport function unregisterEvents(events: google.maps.MapsEventListener[] = []): void {\n events.forEach(unregisterEvent)\n}\n\nexport function applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps,\n instance,\n}: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n updaterMap: any\n eventMap: Record\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n prevProps: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n nextProps: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance: any\n}): google.maps.MapsEventListener[] {\n const registeredEvents = registerEvents(nextProps, instance, eventMap)\n applyUpdaterToNextProps(updaterMap, prevProps, nextProps, instance)\n return registeredEvents\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function forEach(obj: any, fn: any): any {\n Object.keys(obj).forEach(function iterator(key) {\n return fn(obj[key], key)\n })\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const reduce = (obj: any, fn: any, acc: any): any => {\n return Object.keys(obj).reduce(function reducer(newAcc, key) {\n return fn(newAcc, obj[key], key)\n }, acc)\n}\n","import * as React from 'react'\n\nimport MapContext from './map-context'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from './utils/helper'\n\nconst eventMap = {\n onDblClick: 'dblclick',\n onDragEnd: 'dragend',\n onDragStart: 'dragstart',\n onMapTypeIdChanged: 'maptypeid_changed',\n onMouseMove: 'mousemove',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n onMouseDown: 'mousedown',\n onMouseUp: 'mouseup',\n onRightClick: 'rightclick',\n onTilesLoaded: 'tilesloaded',\n onBoundsChanged: 'bounds_changed',\n onCenterChanged: 'center_changed',\n onClick: 'click',\n onDrag: 'drag',\n onHeadingChanged: 'heading_changed',\n onIdle: 'idle',\n onProjectionChanged: 'projection_changed',\n onResize: 'resize',\n onTiltChanged: 'tilt_changed',\n onZoomChanged: 'zoom_changed',\n}\n\nconst updaterMap = {\n extraMapTypes(map: google.maps.Map, extra: google.maps.MapType[]): void {\n extra.forEach(function forEachExtra(it, i) {\n map.mapTypes.set(String(i), it)\n })\n },\n center(map: google.maps.Map, center: google.maps.LatLng | google.maps.LatLngLiteral): void {\n map.setCenter(center)\n },\n clickableIcons(map: google.maps.Map, clickable: boolean): void {\n map.setClickableIcons(clickable)\n },\n heading(map: google.maps.Map, heading: number): void {\n map.setHeading(heading)\n },\n mapTypeId(map: google.maps.Map, mapTypeId: string): void {\n map.setMapTypeId(mapTypeId)\n },\n options(map: google.maps.Map, options: google.maps.MapOptions): void {\n map.setOptions(options)\n },\n streetView(map: google.maps.Map, streetView: google.maps.StreetViewPanorama): void {\n map.setStreetView(streetView)\n },\n tilt(map: google.maps.Map, tilt: number): void {\n map.setTilt(tilt)\n },\n zoom(map: google.maps.Map, zoom: number): void {\n map.setZoom(zoom)\n },\n}\n\ninterface GoogleMapState {\n map: google.maps.Map | null\n}\n\nexport interface GoogleMapProps {\n id?: string\n mapContainerStyle?: React.CSSProperties\n mapContainerClassName?: string\n options?: google.maps.MapOptions\n /** Additional map types to overlay. Overlay map types will display on top of the base map they are attached to, in the order in which they appear in the overlayMapTypes array (overlays with higher index values are displayed in front of overlays with lower index values). */\n extraMapTypes?: google.maps.MapType[]\n /** The initial Map center. */\n center?: google.maps.LatLng | google.maps.LatLngLiteral\n /** When false, map icons are not clickable. A map icon represents a point of interest, also known as a POI. By default map icons are clickable. */\n clickableIcons?: boolean\n /** The heading for aerial imagery in degrees measured clockwise from cardinal direction North. Headings are snapped to the nearest available angle for which imagery is available. */\n heading?: number\n /** The initial Map mapTypeId. Defaults to ROADMAP. */\n mapTypeId?: string\n /** A StreetViewPanorama to display when the Street View pegman is dropped on the map. If no panorama is specified, a default StreetViewPanorama will be displayed in the map's div when the pegman is dropped. */\n streetView?: google.maps.StreetViewPanorama\n /** Controls the automatic switching behavior for the angle of incidence of the map. The only allowed values are 0 and 45. The value 0 causes the map to always use a 0° overhead view regardless of the zoom level and viewport. The value 45 causes the tilt angle to automatically switch to 45 whenever 45° imagery is available for the current zoom level and viewport, and switch back to 0 whenever 45° imagery is not available (this is the default behavior). 45° imagery is only available for satellite and hybrid map types, within some locations, and at some zoom levels. Note: getTilt returns the current tilt angle, not the value specified by this option. Because getTilt and this option refer to different things, do not bind() the tilt property; doing so may yield unpredictable effects. */\n tilt?: number\n /** The initial Map zoom level. Required. Valid values: Integers between zero, and up to the supported maximum zoom level. */\n zoom?: number\n /** This event is fired when the user clicks on the map. An ApiMouseEvent with properties for the clicked location is returned unless a place icon was clicked, in which case an IconMouseEvent with a placeId is returned. IconMouseEvent and ApiMouseEvent are identical, except that IconMouseEvent has the placeId field. The event can always be treated as an ApiMouseEvent when the placeId is not important. The click event is not fired if a Marker or InfoWindow was clicked. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user double-clicks on the map. Note that the click event will also fire, right before this one. */\n onDblClick?: (e: google.maps.MouseEvent) => void\n /** This event is repeatedly fired while the user drags the map. */\n onDrag?: () => void\n /** This event is fired when the user stops dragging the map. */\n onDragEnd?: () => void\n /** This event is fired when the user starts dragging the map. */\n onDragStart?: () => void\n /** This event is fired when the mapTypeId property changes. */\n onMapTypeIdChanged?: () => void\n /** This event is fired whenever the user's mouse moves over the map container. */\n onMouseMove?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user's mouse exits the map container. */\n onMouseOut?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user's mouse enters the map container. */\n onMouseOver?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM contextmenu event is fired on the map container. */\n onRightClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the visible tiles have finished loading. */\n onTilesLoaded?: () => void\n /** This event is fired when the viewport bounds have changed. */\n onBoundsChanged?: () => void\n /** This event is fired when the map center property changes. */\n onCenterChanged?: () => void\n /** This event is fired when the map heading property changes. */\n onHeadingChanged?: () => void\n /** This event is fired when the map becomes idle after panning or zooming. */\n onIdle?: () => void\n /** This event is fired when the projection has changed. */\n onProjectionChanged?: () => void\n /** This event is fired when the map size has changed. */\n onResize?: () => void\n /** This event is fired when the map tilt property changes. */\n onTiltChanged?: () => void\n /** This event is fired when the map zoom property changes. */\n onZoomChanged?: () => void\n /** This callback is called when the map instance has loaded. It is called with the map instance. */\n onLoad?: (map: google.maps.Map) => void | Promise\n /** This callback is called when the component unmounts. It is called with the map instance. */\n onUnmount?: (map: google.maps.Map) => void | Promise\n}\n\nexport class GoogleMap extends React.PureComponent {\n state: GoogleMapState = {\n map: null,\n }\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n mapRef: Element | null = null\n\n getInstance = (): google.maps.Map | null => {\n if (this.mapRef === null) {\n return null\n }\n\n return new google.maps.Map(this.mapRef, this.props.options)\n }\n\n panTo = (latLng: google.maps.LatLng | google.maps.LatLngLiteral): void => {\n const map = this.getInstance()\n if (map) {\n map.panTo(latLng)\n }\n }\n\n setMapCallback = (): void => {\n if (this.state.map !== null) {\n if (this.props.onLoad) {\n this.props.onLoad(this.state.map)\n }\n }\n }\n\n componentDidMount(): void {\n const map = this.getInstance()\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: map,\n })\n\n this.setState(function setMap() {\n return {\n map,\n }\n }, this.setMapCallback)\n }\n\n componentDidUpdate(prevProps: GoogleMapProps): void {\n if (this.state.map !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.map,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.map !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.map)\n }\n\n unregisterEvents(this.registeredEvents)\n }\n }\n\n getRef = (ref: HTMLDivElement | null): void => {\n this.mapRef = ref\n }\n\n render(): React.ReactNode {\n return (\n \n \n {this.state.map !== null ? this.props.children : <>}\n \n \n )\n }\n}\n\nexport default GoogleMap\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","export const isBrowser: boolean = typeof document !== 'undefined'\n","import { isBrowser } from './isbrowser'\n\ninterface WindowWithGoogleMap extends Window {\n initMap?: () => void\n}\n\ninterface InjectScriptArg {\n url: string\n id: string\n nonce?: string\n}\n\nexport const injectScript = ({ url, id, nonce }: InjectScriptArg): Promise => {\n if (!isBrowser) {\n return Promise.reject(new Error('document is undefined'))\n }\n\n return new Promise(function injectScriptCallback(resolve, reject) {\n const existingScript = document.getElementById(id) as HTMLScriptElement | undefined\n const windowWithGoogleMap: WindowWithGoogleMap = window\n if (existingScript) {\n // Same script id/url: keep same script\n const dataStateAttribute = existingScript.getAttribute('data-state')\n if (existingScript.src === url && dataStateAttribute !== 'error') {\n if (dataStateAttribute === 'ready') {\n return resolve(id)\n } else {\n const originalInitMap = windowWithGoogleMap.initMap\n const originalErrorCallback = existingScript.onerror\n\n windowWithGoogleMap.initMap = function initMap(): void {\n if (originalInitMap) {\n originalInitMap()\n }\n resolve(id)\n }\n\n existingScript.onerror = function(err): void {\n if (originalErrorCallback) {\n originalErrorCallback(err)\n }\n reject(err)\n }\n\n return\n }\n }\n // Same script id, but either\n // 1. requested URL is different\n // 2. script failed to load\n else {\n existingScript.remove()\n }\n }\n\n const script = document.createElement('script')\n\n script.type = 'text/javascript'\n script.src = url\n script.id = id\n script.async = true\n script.nonce = nonce\n script.onerror = function onerror(err): void {\n script.setAttribute('data-state', 'error')\n reject(err)\n }\n\n windowWithGoogleMap.initMap = function onload(): void {\n script.setAttribute('data-state', 'ready')\n resolve(id)\n }\n\n document.head.appendChild(script)\n }).catch(err => {\n console.error('injectScript error: ', err)\n throw err\n })\n}\n","const isRobotoStyle = (element: HTMLElement): boolean => {\n // roboto font download\n if (\n (element as HTMLLinkElement).href &&\n (element as HTMLLinkElement).href.indexOf('https://fonts.googleapis.com/css?family=Roboto') ===\n 0\n ) {\n return true\n }\n // roboto style elements\n if (\n element.tagName.toLowerCase() === 'style' &&\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n element.styleSheet &&\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n element.styleSheet.cssText &&\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n element.styleSheet.cssText.replace('\\r\\n', '').indexOf('.gm-style') === 0\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n element.styleSheet.cssText = ''\n return true\n }\n // roboto style elements for other browsers\n if (\n element.tagName.toLowerCase() === 'style' &&\n element.innerHTML &&\n element.innerHTML.replace('\\r\\n', '').indexOf('.gm-style') === 0\n ) {\n element.innerHTML = ''\n return true\n }\n // when google tries to add empty style\n if (\n element.tagName.toLowerCase() === 'style' &&\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n !element.styleSheet &&\n !element.innerHTML\n ) {\n return true\n }\n\n return false\n}\n\n// Preventing the Google Maps library from downloading an extra font\nexport const preventGoogleFonts = (): void => {\n // we override these methods only for one particular head element\n // default methods for other elements are not affected\n const head = document.getElementsByTagName('head')[0]\n\n const trueInsertBefore = head.insertBefore.bind(head)\n\n // TODO: adding return before reflect solves the TS issue\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n head.insertBefore = function insertBefore(\n newElement: HTMLElement,\n referenceElement: HTMLElement\n ): void {\n if (!isRobotoStyle(newElement)) {\n Reflect.apply(trueInsertBefore, head, [newElement, referenceElement])\n }\n }\n\n const trueAppend = head.appendChild.bind(head)\n\n // TODO: adding return before reflect solves the TS issue\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n head.appendChild = function appendChild(textNode: HTMLElement): void {\n if (!isRobotoStyle(textNode)) {\n Reflect.apply(trueAppend, head, [textNode])\n }\n }\n}\n","import invariant from 'invariant'\n\nexport type Libraries = (\"drawing\" | \"geometry\" | \"localContext\" | \"places\" | \"visualization\")[]\n\nexport interface LoadScriptUrlOptions {\n googleMapsApiKey: string | \"\"\n googleMapsClientId?: string\n version?: string\n language?: string\n region?: string\n libraries?: Libraries\n channel?: string\n mapIds?: string[]\n}\n\nexport function makeLoadScriptUrl({\n googleMapsApiKey,\n googleMapsClientId,\n version = 'weekly',\n language,\n region,\n libraries,\n channel,\n mapIds\n}: LoadScriptUrlOptions): string {\n const params = []\n\n invariant(\n (googleMapsApiKey && googleMapsClientId) || !(googleMapsApiKey && googleMapsClientId),\n 'You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time.'\n )\n\n if (googleMapsApiKey) {\n params.push(`key=${googleMapsApiKey}`)\n } else if (googleMapsClientId) {\n params.push(`client=${googleMapsClientId}`)\n }\n\n if (version) {\n params.push(`v=${version}`)\n }\n\n if (language) {\n params.push(`language=${language}`)\n }\n\n if (region) {\n params.push(`region=${region}`)\n }\n\n if (libraries && libraries.length) {\n params.push(`libraries=${libraries.sort().join(',')}`)\n }\n\n if (channel) {\n params.push(`channel=${channel}`)\n }\n\n if (mapIds && mapIds.length) {\n params.push(`map_ids=${mapIds.join(',')}`)\n }\n\n params.push('callback=initMap')\n\n return `https://maps.googleapis.com/maps/api/js?${params.join('&')}`\n}\n","import * as React from 'react'\nimport invariant from 'invariant'\n\nimport { injectScript } from './utils/injectscript'\nimport { preventGoogleFonts } from './utils/prevent-google-fonts'\n\nimport { isBrowser } from './utils/isbrowser'\nimport { LoadScriptUrlOptions, makeLoadScriptUrl } from './utils/make-load-script-url'\n\nlet cleaningUp = false\n\ninterface LoadScriptState {\n loaded: boolean\n}\n\nexport interface LoadScriptProps extends LoadScriptUrlOptions {\n id: string\n nonce?: string\n loadingElement?: React.ReactNode\n onLoad?: () => void\n onError?: (error: Error) => void\n onUnmount?: () => void\n preventGoogleFontsLoading?: boolean\n}\n\nexport function DefaultLoadingElement(): JSX.Element {\n return
{`Loading...`}
\n}\n\nexport const defaultLoadScriptProps = {\n id: 'script-loader',\n version: 'weekly',\n}\n\nclass LoadScript extends React.PureComponent {\n public static defaultProps = defaultLoadScriptProps\n\n check: React.RefObject = React.createRef()\n\n state = {\n loaded: false,\n }\n\n cleanupCallback = (): void => {\n // @ts-ignore\n delete window.google.maps\n\n this.injectScript()\n }\n\n componentDidMount(): void {\n if (isBrowser) {\n if (window.google && window.google.maps && !cleaningUp) {\n console.error('google api is already presented')\n\n return\n }\n\n this.isCleaningUp()\n .then(this.injectScript)\n .catch(function error(err) {\n console.error('Error at injecting script after cleaning up: ', err)\n })\n }\n }\n\n componentDidUpdate(prevProps: LoadScriptProps): void {\n if (this.props.libraries !== prevProps.libraries) {\n console.warn(\n 'Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables'\n )\n }\n\n if (isBrowser && prevProps.language !== this.props.language) {\n this.cleanup()\n // TODO: refactor to use gDSFP maybe... wait for hooks refactoring.\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(function setLoaded() {\n return {\n loaded: false,\n }\n }, this.cleanupCallback)\n }\n }\n\n componentWillUnmount(): void {\n if (isBrowser) {\n this.cleanup()\n\n const timeoutCallback = (): void => {\n if (!this.check.current) {\n // @ts-ignore\n delete window.google\n cleaningUp = false\n }\n }\n\n window.setTimeout(timeoutCallback, 1)\n\n if (this.props.onUnmount) {\n this.props.onUnmount()\n }\n }\n }\n\n isCleaningUp = async (): Promise => {\n function promiseCallback(resolve: () => void): void {\n if (!cleaningUp) {\n resolve()\n } else {\n if (isBrowser) {\n const timer = window.setInterval(function interval() {\n if (!cleaningUp) {\n window.clearInterval(timer)\n\n resolve()\n }\n }, 1)\n }\n }\n\n return\n }\n\n return new Promise(promiseCallback)\n }\n\n cleanup = (): void => {\n cleaningUp = true\n const script = document.getElementById(this.props.id)\n\n if (script && script.parentNode) {\n script.parentNode.removeChild(script)\n }\n\n Array.prototype.slice\n .call(document.getElementsByTagName('script'))\n .filter(function filter(script: HTMLScriptElement): boolean {\n return typeof script.src === 'string' && script.src.includes('maps.googleapis')\n })\n .forEach(function forEach(script: HTMLScriptElement): void {\n if (script.parentNode) {\n script.parentNode.removeChild(script)\n }\n })\n\n Array.prototype.slice\n .call(document.getElementsByTagName('link'))\n .filter(function filter(link: HTMLLinkElement): boolean {\n return (\n link.href === 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans'\n )\n })\n .forEach(function forEach(link: HTMLLinkElement) {\n if (link.parentNode) {\n link.parentNode.removeChild(link)\n }\n })\n\n Array.prototype.slice\n .call(document.getElementsByTagName('style'))\n .filter(function filter(style: HTMLStyleElement): boolean {\n return (\n style.innerText !== undefined &&\n style.innerText.length > 0 &&\n style.innerText.includes('.gm-')\n )\n })\n .forEach(function forEach(style: HTMLStyleElement) {\n if (style.parentNode) {\n style.parentNode.removeChild(style)\n }\n })\n }\n\n injectScript = (): void => {\n if (this.props.preventGoogleFontsLoading) {\n preventGoogleFonts()\n }\n\n invariant(!!this.props.id, 'LoadScript requires \"id\" prop to be a string: %s', this.props.id)\n\n const injectScriptOptions = {\n id: this.props.id,\n nonce: this.props.nonce,\n url: makeLoadScriptUrl(this.props),\n }\n\n injectScript(injectScriptOptions)\n .then(() => {\n if (this.props.onLoad) {\n this.props.onLoad()\n }\n\n this.setState(function setLoaded() {\n return {\n loaded: true,\n }\n })\n\n return\n })\n .catch(err => {\n if (this.props.onError) {\n this.props.onError(err)\n }\n\n console.error(`\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (${this\n .props.googleMapsApiKey || '-'}) or Client ID (${this.props.googleMapsClientId ||\n '-'}) to \n Otherwise it is a Network issue.\n `)\n })\n }\n\n render(): React.ReactNode {\n return (\n <>\n
\n\n {this.state.loaded\n ? this.props.children\n : this.props.loadingElement || }\n \n )\n }\n}\n\nexport default LoadScript\n","import { PureComponent } from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\nimport MapContext from '../../map-context'\n\nconst eventMap = {}\n\nconst updaterMap = {\n options(instance: google.maps.TrafficLayer, options: google.maps.TrafficLayerOptions): void {\n instance.setOptions(options)\n },\n}\n\ninterface TrafficLayerState {\n trafficLayer: google.maps.TrafficLayer | null\n}\n\nexport interface TrafficLayerProps {\n options?: google.maps.TrafficLayerOptions\n /** This callback is called when the trafficLayer instance has loaded. It is called with the trafficLayer instance. */\n onLoad?: (trafficLayer: google.maps.TrafficLayer) => void\n /** This callback is called when the component unmounts. It is called with the trafficLayer instance. */\n onUnmount?: (trafficLayer: google.maps.TrafficLayer) => void\n}\n\nexport class TrafficLayer extends PureComponent {\n static contextType = MapContext\n\n state = {\n trafficLayer: null,\n }\n\n setTrafficLayerCallback = () => {\n if (this.state.trafficLayer !== null) {\n if (this.props.onLoad) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.props.onLoad(this.state.trafficLayer)\n }\n }\n }\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n componentDidMount(): void {\n const trafficLayer = new google.maps.TrafficLayer({\n ...(this.props.options || {}),\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: trafficLayer,\n })\n\n this.setState(function setTrafficLayer() {\n return {\n trafficLayer,\n }\n }, this.setTrafficLayerCallback)\n }\n\n componentDidUpdate(prevProps: TrafficLayerProps): void {\n if (this.state.trafficLayer !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.trafficLayer,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.trafficLayer !== null) {\n if (this.props.onUnmount) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.props.onUnmount(this.state.trafficLayer)\n }\n\n unregisterEvents(this.registeredEvents)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.state.trafficLayer.setMap(null)\n }\n }\n\n render() {\n return null\n }\n}\n\nexport default TrafficLayer\n","import * as React from 'react'\n\nimport MapContext from '../../map-context'\n\ninterface BicyclingLayerState {\n bicyclingLayer: google.maps.BicyclingLayer | null\n}\n\nexport interface BicyclingLayerProps {\n /** This callback is called when the bicyclingLayer instance has loaded. It is called with the bicyclingLayer instance. */\n onLoad?: (bicyclingLayer: google.maps.BicyclingLayer) => void\n /** This callback is called when the component unmounts. It is called with the bicyclingLayer instance. */\n onUnmount?: (bicyclingLayer: google.maps.BicyclingLayer) => void\n}\n\nexport class BicyclingLayer extends React.PureComponent {\n static contextType = MapContext\n\n state = {\n bicyclingLayer: null,\n }\n\n setBicyclingLayerCallback = (): void => {\n if (this.state.bicyclingLayer !== null) {\n // TODO: how is this possibly null if we're doing a null check\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.state.bicyclingLayer.setMap(this.context)\n\n if (this.props.onLoad) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.props.onLoad(this.state.bicyclingLayer)\n }\n }\n }\n\n componentDidMount(): void {\n const bicyclingLayer = new google.maps.BicyclingLayer()\n\n this.setState(function setBicyclingLayer() {\n return {\n bicyclingLayer,\n }\n }, this.setBicyclingLayerCallback)\n }\n\n componentWillUnmount(): void {\n if (this.state.bicyclingLayer !== null) {\n if (this.props.onUnmount) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.props.onUnmount(this.state.bicyclingLayer)\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.state.bicyclingLayer.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default BicyclingLayer\n","import * as React from 'react'\n\nimport MapContext from '../../map-context'\n\ninterface TransitLayerState {\n transitLayer: google.maps.TransitLayer | null\n}\n\nexport interface TransitLayerProps {\n /** This callback is called when the transitLayer instance has loaded. It is called with the transitLayer instance. */\n onLoad?: (transitLayer: google.maps.TransitLayer) => void\n /** This callback is called when the component unmounts. It is called with the transitLayer instance. */\n onUnmount?: (transitLayer: google.maps.TransitLayer) => void\n}\n\nexport class TransitLayer extends React.PureComponent {\n static contextType = MapContext\n\n state = {\n transitLayer: null,\n }\n\n setTransitLayerCallback = (): void => {\n if (this.state.transitLayer !== null) {\n // TODO: how is this possibly null if we're doing a null check\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.state.transitLayer.setMap(this.context)\n\n if (this.props.onLoad) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.props.onLoad(this.state.transitLayer)\n }\n }\n }\n\n componentDidMount(): void {\n const transitLayer = new google.maps.TransitLayer()\n\n this.setState(function setTransitLayer() {\n return {\n transitLayer,\n }\n }, this.setTransitLayerCallback)\n }\n\n componentWillUnmount(): void {\n if (this.state.transitLayer !== null) {\n if (this.props.onUnmount) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.props.onUnmount(this.state.transitLayer)\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.state.transitLayer.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default TransitLayer\n","/* globals google */\nimport * as React from 'react'\n\nimport invariant from 'invariant'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onCircleComplete: 'circlecomplete',\n onMarkerComplete: 'markercomplete',\n onOverlayComplete: 'overlaycomplete',\n onPolygonComplete: 'polygoncomplete',\n onPolylineComplete: 'polylinecomplete',\n onRectangleComplete: 'rectanglecomplete',\n}\n\nconst updaterMap = {\n drawingMode(\n instance: google.maps.drawing.DrawingManager,\n drawingMode: google.maps.drawing.OverlayType | null\n ): void {\n instance.setDrawingMode(drawingMode)\n },\n options(\n instance: google.maps.drawing.DrawingManager,\n options: google.maps.drawing.DrawingManagerOptions\n ): void {\n instance.setOptions(options)\n },\n}\n\ninterface DrawingManagerState {\n drawingManager: google.maps.drawing.DrawingManager | null\n}\n\nexport interface DrawingManagerProps {\n options?: google.maps.drawing.DrawingManagerOptions\n /** Changes the DrawingManager's drawing mode, which defines the type of overlay to be added on the map. Accepted values are 'marker', 'polygon', 'polyline', 'rectangle', 'circle', or null. A drawing mode of null means that the user can interact with the map as normal, and clicks do not draw anything. */\n drawingMode?: google.maps.drawing.OverlayType | null\n /** This event is fired when the user has finished drawing a circle. */\n onCircleComplete?: (circle: google.maps.Circle) => void\n /** This event is fired when the user has finished drawing a marker. */\n onMarkerComplete?: (marker: google.maps.Marker) => void\n /** This event is fired when the user has finished drawing an overlay of any type. */\n onOverlayComplete?: (e: google.maps.drawing.OverlayCompleteEvent) => void\n /** This event is fired when the user has finished drawing a polygon. */\n onPolygonComplete?: (polygon: google.maps.Polygon) => void\n /** This event is fired when the user has finished drawing a polyline. */\n onPolylineComplete?: (polyline: google.maps.Polyline) => void\n /** This event is fired when the user has finished drawing a rectangle. */\n onRectangleComplete?: (rectangle: google.maps.Rectangle) => void\n /** This callback is called when the drawingManager instance has loaded. It is called with the drawingManager instance. */\n onLoad?: (drawingManager: google.maps.drawing.DrawingManager) => void\n /** This callback is called when the component unmounts. It is called with the drawingManager instance. */\n onUnmount?: (drawingManager: google.maps.drawing.DrawingManager) => void\n}\n\nexport class DrawingManager extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: DrawingManagerState = {\n drawingManager: null,\n }\n\n constructor(props: DrawingManagerProps) {\n super(props)\n\n invariant(\n !!google.maps.drawing,\n `Did you include prop libraries={['drawing']} in the URL? %s`,\n google.maps.drawing\n )\n }\n\n setDrawingManagerCallback = (): void => {\n if (this.state.drawingManager !== null && this.props.onLoad) {\n this.props.onLoad(this.state.drawingManager)\n }\n }\n\n componentDidMount(): void {\n const drawingManager = new google.maps.drawing.DrawingManager({\n ...(this.props.options || {}),\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: drawingManager,\n })\n\n this.setState(function setDrawingManager() {\n return {\n drawingManager,\n }\n }, this.setDrawingManagerCallback)\n }\n\n componentDidUpdate(prevProps: DrawingManagerProps): void {\n if (this.state.drawingManager !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.drawingManager,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.drawingManager !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.drawingManager)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.drawingManager.setMap(null)\n }\n }\n\n render(): JSX.Element {\n return <>\n }\n}\n\nexport default DrawingManager\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\nimport { HasMarkerAnchor } from '../../types'\n\nimport { Clusterer } from '@react-google-maps/marker-clusterer'\nimport { ReactNode } from 'react'\n\nconst eventMap = {\n onAnimationChanged: 'animation_changed',\n onClick: 'click',\n onClickableChanged: 'clickable_changed',\n onCursorChanged: 'cursor_changed',\n onDblClick: 'dblclick',\n onDrag: 'drag',\n onDragEnd: 'dragend',\n onDraggableChanged: 'draggable_changed',\n onDragStart: 'dragstart',\n onFlatChanged: 'flat_changed',\n onIconChanged: 'icon_changed',\n onMouseDown: 'mousedown',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n onMouseUp: 'mouseup',\n onPositionChanged: 'position_changed',\n onRightClick: 'rightclick',\n onShapeChanged: 'shape_changed',\n onTitleChanged: 'title_changed',\n onVisibleChanged: 'visible_changed',\n onZindexChanged: 'zindex_changed',\n}\n\nconst updaterMap = {\n animation(instance: google.maps.Marker, animation: google.maps.Animation): void {\n instance.setAnimation(animation)\n },\n clickable(instance: google.maps.Marker, clickable: boolean): void {\n instance.setClickable(clickable)\n },\n cursor(instance: google.maps.Marker, cursor: string): void {\n instance.setCursor(cursor)\n },\n draggable(instance: google.maps.Marker, draggable: boolean): void {\n instance.setDraggable(draggable)\n },\n icon(instance: google.maps.Marker, icon: string | google.maps.Icon | google.maps.Symbol): void {\n instance.setIcon(icon)\n },\n label(instance: google.maps.Marker, label: string | google.maps.MarkerLabel): void {\n instance.setLabel(label)\n },\n map(instance: google.maps.Marker, map: google.maps.Map): void {\n instance.setMap(map)\n },\n opacity(instance: google.maps.Marker, opacity: number): void {\n instance.setOpacity(opacity)\n },\n options(instance: google.maps.Marker, options: google.maps.MarkerOptions): void {\n instance.setOptions(options)\n },\n position(\n instance: google.maps.Marker,\n position: google.maps.LatLng | google.maps.LatLngLiteral\n ): void {\n instance.setPosition(position)\n },\n shape(instance: google.maps.Marker, shape: google.maps.MarkerShape): void {\n instance.setShape(shape)\n },\n title(instance: google.maps.Marker, title: string): void {\n instance.setTitle(title)\n },\n visible(instance: google.maps.Marker, visible: boolean): void {\n instance.setVisible(visible)\n },\n zIndex(instance: google.maps.Marker, zIndex: number): void {\n instance.setZIndex(zIndex)\n },\n}\n\ninterface MarkerState {\n marker: google.maps.Marker | null\n}\n\nexport interface MarkerProps {\n options?: google.maps.MarkerOptions\n /** Start an animation. Any ongoing animation will be cancelled. Currently supported animations are: BOUNCE, DROP. Passing in null will cause any animation to stop. */\n animation?: google.maps.Animation\n /** If true, the marker receives mouse and touch events. Default value is true. */\n clickable?: boolean\n /** Mouse cursor to show on hover */\n cursor?: string\n /** If true, the marker can be dragged. Default value is false. */\n draggable?: boolean\n /** Icon for the foreground. If a string is provided, it is treated as though it were an Icon with the string as url. */\n icon?: string | google.maps.Icon | google.maps.Symbol\n /** Adds a label to the marker. The label can either be a string, or a MarkerLabel object. */\n label?: string | google.maps.MarkerLabel\n /** The marker's opacity between 0.0 and 1.0. */\n opacity?: number\n\n // required\n /** Marker position. */\n position: google.maps.LatLng | google.maps.LatLngLiteral\n /** Image map region definition used for drag/click. */\n shape?: google.maps.MarkerShape\n /** Rollover text */\n title?: string\n /** If true, the marker is visible */\n visible?: boolean\n /** All markers are displayed on the map in order of their zIndex, with higher values displaying in front of markers with lower values. By default, markers are displayed according to their vertical position on screen, with lower markers appearing in front of markers further up the screen. */\n zIndex?: number\n /** Render prop that handles clustering markers */\n clusterer?: Clusterer\n /** Clusters are redrawn when a Marker is added unless noClustererRedraw? is set to true. */\n noClustererRedraw?: boolean\n /** This event is fired when the marker icon was clicked. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the marker's clickable property changes. */\n onClickableChanged?: () => void\n /** This event is fired when the marker's cursor property changes. */\n onCursorChanged?: () => void\n /** This event is fired when the marker's animation property changes. */\n onAnimationChanged?: () => void\n /** This event is fired when the marker icon was double clicked. */\n onDblClick?: (e: google.maps.MouseEvent) => void\n /** This event is repeatedly fired while the user drags the marker. */\n onDrag?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user stops dragging the marker. */\n onDragEnd?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the marker's draggable property changes. */\n onDraggableChanged?: () => void\n /** This event is fired when the user starts dragging the marker. */\n onDragStart?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the marker's flat property changes. */\n onFlatChanged?: () => void\n /** This event is fired when the marker icon property changes. */\n onIconChanged?: () => void\n /** This event is fired for a mousedown on the marker. */\n onMouseDown?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the mouse leaves the area of the marker icon. */\n onMouseOut?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the mouse enters the area of the marker icon. */\n onMouseOver?: (e: google.maps.MouseEvent) => void\n /** This event is fired for a mouseup on the marker. */\n onMouseUp?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the marker position property changes. */\n onPositionChanged?: () => void\n /** This event is fired for a rightclick on the marker. */\n onRightClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the marker's shape property changes. */\n onShapeChanged?: () => void\n /** This event is fired when the marker title property changes. */\n onTitleChanged?: () => void\n /** This event is fired when the marker's visible property changes. */\n onVisibleChanged?: () => void\n /** This event is fired when the marker's zIndex property changes. */\n onZindexChanged?: () => void\n /** This callback is called when the marker instance has loaded. It is called with the marker instance. */\n onLoad?: (marker: google.maps.Marker) => void\n /** This callback is called when the component unmounts. It is called with the marker instance. */\n onUnmount?: (marker: google.maps.Marker) => void\n}\n\nexport class Marker extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: MarkerState = {\n marker: null,\n }\n\n setMarkerCallback = (): void => {\n if (this.state.marker !== null && this.props.onLoad) {\n this.props.onLoad(this.state.marker)\n }\n }\n\n componentDidMount(): void {\n const markerOptions = {\n ...(this.props.options || {}),\n ...(this.props.clusterer ? {} : { map: this.context }),\n position: this.props.position,\n }\n\n const marker = new google.maps.Marker(markerOptions)\n\n if (this.props.clusterer) {\n this.props.clusterer.addMarker(\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n marker,\n !!this.props.noClustererRedraw\n )\n } else {\n marker.setMap(this.context)\n }\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: marker,\n })\n\n this.setState(function setMarker() {\n return {\n marker,\n }\n }, this.setMarkerCallback)\n }\n\n componentDidUpdate(prevProps: MarkerProps): void {\n if (this.state.marker !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.marker,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.marker !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.marker)\n }\n\n unregisterEvents(this.registeredEvents)\n\n if (this.props.clusterer) {\n this.props.clusterer.removeMarker(\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.state.marker,\n !!this.props.noClustererRedraw\n )\n } else {\n this.state.marker && this.state.marker.setMap(null)\n }\n }\n }\n\n render(): React.ReactNode {\n let children: ReactNode | null = null\n if(this.props.children) {\n children = React.Children.map(this.props.children, child => {\n if(!React.isValidElement(child)) {\n return child;\n }\n\n let elementChild: React.ReactElement = child;\n return React.cloneElement(elementChild, {anchor: this.state.marker});\n })\n }\n return children || null\n }\n}\n\nexport default Marker\n","/* eslint-disable filenames/match-exported */\nimport * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nimport {\n Clusterer,\n ClusterIconStyle,\n Cluster,\n ClustererOptions,\n TCalculator,\n} from '@react-google-maps/marker-clusterer'\n\nconst eventMap = {\n onClick: 'click',\n onClusteringBegin: 'clusteringbegin',\n onClusteringEnd: 'clusteringend',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n}\n\nconst updaterMap = {\n averageCenter(instance: Clusterer, averageCenter: boolean): void {\n instance.setAverageCenter(averageCenter)\n },\n\n batchSizeIE(instance: Clusterer, batchSizeIE: number): void {\n instance.setBatchSizeIE(batchSizeIE)\n },\n\n calculator(instance: Clusterer, calculator: any): void {\n instance.setCalculator(calculator)\n },\n\n clusterClass(instance: Clusterer, clusterClass: string): void {\n instance.setClusterClass(clusterClass)\n },\n\n enableRetinaIcons(instance: Clusterer, enableRetinaIcons: boolean): void {\n instance.setEnableRetinaIcons(enableRetinaIcons)\n },\n\n gridSize(instance: Clusterer, gridSize: number): void {\n instance.setGridSize(gridSize)\n },\n\n ignoreHidden(instance: Clusterer, ignoreHidden: boolean): void {\n instance.setIgnoreHidden(ignoreHidden)\n },\n\n imageExtension(instance: Clusterer, imageExtension: string): void {\n instance.setImageExtension(imageExtension)\n },\n\n imagePath(instance: Clusterer, imagePath: string): void {\n instance.setImagePath(imagePath)\n },\n\n imageSizes(instance: Clusterer, imageSizes: number[]): void {\n instance.setImageSizes(imageSizes)\n },\n\n maxZoom(instance: Clusterer, maxZoom: number): void {\n instance.setMaxZoom(maxZoom)\n },\n\n minimumClusterSize(instance: Clusterer, minimumClusterSize: number): void {\n instance.setMinimumClusterSize(minimumClusterSize)\n },\n\n styles(instance: Clusterer, styles: ClusterIconStyle[]): void {\n instance.setStyles(styles)\n },\n\n title(instance: Clusterer, title: string): void {\n instance.setTitle(title)\n },\n\n zoomOnClick(instance: Clusterer, zoomOnClick: boolean): void {\n instance.setZoomOnClick(zoomOnClick)\n },\n}\n\ninterface ClustererState {\n markerClusterer: Clusterer | null\n}\n\nexport interface ClustererProps {\n // required\n children: (markerClusterer: Clusterer) => React.ReactNode\n\n options?: ClustererOptions // TODO: it could be undefined\n /** Whether the position of a cluster marker should be the average position of all markers in the cluster. If set to false, the cluster marker is positioned at the location of the first marker added to the cluster. The default value is false. */\n averageCenter?: boolean\n /** When Internet Explorer is being used, markers are processed in several batches with a small delay inserted between each batch in an attempt to avoid Javascript timeout errors. Set this property to the number of markers to be processed in a single batch; select as high a number as you can without causing a timeout error in the browser. This number might need to be as low as 100 if 15,000 markers are being managed, for example. The default value is MarkerClusterer.BATCH_SIZE_IE. */\n batchSizeIE?: number\n /** The function used to determine the text to be displayed on a cluster marker and the index indicating which style to use for the cluster marker. The input parameters for the function are (1) the array of markers represented by a cluster marker and (2) the number of cluster icon styles. It returns a ClusterIconInfo object. The default calculator returns a text property which is the number of markers in the cluster and an index property which is one higher than the lowest integer such that 10^i exceeds the number of markers in the cluster, or the size of the styles array, whichever is less. The styles array element used has an index of index minus 1. For example, the default calculator returns a text value of \"125\" and an index of 3 for a cluster icon representing 125 markers so the element used in the styles array is 2. A calculator may also return a title property that contains the text of the tooltip to be used for the cluster marker. If title is not defined, the tooltip is set to the value of the title property for the MarkerClusterer. The default value is MarkerClusterer.CALCULATOR. */\n calculator?: TCalculator\n /** The name of the CSS class defining general styles for the cluster markers. Use this class to define CSS styles that are not set up by the code that processes the styles array. The default value is \"cluster\". */\n clusterClass?: string\n /** Whether to allow the use of cluster icons that have sizes that are some multiple (typically double) of their actual display size. Icons such as these look better when viewed on high-resolution monitors such as Apple's Retina displays. Note: if this property is true, sprites cannot be used as cluster icons. The default value is false. */\n enableRetinaIcons?: boolean\n /** The grid size of a cluster in pixels. The grid is a square. The default value is 60. */\n gridSize?: number\n /** Whether to ignore hidden markers in clusters. You may want to set this to true to ensure that hidden markers are not included in the marker count that appears on a cluster marker (this count is the value of the text property of the result returned by the default calculator). If set to true and you change the visibility of a marker being clustered, be sure to also call MarkerClusterer.repaint(). The default value is false. */\n ignoreHidden?: boolean\n /** The extension name for the cluster icon image files (e.g., \"png\" or \"jpg\"). The default value is MarkerClusterer.IMAGE_EXTENSION. */\n imageExtension?: string\n /** The full URL of the root name of the group of image files to use for cluster icons. The complete file name is of the form imagePath.imageExtension where n is the image file number (1, 2, etc.). The default value is MarkerClusterer.IMAGE_PATH. */\n imagePath?: string\n /** An array of numbers containing the widths of the group of imagePath.imageExtension image files. (The images are assumed to be square.) The default value is MarkerClusterer.IMAGE_SIZES. */\n imageSizes?: number[]\n /** The maximum zoom level at which clustering is enabled or null if clustering is to be enabled at all zoom levels. The default value is null. */\n maxZoom?: number\n /** The minimum number of markers needed in a cluster before the markers are hidden and a cluster marker appears. The default value is 2. */\n minimumClusterSize?: number\n /** An array of ClusterIconStyle elements defining the styles of the cluster markers to be used. The element to be used to style a given cluster marker is determined by the function defined by the calculator property. The default is an array of ClusterIconStyle elements whose properties are derived from the values for imagePath, imageExtension, and imageSizes. */\n styles?: ClusterIconStyle[]\n /** The tooltip to display when the mouse moves over a cluster marker. (Alternatively, you can use a custom calculator function to specify a different tooltip for each cluster marker.) The default value is \"\". */\n title?: string\n /** Whether to zoom the map when a cluster marker is clicked. You may want to set this to false if you have installed a handler for the click event and it deals with zooming on its own. The default value is true. */\n zoomOnClick?: boolean\n /** This event is fired when a cluster marker is clicked. */\n onClick?: (cluster: Cluster) => void\n /** This event is fired when the MarkerClusterer begins clustering markers. */\n onClusteringBegin?: (markerClusterer: Clusterer) => void\n /** This event is fired when the MarkerClusterer stops clustering markers. */\n onClusteringEnd?: (markerClusterer: Clusterer) => void\n /** \tThis event is fired when the mouse moves over a cluster marker. */\n onMouseOver?: (cluster: Cluster) => void\n /** This event is fired when the mouse moves out of a cluster marker. */\n onMouseOut?: (cluster: Cluster) => void\n /** This callback is called when the markerClusterer instance has loaded. It is called with the markerClusterer instance. */\n onLoad?: (markerClusterer: Clusterer) => void\n /** This callback is called when the component unmounts. It is called with the markerClusterer instance. */\n onUnmount?: (markerClusterer: Clusterer) => void\n}\n\nexport class ClustererComponent extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: ClustererState = {\n markerClusterer: null,\n }\n\n setClustererCallback = (): void => {\n if (this.state.markerClusterer !== null && this.props.onLoad) {\n this.props.onLoad(this.state.markerClusterer)\n }\n }\n\n componentDidMount(): void {\n if (this.context) {\n const markerClusterer = new Clusterer(this.context, [], this.props.options)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: markerClusterer,\n })\n\n this.setState(function setClusterer(): ClustererState {\n return {\n markerClusterer,\n }\n }, this.setClustererCallback)\n }\n }\n\n componentDidUpdate(prevProps: ClustererProps): void {\n if (this.state.markerClusterer) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.markerClusterer,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.markerClusterer !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.markerClusterer)\n }\n\n unregisterEvents(this.registeredEvents)\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.state.markerClusterer.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return this.state.markerClusterer !== null\n ? this.props.children(this.state.markerClusterer)\n : null\n }\n}\n\nexport default ClustererComponent\n","/* global google */\n/* eslint-disable filenames/match-exported */\nimport * as React from 'react'\nimport * as ReactDOM from 'react-dom'\nimport invariant from 'invariant'\nimport {\n InfoBox as GoogleMapsInfoBox,\n InfoBoxOptions as GoogleMapsInfoBoxOptions,\n} from '@react-google-maps/infobox'\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onCloseClick: 'closeclick',\n onContentChanged: 'content_changed',\n onDomReady: 'domready',\n onPositionChanged: 'position_changed',\n onZindexChanged: 'zindex_changed',\n}\n\nconst updaterMap = {\n options(instance: GoogleMapsInfoBox, options: GoogleMapsInfoBoxOptions): void {\n instance.setOptions(options)\n },\n position(\n instance: GoogleMapsInfoBox,\n position: google.maps.LatLng | google.maps.LatLngLiteral\n ): void {\n if (position instanceof google.maps.LatLng) {\n instance.setPosition(position)\n } else {\n instance.setPosition(new google.maps.LatLng(position.lat, position.lng))\n }\n },\n visible(instance: GoogleMapsInfoBox, visible: boolean): void {\n instance.setVisible(visible)\n },\n zIndex(instance: GoogleMapsInfoBox, zIndex: number): void {\n instance.setZIndex(zIndex)\n },\n}\n\ntype InfoBoxOptions = Omit & {\n position?: google.maps.LatLng | google.maps.LatLngLiteral\n}\n\ninterface InfoBoxState {\n infoBox: GoogleMapsInfoBox | null\n}\n\nexport interface InfoBoxProps {\n /** Can be any MVCObject that exposes a LatLng position property and optionally a Point anchorPoint property for calculating the pixelOffset. The anchorPoint is the offset from the anchor's position to the tip of the InfoBox. */\n anchor?: google.maps.MVCObject\n options?: InfoBoxOptions\n /** The LatLng at which to display this InfoBox. If the InfoBox is opened with an anchor, the anchor's position will be used instead. */\n position?: google.maps.LatLng | google.maps.LatLngLiteral\n /** All InfoBoxes are displayed on the map in order of their zIndex, with higher values displaying in front of InfoBoxes with lower values. By default, InfoBoxes are displayed according to their latitude, with InfoBoxes of lower latitudes appearing in front of InfoBoxes at higher latitudes. InfoBoxes are always displayed in front of markers. */\n zIndex?: number\n /** This event is fired when the close button was clicked. */\n onCloseClick?: () => void\n /** This event is fired when the
containing the InfoBox's content is attached to the DOM. You may wish to monitor this event if you are building out your info window content dynamically. */\n onDomReady?: () => void\n /** This event is fired when the content property changes. */\n onContentChanged?: () => void\n /** This event is fired when the position property changes. */\n onPositionChanged?: () => void\n /** This event is fired when the InfoBox's zIndex changes. */\n onZindexChanged?: () => void\n /** This callback is called when the infoBox instance has loaded. It is called with the infoBox instance. */\n onLoad?: (infoBox: GoogleMapsInfoBox) => void\n /** This callback is called when the component unmounts. It is called with the infoBox instance. */\n onUnmount?: (infoBox: GoogleMapsInfoBox) => void\n}\n\nexport class InfoBoxComponent extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n containerElement: HTMLElement | null = null\n\n state: InfoBoxState = {\n infoBox: null,\n }\n\n open = (infoBox: GoogleMapsInfoBox, anchor?: google.maps.MVCObject): void => {\n if (anchor) {\n infoBox.open(this.context, anchor)\n } else if (infoBox.getPosition()) {\n infoBox.open(this.context)\n } else {\n invariant(false, 'You must provide either an anchor or a position prop for .')\n }\n }\n\n setInfoBoxCallback = (): void => {\n const { anchor, onLoad } = this.props\n const { infoBox } = this.state\n\n if (infoBox !== null && this.containerElement !== null) {\n infoBox.setContent(this.containerElement)\n this.open(infoBox, anchor)\n\n if (onLoad) {\n onLoad(infoBox)\n }\n }\n }\n\n componentDidMount(): void {\n const { options } = this.props\n const { position, ...infoBoxOptions }: InfoBoxOptions = options || {}\n\n let positionLatLng: google.maps.LatLng | undefined\n if (position && !(position instanceof google.maps.LatLng)) {\n positionLatLng = new google.maps.LatLng(position.lat, position.lng)\n }\n\n const infoBox = new GoogleMapsInfoBox({\n ...infoBoxOptions,\n ...(positionLatLng ? { position: positionLatLng } : {}),\n })\n\n this.containerElement = document.createElement('div')\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: infoBox,\n })\n\n this.setState({ infoBox }, this.setInfoBoxCallback)\n }\n\n componentDidUpdate(prevProps: InfoBoxProps): void {\n const { infoBox } = this.state\n\n if (infoBox !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: infoBox,\n })\n }\n }\n\n componentWillUnmount(): void {\n const { onUnmount } = this.props\n const { infoBox } = this.state\n\n if (infoBox !== null) {\n if (onUnmount) {\n onUnmount(infoBox)\n }\n\n unregisterEvents(this.registeredEvents)\n infoBox.close()\n }\n }\n\n render(): React.ReactPortal | null {\n if (!this.containerElement) {\n return null\n }\n\n return ReactDOM.createPortal(React.Children.only(this.props.children), this.containerElement)\n }\n}\n\nexport default InfoBoxComponent\n","/* global google */\nimport * as React from 'react'\nimport * as ReactDOM from 'react-dom'\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\nimport invariant from 'invariant'\n\nconst eventMap = {\n onCloseClick: 'closeclick',\n onContentChanged: 'content_changed',\n onDomReady: 'domready',\n onPositionChanged: 'position_changed',\n onZindexChanged: 'zindex_changed',\n}\n\nconst updaterMap = {\n options(instance: google.maps.InfoWindow, options: google.maps.InfoWindowOptions): void {\n instance.setOptions(options)\n },\n position(\n instance: google.maps.InfoWindow,\n position: google.maps.LatLng | google.maps.LatLngLiteral\n ): void {\n instance.setPosition(position)\n },\n zIndex(instance: google.maps.InfoWindow, zIndex: number): void {\n instance.setZIndex(zIndex)\n },\n}\n\ninterface InfoWindowState {\n infoWindow: google.maps.InfoWindow | null\n}\n\nexport interface InfoWindowProps {\n /** Can be any MVCObject that exposes a LatLng position property and optionally a Point anchorPoint property for calculating the pixelOffset. The anchorPoint is the offset from the anchor's position to the tip of the InfoWindow. */\n anchor?: google.maps.MVCObject\n options?: google.maps.InfoWindowOptions\n /** The LatLng at which to display this InfoWindow. If the InfoWindow is opened with an anchor, the anchor's position will be used instead. */\n position?: google.maps.LatLng | google.maps.LatLngLiteral\n /** All InfoWindows are displayed on the map in order of their zIndex, with higher values displaying in front of InfoWindows with lower values. By default, InfoWindows are displayed according to their latitude, with InfoWindows of lower latitudes appearing in front of InfoWindows at higher latitudes. InfoWindows are always displayed in front of markers. */\n zIndex?: number\n /** This event is fired when the close button was clicked. */\n onCloseClick?: () => void\n /** This event is fired when the
containing the InfoWindow's content is attached to the DOM. You may wish to monitor this event if you are building out your info window content dynamically. */\n onDomReady?: () => void\n /** This event is fired when the content property changes. */\n onContentChanged?: () => void\n /** This event is fired when the position property changes. */\n onPositionChanged?: () => void\n /** This event is fired when the InfoWindow's zIndex changes. */\n onZindexChanged?: () => void\n /** This callback is called when the infoWindow instance has loaded. It is called with the infoWindow instance. */\n onLoad?: (infoWindow: google.maps.InfoWindow) => void\n /** This callback is called when the component unmounts. It is called with the infoWindow instance. */\n onUnmount?: (infoWindow: google.maps.InfoWindow) => void\n}\n\nexport class InfoWindow extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n containerElement: HTMLElement | null = null\n\n state: InfoWindowState = {\n infoWindow: null,\n }\n\n open = (infoWindow: google.maps.InfoWindow, anchor?: google.maps.MVCObject): void => {\n if (anchor) {\n infoWindow.open(this.context, anchor)\n } else if (infoWindow.getPosition()) {\n infoWindow.open(this.context)\n } else {\n invariant(\n false,\n `You must provide either an anchor (typically render it inside a ) or a position props for .`\n )\n }\n }\n\n setInfoWindowCallback = (): void => {\n if (this.state.infoWindow !== null && this.containerElement !== null) {\n this.state.infoWindow.setContent(this.containerElement)\n\n this.open(this.state.infoWindow, this.props.anchor)\n\n if (this.props.onLoad) {\n this.props.onLoad(this.state.infoWindow)\n }\n }\n }\n\n componentDidMount(): void {\n const infoWindow = new google.maps.InfoWindow({\n ...(this.props.options || {}),\n })\n\n this.containerElement = document.createElement('div')\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: infoWindow,\n })\n\n this.setState(function setInfoWindow() {\n return {\n infoWindow,\n }\n }, this.setInfoWindowCallback)\n }\n\n componentDidUpdate(prevProps: InfoWindowProps): void {\n if (this.state.infoWindow !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.infoWindow,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.infoWindow !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.state.infoWindow.close()\n }\n }\n\n render(): React.ReactPortal | React.ReactNode {\n return this.containerElement ? (\n ReactDOM.createPortal(React.Children.only(this.props.children), this.containerElement)\n ) : (\n <>\n )\n }\n}\n\nexport default InfoWindow\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onClick: 'click',\n onDblClick: 'dblclick',\n onDrag: 'drag',\n onDragEnd: 'dragend',\n onDragStart: 'dragstart',\n onMouseDown: 'mousedown',\n onMouseMove: 'mousemove',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n onMouseUp: 'mouseup',\n onRightClick: 'rightclick',\n}\n\nconst updaterMap = {\n draggable(instance: google.maps.Polyline, draggable: boolean): void {\n instance.setDraggable(draggable)\n },\n editable(instance: google.maps.Polyline, editable: boolean): void {\n instance.setEditable(editable)\n },\n map(instance: google.maps.Polyline, map: google.maps.Map): void {\n instance.setMap(map)\n },\n options(instance: google.maps.Polyline, options: google.maps.PolylineOptions): void {\n instance.setOptions(options)\n },\n path(\n instance: google.maps.Polyline,\n path:\n | google.maps.MVCArray\n | google.maps.LatLng[]\n | google.maps.LatLngLiteral[]\n ): void {\n instance.setPath(path)\n },\n visible(instance: google.maps.Polyline, visible: boolean): void {\n instance.setVisible(visible)\n },\n}\n\ninterface PolylineState {\n polyline: google.maps.Polyline | null\n}\n\nexport interface PolylineProps {\n options?: google.maps.PolylineOptions\n /** If set to true, the user can drag this shape over the map. The geodesic property defines the mode of dragging. */\n draggable?: boolean\n /** If set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. */\n editable?: boolean\n /** Hides this poly if set to false. */\n visible?: boolean\n /** Sets the path. The ordered sequence of coordinates of the Polyline. This path may be specified using either a simple array of LatLngs, or an MVCArray of LatLngs. Note that if you pass a simple array, it will be converted to an MVCArray Inserting or removing LatLngs in the MVCArray will automatically update the polyline on the map. */\n path?:\n | google.maps.MVCArray\n | google.maps.LatLng[]\n | google.maps.LatLngLiteral[]\n /** This event is fired when the DOM dblclick event is fired on the Polyline. */\n onDblClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user stops dragging the polyline. */\n onDragEnd?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user starts dragging the polyline. */\n onDragStart?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousedown event is fired on the Polyline. */\n onMouseDown?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousemove event is fired on the Polyline. */\n onMouseMove?: (e: google.maps.MouseEvent) => void\n /** This event is fired on Polyline mouseout. */\n onMouseOut?: (e: google.maps.MouseEvent) => void\n /** This event is fired on Polyline mouseover. */\n onMouseOver?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mouseup event is fired on the Polyline. */\n onMouseUp?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the Polyline is right-clicked on. */\n onRightClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM click event is fired on the Polyline. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** This event is repeatedly fired while the user drags the polyline. */\n onDrag?: (e: google.maps.MouseEvent) => void\n /** This callback is called when the polyline instance has loaded. It is called with the polyline instance. */\n onLoad?: (polyline: google.maps.Polyline) => void\n /** This callback is called when the component unmounts. It is called with the polyline instance. */\n onUnmount?: (polyline: google.maps.Polyline) => void\n}\n\nexport class Polyline extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: PolylineState = {\n polyline: null,\n }\n\n setPolylineCallback = (): void => {\n if (this.state.polyline !== null && this.props.onLoad) {\n this.props.onLoad(this.state.polyline)\n }\n }\n\n componentDidMount(): void {\n const polyline = new google.maps.Polyline({\n ...(this.props.options || {}),\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: polyline,\n })\n\n this.setState(function setPolyline() {\n return {\n polyline,\n }\n }, this.setPolylineCallback)\n }\n\n componentDidUpdate(prevProps: PolylineProps): void {\n if (this.state.polyline !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.polyline,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.polyline !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.polyline)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.polyline.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return <>\n }\n}\n\nexport default Polyline\n","/* global google */\nimport * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onClick: 'click',\n onDblClick: 'dblclick',\n onDrag: 'drag',\n onDragEnd: 'dragend',\n onDragStart: 'dragstart',\n onMouseDown: 'mousedown',\n onMouseMove: 'mousemove',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n onMouseUp: 'mouseup',\n onRightClick: 'rightclick',\n}\n\nconst updaterMap = {\n draggable(instance: google.maps.Polygon, draggable: boolean): void {\n instance.setDraggable(draggable)\n },\n editable(instance: google.maps.Polygon, editable: boolean): void {\n instance.setEditable(editable)\n },\n map(instance: google.maps.Polygon, map: google.maps.Map): void {\n instance.setMap(map)\n },\n options(instance: google.maps.Polygon, options: google.maps.PolygonOptions): void {\n instance.setOptions(options)\n },\n path(\n instance: google.maps.Polygon,\n path:\n | google.maps.MVCArray\n | google.maps.LatLng[]\n | google.maps.LatLngLiteral[]\n ): void {\n instance.setPath(path)\n },\n\n paths(\n instance: google.maps.Polygon,\n paths:\n | google.maps.MVCArray\n | google.maps.MVCArray>\n | google.maps.LatLng[]\n | google.maps.LatLng[][]\n | google.maps.LatLngLiteral[]\n | google.maps.LatLngLiteral[][]\n ): void {\n instance.setPaths(paths)\n },\n\n visible(instance: google.maps.Polygon, visible: boolean): void {\n instance.setVisible(visible)\n },\n}\n\ninterface PolygonState {\n polygon: google.maps.Polygon | null\n}\n\nexport interface PolygonProps {\n options?: google.maps.PolygonOptions\n /** If set to true, the user can drag this shape over the map. The geodesic property defines the mode of dragging. */\n draggable?: boolean\n /** If set to true, the user can edit this shape by dragging the control points shown at the vertices and on each segment. */\n editable?: boolean\n /** Hides this poly if set to false. */\n visible?: boolean\n /** Sets the first path. See Paths for more details. */\n path?:\n | google.maps.MVCArray\n | google.maps.LatLng[]\n | google.maps.LatLngLiteral[]\n /** Sets the path for this polygon. The ordered sequence of coordinates that designates a closed loop. Unlike polylines, a polygon may consist of one or more paths. As a result, the paths property may specify one or more arrays of LatLng coordinates. Paths are closed automatically; do not repeat the first vertex of the path as the last vertex. Simple polygons may be defined using a single array of LatLngs. More complex polygons may specify an array of arrays. Any simple arrays are converted into MVCArrays. Inserting or removing LatLngs from the MVCArray will automatically update the polygon on the map. */\n paths?:\n | google.maps.MVCArray\n | google.maps.MVCArray>\n | google.maps.LatLng[]\n | google.maps.LatLng[][]\n | google.maps.LatLngLiteral[]\n | google.maps.LatLngLiteral[][]\n /** This event is fired when the DOM dblclick event is fired on the Polygon. */\n onDblClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user stops dragging the polygon. */\n onDragEnd?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user starts dragging the polygon. */\n onDragStart?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousedown event is fired on the Polygon. */\n onMouseDown?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousemove event is fired on the Polygon. */\n onMouseMove?: (e: google.maps.MouseEvent) => void\n /** This event is fired on Polygon mouseout. */\n onMouseOut?: (e: google.maps.MouseEvent) => void\n /** This event is fired on Polygon mouseover. */\n onMouseOver?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mouseup event is fired on the Polygon. */\n onMouseUp?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the Polygon is right-clicked on. */\n onRightClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM click event is fired on the Polygon. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** This event is repeatedly fired while the user drags the polygon. */\n onDrag?: (e: google.maps.MouseEvent) => void\n /** This callback is called when the polygon instance has loaded. It is called with the polygon instance. */\n onLoad?: (polygon: google.maps.Polygon) => void\n /** This callback is called when the component unmounts. It is called with the polygon instance. */\n onUnmount?: (polygon: google.maps.Polygon) => void\n}\n\nexport class Polygon extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: PolygonState = {\n polygon: null,\n }\n\n setPolygonCallback = (): void => {\n if (this.state.polygon !== null && this.props.onLoad) {\n this.props.onLoad(this.state.polygon)\n }\n }\n\n componentDidMount(): void {\n const polygon = new google.maps.Polygon({\n ...(this.props.options || {}),\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: polygon,\n })\n\n this.setState(function setPolygon() {\n return {\n polygon,\n }\n }, this.setPolygonCallback)\n }\n\n componentDidUpdate(prevProps: PolygonProps): void {\n if (this.state.polygon !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.polygon,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.polygon !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.polygon)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.polygon && this.state.polygon.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default Polygon\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onBoundsChanged: 'bounds_changed',\n onClick: 'click',\n onDblClick: 'dblclick',\n onDrag: 'drag',\n onDragEnd: 'dragend',\n onDragStart: 'dragstart',\n onMouseDown: 'mousedown',\n onMouseMove: 'mousemove',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n onMouseUp: 'mouseup',\n onRightClick: 'rightclick',\n}\n\nconst updaterMap = {\n bounds(\n instance: google.maps.Rectangle,\n bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n ): void {\n instance.setBounds(bounds)\n },\n draggable(instance: google.maps.Rectangle, draggable: boolean): void {\n instance.setDraggable(draggable)\n },\n editable(instance: google.maps.Rectangle, editable: boolean): void {\n instance.setEditable(editable)\n },\n map(instance: google.maps.Rectangle, map: google.maps.Map): void {\n instance.setMap(map)\n },\n options(instance: google.maps.Rectangle, options: google.maps.RectangleOptions): void {\n instance.setOptions(options)\n },\n visible(instance: google.maps.Rectangle, visible: boolean): void {\n instance.setVisible(visible)\n },\n}\n\ninterface RectangleState {\n rectangle: google.maps.Rectangle | null\n}\n\nexport interface RectangleProps {\n options?: google.maps.RectangleOptions\n /** Sets the bounds of this rectangle. */\n bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n /** If set to true, the user can drag this rectangle over the map. */\n draggable?: boolean\n /** If set to true, the user can edit this rectangle by dragging the control points shown at the corners and on each edge. */\n editable?: boolean\n /** Hides this rectangle if set to false. */\n visible?: boolean\n /** Indicates whether this Rectangle handles mouse events. Defaults to true. */\n clickable?: boolean\n /** This event is fired when the DOM dblclick event is fired on the rectangle. */\n onDblClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user stops dragging the rectangle. */\n onDragEnd?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user starts dragging the rectangle. */\n onDragStart?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousedown event is fired on the rectangle. */\n onMouseDown?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousemove event is fired on the rectangle. */\n onMouseMove?: (e: google.maps.MouseEvent) => void\n /** This event is fired on rectangle mouseout. */\n onMouseOut?: (e: google.maps.MouseEvent) => void\n /** This event is fired on rectangle mouseover. */\n onMouseOver?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mouseup event is fired on the rectangle. */\n onMouseUp?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the rectangle is right-clicked on. */\n onRightClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM click event is fired on the rectangle. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** This event is repeatedly fired while the user drags the rectangle. */\n onDrag?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the rectangle's bounds are changed. */\n onBoundsChanged?: () => void\n /** This callback is called when the rectangle instance has loaded. It is called with the rectangle instance. */\n onLoad?: (rectangle: google.maps.Rectangle) => void\n /** This callback is called when the component unmounts. It is called with the rectangle instance. */\n onUnmount?: (rectangle: google.maps.Rectangle) => void\n}\n\nexport class Rectangle extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: RectangleState = {\n rectangle: null,\n }\n\n setRectangleCallback = (): void => {\n if (this.state.rectangle !== null && this.props.onLoad) {\n this.props.onLoad(this.state.rectangle)\n }\n }\n\n componentDidMount(): void {\n const rectangle = new google.maps.Rectangle({\n ...(this.props.options || {}),\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: rectangle,\n })\n\n this.setState(function setRectangle() {\n return {\n rectangle,\n }\n }, this.setRectangleCallback)\n }\n\n componentDidUpdate(prevProps: RectangleProps): void {\n if (this.state.rectangle !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.rectangle,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.rectangle !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.rectangle)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.rectangle.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return <>\n }\n}\n\nexport default Rectangle\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onCenterChanged: 'center_changed',\n onClick: 'click',\n onDblClick: 'dblclick',\n onDrag: 'drag',\n onDragEnd: 'dragend',\n onDragStart: 'dragstart',\n onMouseDown: 'mousedown',\n onMouseMove: 'mousemove',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n onMouseUp: 'mouseup',\n onRadiusChanged: 'radius_changed',\n onRightClick: 'rightclick',\n}\n\nconst updaterMap = {\n center(instance: google.maps.Circle, center: google.maps.LatLng): void {\n instance.setCenter(center)\n },\n draggable(instance: google.maps.Circle, draggable: boolean): void {\n instance.setDraggable(draggable)\n },\n editable(instance: google.maps.Circle, editable: boolean): void {\n instance.setEditable(editable)\n },\n map(instance: google.maps.Circle, map: google.maps.Map): void {\n instance.setMap(map)\n },\n options(instance: google.maps.Circle, options: google.maps.CircleOptions): void {\n instance.setOptions(options)\n },\n radius(instance: google.maps.Circle, radius: number): void {\n instance.setRadius(radius)\n },\n visible(instance: google.maps.Circle, visible: boolean): void {\n instance.setVisible(visible)\n },\n}\n\ninterface CircleState {\n circle: google.maps.Circle | null\n}\n\nexport interface CircleProps {\n options?: google.maps.CircleOptions\n\n // required\n /** sets the center of the circle */\n center: google.maps.LatLng | google.maps.LatLngLiteral\n\n // required\n /** Sets the radius of this circle (in meters) */\n radius: number\n /** If set to true, the user can drag this circle over the map */\n draggable?: boolean\n /** If set to true, the user can edit this circle by dragging the control points shown at the center and around the circumference of the circle. */\n editable?: boolean\n /** Hides this circle if set to false. */\n visible?: boolean\n /** This event is fired when the DOM dblclick event is fired on the circle. */\n onDblClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user stops dragging the circle. */\n onDragEnd?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the user starts dragging the circle. */\n onDragStart?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousedown event is fired on the circle. */\n onMouseDown?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mousemove event is fired on the circle. */\n onMouseMove?: (e: google.maps.MouseEvent) => void\n /** This event is fired on circle mouseout. */\n onMouseOut?: (e: google.maps.MouseEvent) => void\n /** This event is fired on circle mouseover. */\n onMouseOver?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM mouseup event is fired on the circle. */\n onMouseUp?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the circle is right-clicked on. */\n onRightClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the circle's center is changed. */\n onCenterChanged?: () => void\n /** This event is fired when the DOM click event is fired on the circle. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** This event is repeatedly fired while the user drags the circle. */\n onDrag?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the circle's radius is changed. */\n onRadiusChanged?: () => void\n /** This callback is called when the circle instance has loaded. It is called with the circle instance. */\n onLoad?: (circle: google.maps.Circle) => void\n /** This callback is called when the component unmounts. It is called with the circle instance. */\n onUnmount?: (circle: google.maps.Circle) => void\n}\n\nexport class Circle extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: CircleState = {\n circle: null,\n }\n\n setCircleCallback = (): void => {\n if (this.state.circle !== null && this.props.onLoad) {\n this.props.onLoad(this.state.circle)\n }\n }\n\n componentDidMount(): void {\n const circle = new google.maps.Circle({\n ...(this.props.options || {}),\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: circle,\n })\n\n this.setState(function setCircle() {\n return {\n circle,\n }\n }, this.setCircleCallback)\n }\n\n componentDidUpdate(prevProps: CircleProps): void {\n if (this.state.circle !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.circle,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.circle !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.circle)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.circle && this.state.circle.setMap(null)\n }\n }\n\n render(): JSX.Element {\n return <>\n }\n}\n\nexport default Circle\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onAddFeature: 'addfeature',\n onClick: 'click',\n onDblClick: 'dblclick',\n onMouseDown: 'mousedown',\n onMouseOut: 'mouseout',\n onMouseOver: 'mouseover',\n onMouseUp: 'mouseup',\n onRemoveFeature: 'removefeature',\n onRemoveProperty: 'removeproperty',\n onRightClick: 'rightclick',\n onSetGeometry: 'setgeometry',\n onSetProperty: 'setproperty',\n}\n\nconst updaterMap = {\n add(\n instance: google.maps.Data,\n features: google.maps.Data.Feature | google.maps.Data.FeatureOptions\n ): void {\n instance.add(features)\n },\n addgeojson(\n instance: google.maps.Data,\n geojson: object,\n options?: google.maps.Data.GeoJsonOptions\n ): void {\n instance.addGeoJson(geojson, options)\n },\n contains(instance: google.maps.Data, feature: google.maps.Data.Feature): void {\n instance.contains(feature)\n },\n foreach(instance: google.maps.Data, callback: (feature: google.maps.Data.Feature) => void): void {\n instance.forEach(callback)\n },\n loadgeojson(\n instance: google.maps.Data,\n url: string,\n options: google.maps.Data.GeoJsonOptions,\n callback: (features: google.maps.Data.Feature[]) => void\n ): void {\n instance.loadGeoJson(url, options, callback)\n },\n overridestyle(\n instance: google.maps.Data,\n feature: google.maps.Data.Feature,\n style: google.maps.Data.StyleOptions\n ): void {\n instance.overrideStyle(feature, style)\n },\n remove(instance: google.maps.Data, feature: google.maps.Data.Feature): void {\n instance.remove(feature)\n },\n revertstyle(instance: google.maps.Data, feature: google.maps.Data.Feature): void {\n instance.revertStyle(feature)\n },\n controlposition(instance: google.maps.Data, controlPosition: google.maps.ControlPosition): void {\n instance.setControlPosition(controlPosition)\n },\n controls(instance: google.maps.Data, controls: google.maps.DrawingMode[] | null): void {\n instance.setControls(controls)\n },\n drawingmode(instance: google.maps.Data, mode: google.maps.DrawingMode): void {\n instance.setDrawingMode(mode)\n },\n map(instance: google.maps.Data, map: google.maps.Map): void {\n instance.setMap(map)\n },\n style(\n instance: google.maps.Data,\n style: google.maps.Data.StylingFunction | google.maps.Data.StyleOptions\n ): void {\n instance.setStyle(style)\n },\n togeojson(instance: google.maps.Data, callback: (feature: object) => void): void {\n instance.toGeoJson(callback)\n },\n}\n\ninterface DataState {\n data: google.maps.Data | null\n}\nexport interface DataProps {\n options?: google.maps.Data.DataOptions\n /** This event is fired when a feature is added to the collection. */\n onAddFeature?: (e: google.maps.Data.AddFeatureEvent) => void\n /** This event is fired for a click on the geometry. */\n onClick?: (e: google.maps.Data.MouseEvent) => void\n /** This event is fired for a double click on the geometry. */\n onDblClick?: (e: google.maps.Data.MouseEvent) => void\n /** This event is fired for a mousedown on the geometry. */\n onMouseDown?: (e: google.maps.Data.MouseEvent) => void\n /** This event is fired when the mouse leaves the area of the geometry. */\n onMouseOut?: (e: google.maps.Data.MouseEvent) => void\n /** This event is fired when the mouse enters the area of the geometry. */\n onMouseOver?: (e: google.maps.Data.MouseEvent) => void\n /** This event is fired for a mouseup on the geometry. */\n onMouseUp?: (e: google.maps.Data.MouseEvent) => void\n /** This event is fired when a feature is removed from the collection. */\n onRemoveFeature?: (e: google.maps.Data.RemoveFeatureEvent) => void\n /** This event is fired when a feature's property is removed. */\n onRemoveProperty?: (e: google.maps.Data.RemovePropertyEvent) => void\n /** This event is fired for a rightclick on the geometry. */\n onRightClick?: (e: google.maps.Data.MouseEvent) => void\n /** This event is fired when a feature's geometry is set. */\n onSetGeometry?: (e: google.maps.Data.SetGeometryEvent) => void\n /** This event is fired when a feature's property is set. */\n onSetProperty?: (e: google.maps.Data.SetPropertyEvent) => void\n /** This callback is called when the data instance has loaded. It is called with the data instance. */\n onLoad?: (data: google.maps.Data) => void\n /** This callback is called when the component unmounts. It is called with the data instance. */\n onUnmount?: (data: google.maps.Data) => void\n}\n\nexport class Data extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: DataState = {\n data: null,\n }\n\n setDataCallback = (): void => {\n if (this.state.data !== null && this.props.onLoad) {\n this.props.onLoad(this.state.data)\n }\n }\n\n componentDidMount(): void {\n const data = new google.maps.Data({\n ...(this.props.options || {}),\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: data,\n })\n\n this.setState(function setData() {\n return {\n data,\n }\n }, this.setDataCallback)\n }\n\n componentDidUpdate(prevProps: DataProps): void {\n if (this.state.data !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.data,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.data !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.data)\n }\n\n unregisterEvents(this.registeredEvents)\n\n if (this.state.data) {\n this.state.data.setMap(null)\n }\n }\n }\n\n render(): null {\n return null\n }\n}\n\nexport default Data\n","import { PureComponent } from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onClick: 'click',\n onDefaultViewportChanged: 'defaultviewport_changed',\n onStatusChanged: 'status_changed',\n}\n\nconst updaterMap = {\n options(instance: google.maps.KmlLayer, options: google.maps.KmlLayerOptions): void {\n instance.setOptions(options)\n },\n url(instance: google.maps.KmlLayer, url: string): void {\n instance.setUrl(url)\n },\n zIndex(instance: google.maps.KmlLayer, zIndex: number): void {\n instance.setZIndex(zIndex)\n },\n}\n\ninterface KmlLayerState {\n kmlLayer: google.maps.KmlLayer | null\n}\n\nexport interface KmlLayerProps {\n options?: google.maps.KmlLayerOptions\n /** The URL of the KML document to display. */\n url?: string\n /** The z-index of the layer. */\n zIndex?: number\n /** This event is fired when a feature in the layer is clicked. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the KML layers default viewport has changed. */\n onDefaultViewportChanged?: () => void\n /** This event is fired when the KML layer has finished loading. At this point it is safe to read the status property to determine if the layer loaded successfully. */\n onStatusChanged?: () => void\n /** This callback is called when the kmlLayer instance has loaded. It is called with the kmlLayer instance. */\n onLoad: (kmlLayer: google.maps.KmlLayer) => void\n /** This callback is called when the component unmounts. It is called with the kmlLayer instance. */\n onUnmount: (kmlLayer: google.maps.KmlLayer) => void\n}\n\nexport class KmlLayer extends PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: KmlLayerState = {\n kmlLayer: null,\n }\n\n setKmlLayerCallback = (): void => {\n if (this.state.kmlLayer !== null && this.props.onLoad) {\n this.props.onLoad(this.state.kmlLayer)\n }\n }\n\n componentDidMount(): void {\n const kmlLayer = new google.maps.KmlLayer({\n ...this.props.options,\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: kmlLayer,\n })\n\n this.setState(function setLmlLayer() {\n return {\n kmlLayer,\n }\n }, this.setKmlLayerCallback)\n }\n\n componentDidUpdate(prevProps: KmlLayerProps): void {\n if (this.state.kmlLayer !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.kmlLayer,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.kmlLayer !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.kmlLayer)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.kmlLayer.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default KmlLayer\n","import { PositionDrawProps } from \"../../types\"\n\n/* eslint-disable filenames/match-regex */\nexport function getOffsetOverride(\n containerElement: HTMLElement,\n getPixelPositionOffset?: (offsetWidth: number, offsetHeight: number) => { x: number; y: number }\n): { x: number; y: number } | {} {\n return typeof getPixelPositionOffset === 'function'\n ? getPixelPositionOffset(containerElement.offsetWidth, containerElement.offsetHeight)\n : {}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst createLatLng = (inst: any, Type: any): any => new Type(inst.lat, inst.lng)\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst createLatLngBounds = (inst: any, Type: any): any =>\n new Type(\n new google.maps.LatLng(inst.ne.lat, inst.ne.lng),\n new google.maps.LatLng(inst.sw.lat, inst.sw.lng)\n )\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst ensureOfType = (inst: any, type: any, factory: any): any => {\n return inst instanceof type ? inst : factory(inst, type)\n}\n\nconst getLayoutStylesByBounds = (\n mapCanvasProjection: google.maps.MapCanvasProjection,\n offset: { x: number; y: number },\n bounds: google.maps.LatLngBounds\n): { left: string; top: string; width?: string; height?: string } => {\n const ne = mapCanvasProjection && mapCanvasProjection.fromLatLngToDivPixel(bounds.getNorthEast())\n\n const sw = mapCanvasProjection && mapCanvasProjection.fromLatLngToDivPixel(bounds.getSouthWest())\n\n if (ne && sw) {\n return {\n left: `${sw.x + offset.x}px`,\n top: `${ne.y + offset.y}px`,\n width: `${ne.x - sw.x - offset.x}px`,\n height: `${sw.y - ne.y - offset.y}px`,\n }\n }\n\n return {\n left: '-9999px',\n top: '-9999px',\n }\n}\n\nconst getLayoutStylesByPosition = (\n mapCanvasProjection: google.maps.MapCanvasProjection,\n offset: { x: number; y: number },\n position: google.maps.LatLng\n): { left: string; top: string } => {\n const point = mapCanvasProjection && mapCanvasProjection.fromLatLngToDivPixel(position)\n\n if (point) {\n const { x, y } = point\n\n return {\n left: `${x + offset.x}px`,\n top: `${y + offset.y}px`,\n }\n }\n\n return {\n left: '-9999px',\n top: '-9999px',\n }\n}\n\nexport const getLayoutStyles = (\n mapCanvasProjection: google.maps.MapCanvasProjection,\n offset: { x: number; y: number },\n bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral,\n position?: google.maps.LatLng | google.maps.LatLngLiteral\n): PositionDrawProps => {\n return bounds !== undefined\n ? getLayoutStylesByBounds(\n mapCanvasProjection,\n offset,\n ensureOfType(bounds, google.maps.LatLngBounds, createLatLngBounds)\n )\n : getLayoutStylesByPosition(\n mapCanvasProjection,\n offset,\n ensureOfType(position, google.maps.LatLng, createLatLng)\n )\n}\n\nexport const arePositionsEqual = (\n currentPosition: PositionDrawProps,\n previousPosition: PositionDrawProps\n): boolean => {\n return currentPosition.left === previousPosition.left\n && currentPosition.top === previousPosition.top\n && currentPosition.width === previousPosition.height\n && currentPosition.height === previousPosition.height;\n}","import * as React from 'react'\nimport * as ReactDOM from 'react-dom'\n\nimport invariant from 'invariant'\n\nimport MapContext from '../../map-context'\n\nimport { getOffsetOverride, getLayoutStyles, arePositionsEqual } from './dom-helper'\n\ninterface OverlayViewState {\n paneEl: Element | null\n containerStyle: React.CSSProperties\n}\n\nfunction convertToLatLngString(latLngLike?: google.maps.LatLng | google.maps.LatLngLiteral | null) {\n if (!latLngLike) {\n return ''\n }\n\n const latLng = latLngLike instanceof google.maps.LatLng\n ? latLngLike\n : new google.maps.LatLng(latLngLike.lat, latLngLike.lng)\n\n return latLng + ''\n}\n\nfunction convertToLatLngBoundsString(latLngBoundsLike?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral | null) {\n if (!latLngBoundsLike) {\n return ''\n }\n\n const latLngBounds = latLngBoundsLike instanceof google.maps.LatLngBounds\n ? latLngBoundsLike\n : new google.maps.LatLngBounds(\n new google.maps.LatLng(latLngBoundsLike.south, latLngBoundsLike.east),\n new google.maps.LatLng(latLngBoundsLike.north, latLngBoundsLike.west)\n )\n\n return latLngBounds + ''\n}\n\nexport type PaneNames = keyof google.maps.MapPanes\nexport interface OverlayViewProps {\n // required\n mapPaneName: PaneNames\n getPixelPositionOffset?: (offsetWidth: number, offsetHeight: number) => { x: number; y: number }\n bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n position?: google.maps.LatLng | google.maps.LatLngLiteral\n onLoad?: (overlayView: google.maps.OverlayView) => void\n onUnmount?: (overlayView: google.maps.OverlayView) => void\n}\n\nexport class OverlayView extends React.PureComponent {\n static FLOAT_PANE: PaneNames = `floatPane`\n static MAP_PANE: PaneNames = `mapPane`\n static MARKER_LAYER: PaneNames = `markerLayer`\n static OVERLAY_LAYER: PaneNames = `overlayLayer`\n static OVERLAY_MOUSE_TARGET: PaneNames = `overlayMouseTarget`\n\n static contextType = MapContext\n\n state: OverlayViewState = {\n paneEl: null,\n containerStyle: {\n // set initial position\n position: 'absolute'\n },\n }\n\n overlayView: google.maps.OverlayView\n containerRef: React.RefObject\n\n updatePane = (): void => {\n const mapPaneName = this.props.mapPaneName\n\n // https://developers.google.com/maps/documentation/javascript/3.exp/reference#MapPanes\n const mapPanes = this.overlayView.getPanes()\n invariant(\n !!mapPaneName,\n `OverlayView requires props.mapPaneName but got %s`,\n mapPaneName\n )\n\n if (mapPanes) {\n this.setState({\n paneEl: mapPanes[mapPaneName]\n })\n } else {\n this.setState({\n paneEl: null\n })\n }\n }\n onAdd = (): void => {\n this.updatePane()\n this.props.onLoad?.(this.overlayView)\n }\n\n onPositionElement = (): void => {\n const mapCanvasProjection = this.overlayView.getProjection()\n\n const offset = {\n x: 0,\n y: 0,\n ...(this.containerRef.current\n ? getOffsetOverride(this.containerRef.current, this.props.getPixelPositionOffset)\n : {}),\n }\n\n const layoutStyles = getLayoutStyles(\n mapCanvasProjection,\n offset,\n this.props.bounds,\n this.props.position\n )\n\n const { left, top, width, height } = this.state.containerStyle;\n if(!arePositionsEqual(layoutStyles, { left, top, width, height })) {\n this.setState({\n containerStyle: {\n ...layoutStyles,\n position: 'absolute'\n },\n })\n }\n }\n\n draw = (): void => {\n this.onPositionElement()\n }\n\n onRemove = (): void => {\n this.setState(() => ({\n paneEl: null\n }))\n // this.mapPaneEl = null\n this.props.onUnmount?.(this.overlayView)\n }\n\n constructor(props: OverlayViewProps) {\n super(props)\n\n this.containerRef = React.createRef()\n // You must implement three methods: onAdd(), draw(), and onRemove().\n const overlayView = new google.maps.OverlayView()\n overlayView.onAdd = this.onAdd\n overlayView.draw = this.draw\n overlayView.onRemove = this.onRemove\n this.overlayView = overlayView\n }\n\n componentDidMount(): void {\n // You must call setMap() with a valid Map object to trigger the call to\n // the onAdd() method and setMap(null) in order to trigger the onRemove() method.\n this.overlayView.setMap(this.context)\n }\n\n componentDidUpdate(prevProps: OverlayViewProps): void {\n const prevPositionString = convertToLatLngString(prevProps.position)\n const positionString = convertToLatLngString(this.props.position)\n const prevBoundsString = convertToLatLngBoundsString(prevProps.bounds)\n const boundsString = convertToLatLngBoundsString(this.props.bounds)\n\n if (prevPositionString !== positionString || prevBoundsString !== boundsString) {\n this.overlayView.draw()\n }\n if (prevProps.mapPaneName !== this.props.mapPaneName) {\n this.updatePane()\n }\n }\n\n componentWillUnmount(): void {\n this.overlayView.setMap(null)\n }\n\n render(): React.ReactPortal | React.ReactNode {\n const paneEl = this.state.paneEl\n if (paneEl) {\n return ReactDOM.createPortal(\n \n {React.Children.only(this.props.children)}\n
,\n paneEl\n )\n } else {\n return null\n }\n }\n}\n\nexport default OverlayView\n","import * as React from 'react'\n\nimport invariant from 'invariant'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\nimport { noop } from '../../utils/noop'\n\nconst eventMap = {\n onDblClick: 'dblclick',\n onClick: 'click',\n}\n\nconst updaterMap = {\n opacity(instance: google.maps.GroundOverlay, opacity: number): void {\n instance.setOpacity(opacity)\n },\n}\n\ninterface GroundOverlayState {\n groundOverlay: google.maps.GroundOverlay | null\n}\n\nexport interface GroundOverlayProps {\n options?: google.maps.GroundOverlayOptions\n /** The opacity of the overlay, expressed as a number between 0 and 1. Optional. Defaults to 1. */\n opacity?: number\n /** This event is fired when the DOM dblclick event is fired on the GroundOverlay. */\n onDblClick?: (e: google.maps.MouseEvent) => void\n /** This event is fired when the DOM click event is fired on the GroundOverlay. */\n onClick?: (e: google.maps.MouseEvent) => void\n /** The url of the projected image */\n url: string\n /** The bounds that the image will be scaled to fit */\n bounds: google.maps.LatLngBounds\n /** This callback is called when the groundOverlay instance has loaded. It is called with the groundOverlay instance. */\n onLoad?: (groundOverlay: google.maps.GroundOverlay) => void\n /** This callback is called when the component unmounts. It is called with the groundOverlay instance. */\n onUnmount?: (groundOverlay: google.maps.GroundOverlay) => void\n}\n\nexport class GroundOverlay extends React.PureComponent {\n public static defaultProps = {\n onLoad: noop,\n }\n\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: GroundOverlayState = {\n groundOverlay: null,\n }\n\n setGroundOverlayCallback = (): void => {\n if (this.state.groundOverlay !== null && this.props.onLoad) {\n this.props.onLoad(this.state.groundOverlay)\n }\n }\n\n componentDidMount(): void {\n invariant(\n !!this.props.url || !!this.props.bounds,\n `For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by \\`react-google-maps-api\\`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just \\`key={url}\\` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655`\n )\n\n const groundOverlay = new google.maps.GroundOverlay(this.props.url, this.props.bounds, {\n ...this.props.options,\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: groundOverlay,\n })\n\n this.setState(function setGroundOverlay() {\n return {\n groundOverlay,\n }\n }, this.setGroundOverlayCallback)\n }\n\n componentDidUpdate(prevProps: GroundOverlayProps): void {\n if (this.state.groundOverlay !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.groundOverlay,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.groundOverlay) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.groundOverlay)\n }\n\n this.state.groundOverlay.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default GroundOverlay\n","export function noop(): void {}\n","import * as React from 'react'\nimport invariant from 'invariant'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {}\n\nconst updaterMap = {\n data(\n instance: google.maps.visualization.HeatmapLayer,\n data:\n | google.maps.MVCArray\n | google.maps.LatLng[]\n | google.maps.visualization.WeightedLocation[]\n ): void {\n instance.setData(data)\n },\n map(instance: google.maps.visualization.HeatmapLayer, map: google.maps.Map): void {\n instance.setMap(map)\n },\n options(\n instance: google.maps.visualization.HeatmapLayer,\n options: google.maps.visualization.HeatmapLayerOptions\n ): void {\n instance.setOptions(options)\n },\n}\n\ninterface HeatmapLayerState {\n heatmapLayer: google.maps.visualization.HeatmapLayer | null\n}\n\nexport interface HeatmapLayerProps {\n // required\n /** The data points to display. Required. */\n data:\n | google.maps.MVCArray\n | google.maps.LatLng[]\n | google.maps.visualization.WeightedLocation[]\n options?: google.maps.visualization.HeatmapLayerOptions\n /** This callback is called when the heatmapLayer instance has loaded. It is called with the heatmapLayer instance. */\n onLoad?: (heatmapLayer: google.maps.visualization.HeatmapLayer) => void\n /** This callback is called when the component unmounts. It is called with the heatmapLayer instance. */\n onUnmount?: (heatmapLayer: google.maps.visualization.HeatmapLayer) => void\n}\n\nexport class HeatmapLayer extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: HeatmapLayerState = {\n heatmapLayer: null,\n }\n\n setHeatmapLayerCallback = (): void => {\n if (this.state.heatmapLayer !== null && this.props.onLoad) {\n this.props.onLoad(this.state.heatmapLayer)\n }\n }\n\n componentDidMount(): void {\n invariant(\n !!google.maps.visualization,\n 'Did you include prop libraries={[\"visualization\"]} to ? %s',\n google.maps.visualization\n )\n\n invariant(!!this.props.data, 'data property is required in HeatmapLayer %s', this.props.data)\n\n const heatmapLayer = new google.maps.visualization.HeatmapLayer({\n ...(this.props.options || {}),\n data: this.props.data,\n map: this.context,\n })\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: heatmapLayer,\n })\n\n this.setState(function setHeatmapLayer() {\n return {\n heatmapLayer,\n }\n }, this.setHeatmapLayerCallback)\n }\n\n componentDidUpdate(prevProps: HeatmapLayerProps): void {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.heatmapLayer,\n })\n }\n\n componentWillUnmount(): void {\n if (this.state.heatmapLayer !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.heatmapLayer)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.heatmapLayer.setMap(null)\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default HeatmapLayer\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onCloseClick: 'closeclick',\n onPanoChanged: 'pano_changed',\n onPositionChanged: 'position_changed',\n onPovChanged: 'pov_changed',\n onResize: 'resize',\n onStatusChanged: 'status_changed',\n onVisibleChanged: 'visible_changed',\n onZoomChanged: 'zoom_changed',\n}\n\nconst updaterMap = {\n register(\n instance: google.maps.StreetViewPanorama,\n provider: (input: string) => google.maps.StreetViewPanoramaData,\n options: google.maps.PanoProviderOptions\n ): void {\n instance.registerPanoProvider(provider, options)\n },\n links(instance: google.maps.StreetViewPanorama, links: google.maps.StreetViewLink[]): void {\n instance.setLinks(links)\n },\n motionTracking(instance: google.maps.StreetViewPanorama, motionTracking: boolean): void {\n instance.setMotionTracking(motionTracking)\n },\n options(\n instance: google.maps.StreetViewPanorama,\n options: google.maps.StreetViewPanoramaOptions\n ): void {\n instance.setOptions(options)\n },\n pano(instance: google.maps.StreetViewPanorama, pano: string): void {\n instance.setPano(pano)\n },\n position(\n instance: google.maps.StreetViewPanorama,\n position: google.maps.LatLng | google.maps.LatLngLiteral\n ): void {\n instance.setPosition(position)\n },\n pov(instance: google.maps.StreetViewPanorama, pov: google.maps.StreetViewPov): void {\n instance.setPov(pov)\n },\n visible(instance: google.maps.StreetViewPanorama, visible: boolean): void {\n instance.setVisible(visible)\n },\n zoom(instance: google.maps.StreetViewPanorama, zoom: number): void {\n instance.setZoom(zoom)\n },\n}\n\ninterface StreetViewPanoramaState {\n streetViewPanorama: google.maps.StreetViewPanorama | null\n}\n\nexport interface StreetViewPanoramaProps {\n options?: google.maps.StreetViewPanoramaOptions\n /** This event is fired when the close button is clicked. */\n onCloseclick?: (event: google.maps.MouseEvent) => void\n /** This event is fired when the panorama's pano id changes. The pano may change as the user navigates through the panorama or the position is manually set. Note that not all position changes trigger a pano_changed. */\n onPanoChanged?: () => void\n /** This event is fired when the panorama's position changes. The position changes as the user navigates through the panorama or the position is set manually. */\n onPositionChanged?: () => void\n /** This event is fired when the panorama's point-of-view changes. The point of view changes as the pitch, zoom, or heading changes. */\n onPovChanged?: () => void\n /** Developers should trigger this event on the panorama when its div changes size: google.maps.event.trigger(panorama, 'resize'). */\n onResize?: () => void\n /** This event is fired after every panorama lookup by id or location, via setPosition() or setPano(). */\n onStatusChanged?: () => void\n /** This event is fired when the panorama's visibility changes. The visibility is changed when the Pegman is dragged onto the map, the close button is clicked, or setVisible() is called. */\n onVisibleChanged?: () => void\n /** This event is fired when the panorama's zoom level changes. */\n onZoomChange?: () => void\n /** This callback is called when the streetViewPanorama instance has loaded. It is called with the streetViewPanorama instance. */\n onLoad?: (streetViewPanorama: google.maps.StreetViewPanorama) => void\n /** This callback is called when the component unmounts. It is called with the streetViewPanorama instance. */\n onUnmount?: (streetViewPanorama: google.maps.StreetViewPanorama) => void\n}\n\nexport class StreetViewPanorama extends React.PureComponent<\n StreetViewPanoramaProps,\n StreetViewPanoramaState\n> {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: StreetViewPanoramaState = {\n streetViewPanorama: null,\n }\n\n setStreetViewPanoramaCallback = (): void => {\n if (this.state.streetViewPanorama !== null && this.props.onLoad) {\n this.props.onLoad(this.state.streetViewPanorama)\n }\n }\n\n componentDidMount(): void {\n const streetViewPanorama = this.context.getStreetView()\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: streetViewPanorama,\n })\n\n this.setState(function setStreetViewPanorama() {\n return {\n streetViewPanorama,\n }\n }, this.setStreetViewPanoramaCallback)\n }\n\n componentDidUpdate(prevProps: StreetViewPanoramaProps): void {\n if (this.state.streetViewPanorama !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.streetViewPanorama,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.streetViewPanorama !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.streetViewPanorama)\n }\n\n unregisterEvents(this.registeredEvents)\n\n this.state.streetViewPanorama.setVisible(false)\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default StreetViewPanorama\n","import * as React from 'react'\n\nimport MapContext from '../../map-context'\n\nexport interface StreetViewServiceProps {\n /** This callback is called when the streetViewService instance has loaded. It is called with the streetViewService instance. */\n onLoad?: (streetViewService: google.maps.StreetViewService | null) => void\n /** This callback is called when the component unmounts. It is called with the streetViewService instance. */\n onUnmount?: (streetViewService: google.maps.StreetViewService | null) => void\n}\n\ninterface StreetViewServiceState {\n streetViewService: google.maps.StreetViewService | null\n}\n\nexport class StreetViewService extends React.PureComponent<\n StreetViewServiceProps,\n StreetViewServiceState\n> {\n static contextType = MapContext\n\n state = {\n streetViewService: null,\n }\n\n setStreetViewServiceCallback = (): void => {\n if (this.state.streetViewService !== null && this.props.onLoad) {\n this.props.onLoad(this.state.streetViewService)\n }\n }\n\n componentDidMount(): void {\n const streetViewService = new google.maps.StreetViewService()\n\n this.setState(function setStreetViewService() {\n return {\n streetViewService,\n }\n }, this.setStreetViewServiceCallback)\n }\n\n componentWillUnmount(): void {\n if (this.state.streetViewService !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.streetViewService)\n }\n }\n }\n\n render(): React.ReactNode {\n return null\n }\n}\n\nexport default StreetViewService\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onDirectionsChanged: 'directions_changed',\n}\n\nconst updaterMap = {\n directions(\n instance: google.maps.DirectionsRenderer,\n directions: google.maps.DirectionsResult\n ): void {\n instance.setDirections(directions)\n },\n map(instance: google.maps.DirectionsRenderer, map: google.maps.Map): void {\n instance.setMap(map)\n },\n options(\n instance: google.maps.DirectionsRenderer,\n options: google.maps.DirectionsRendererOptions\n ): void {\n instance.setOptions(options)\n },\n panel(instance: google.maps.DirectionsRenderer, panel: Element): void {\n instance.setPanel(panel)\n },\n routeIndex(instance: google.maps.DirectionsRenderer, routeIndex: number): void {\n instance.setRouteIndex(routeIndex)\n },\n}\n\ninterface DirectionsRendererState {\n directionsRenderer: google.maps.DirectionsRenderer | null\n}\n\nexport interface DirectionsRendererProps {\n options?: google.maps.DirectionsRendererOptions\n /** The directions to display on the map and/or in a
panel, retrieved as a DirectionsResult object from DirectionsService. */\n directions?: google.maps.DirectionsResult\n /** The
in which to display the directions steps. */\n panel?: Element\n /** The index of the route within the DirectionsResult object. The default value is 0. */\n routeIndex?: number\n /** This event is fired when the rendered directions change, either when a new DirectionsResult is set or when the user finishes dragging a change to the directions path. */\n onDirectionsChanged?: () => void\n /** This callback is called when the directionsRenderer instance has loaded. It is called with the directionsRenderer instance. */\n onLoad?: (directionsRenderer: google.maps.DirectionsRenderer) => void\n /** This callback is called when the component unmounts. It is called with the directionsRenderer instance. */\n onUnmount?: (directionsRenderer: google.maps.DirectionsRenderer) => void\n}\n\nexport class DirectionsRenderer extends React.PureComponent<\n DirectionsRendererProps,\n DirectionsRendererState\n> {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n state: DirectionsRendererState = {\n directionsRenderer: null,\n }\n\n setDirectionsRendererCallback = (): void => {\n if (this.state.directionsRenderer !== null) {\n this.state.directionsRenderer.setMap(this.context)\n\n if (this.props.onLoad) {\n this.props.onLoad(this.state.directionsRenderer)\n }\n }\n }\n\n componentDidMount(): void {\n const directionsRenderer = new google.maps.DirectionsRenderer(this.props.options)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: directionsRenderer,\n })\n\n this.setState(function setDirectionsRenderer() {\n return {\n directionsRenderer,\n }\n }, this.setDirectionsRendererCallback)\n }\n\n componentDidUpdate(prevProps: DirectionsRendererProps): void {\n if (this.state.directionsRenderer !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.directionsRenderer,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.directionsRenderer !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.directionsRenderer)\n }\n\n unregisterEvents(this.registeredEvents)\n\n if (this.state.directionsRenderer) {\n this.state.directionsRenderer.setMap(null)\n }\n }\n }\n\n render(): JSX.Element {\n return <>\n }\n}\n\nexport default DirectionsRenderer\n","import * as React from 'react'\n\nimport invariant from 'invariant'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nconst eventMap = {\n onPlacesChanged: 'places_changed',\n}\n\nconst updaterMap = {\n bounds(\n instance: google.maps.places.SearchBox,\n bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n ): void {\n instance.setBounds(bounds)\n },\n}\n\ninterface StandaloneSearchBoxState {\n searchBox: google.maps.places.SearchBox | null\n}\n\nexport interface StandaloneSearchBoxProps {\n /** The area towards which to bias query predictions. Predictions are biased towards, but not restricted to, queries targeting these bounds. */\n bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n options?: google.maps.places.SearchBoxOptions\n /** This event is fired when the user selects a query, getPlaces should be used to get new places. */\n onPlacesChanged?: () => void\n /** This callback is called when the searchBox instance has loaded. It is called with the searchBox instance. */\n onLoad?: (searchBox: google.maps.places.SearchBox) => void\n /** This callback is called when the component unmounts. It is called with the searchBox instance. */\n onUnmount?: (searchBox: google.maps.places.SearchBox) => void\n}\n\nclass StandaloneSearchBox extends React.PureComponent<\n StandaloneSearchBoxProps,\n StandaloneSearchBoxState\n> {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n\n containerElement: React.RefObject = React.createRef()\n\n state: StandaloneSearchBoxState = {\n searchBox: null,\n }\n\n setSearchBoxCallback = (): void => {\n if (this.state.searchBox !== null && this.props.onLoad) {\n this.props.onLoad(this.state.searchBox)\n }\n }\n\n componentDidMount(): void {\n invariant(\n !!google.maps.places,\n 'You need to provide libraries={[\"places\"]} prop to component %s',\n google.maps.places\n )\n\n if (this.containerElement !== null && this.containerElement.current !== null) {\n const input = this.containerElement.current.querySelector('input')\n\n if (input !== null) {\n const searchBox = new google.maps.places.SearchBox(input, this.props.options)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: searchBox,\n })\n\n this.setState(function setSearchBox() {\n return {\n searchBox,\n }\n }, this.setSearchBoxCallback)\n }\n }\n }\n\n componentDidUpdate(prevProps: StandaloneSearchBoxProps): void {\n if (this.state.searchBox !== null) {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.searchBox,\n })\n }\n }\n\n componentWillUnmount(): void {\n if (this.state.searchBox !== null) {\n if (this.props.onUnmount) {\n this.props.onUnmount(this.state.searchBox)\n }\n\n unregisterEvents(this.registeredEvents)\n }\n }\n\n render(): React.ReactNode {\n return
{React.Children.only(this.props.children)}
\n }\n}\n\nexport default StandaloneSearchBox\n","import * as React from 'react'\n\nimport { unregisterEvents, applyUpdatersToPropsAndRegisterEvents } from '../../utils/helper'\n\nimport MapContext from '../../map-context'\n\nimport invariant from 'invariant'\n\nconst eventMap = {\n onPlaceChanged: 'place_changed',\n}\n\nconst updaterMap = {\n bounds(\n instance: google.maps.places.Autocomplete,\n bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n ): void {\n instance.setBounds(bounds)\n },\n restrictions(\n instance: google.maps.places.Autocomplete,\n restrictions: google.maps.places.ComponentRestrictions\n ): void {\n instance.setComponentRestrictions(restrictions)\n },\n fields(instance: google.maps.places.Autocomplete, fields: string[]): void {\n instance.setFields(fields)\n },\n options(\n instance: google.maps.places.Autocomplete,\n options: google.maps.places.AutocompleteOptions\n ): void {\n instance.setOptions(options)\n },\n types(instance: google.maps.places.Autocomplete, types: string[]): void {\n instance.setTypes(types)\n },\n}\n\ninterface AutocompleteState {\n autocomplete: google.maps.places.Autocomplete | null\n}\n\nexport interface AutocompleteProps {\n // required\n children: React.ReactChild\n /** The area in which to search for places. */\n bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral\n /** The component restrictions. Component restrictions are used to restrict predictions to only those within the parent component. For example, the country. */\n restrictions?: google.maps.places.ComponentRestrictions\n /** Fields to be included for the Place in the details response when the details are successfully retrieved. For a list of fields see PlaceResult. Nested fields can be specified with dot-paths (for example, \"geometry.location\"). */\n fields?: string[]\n options?: google.maps.places.AutocompleteOptions\n /** The types of predictions to be returned. For a list of supported types, see the developer's guide. If nothing is specified, all types are returned. In general only a single type is allowed. The exception is that you can safely mix the 'geocode' and 'establishment' types, but note that this will have the same effect as specifying no types. */\n types?: string[]\n /** This event is fired when a PlaceResult is made available for a Place the user has selected. If the user enters the name of a Place that was not suggested by the control and presses the Enter key, or if a Place Details request fails, the PlaceResult contains the user input in the name property, with no other properties defined. */\n onPlaceChanged?: () => void\n /** This callback is called when the autocomplete instance has loaded. It is called with the autocomplete instance. */\n onLoad?: (autocomplete: google.maps.places.Autocomplete) => void\n /** This callback is called when the component unmounts. It is called with the autocomplete instance. */\n onUnmount?: (autocomplete: google.maps.places.Autocomplete) => void\n className?: string\n}\n\nexport class Autocomplete extends React.PureComponent {\n static contextType = MapContext\n\n registeredEvents: google.maps.MapsEventListener[] = []\n containerElement: React.RefObject = React.createRef()\n\n state: AutocompleteState = {\n autocomplete: null,\n }\n\n setAutocompleteCallback = (): void => {\n if (this.state.autocomplete !== null && this.props.onLoad) {\n this.props.onLoad(this.state.autocomplete)\n }\n }\n\n componentDidMount(): void {\n invariant(\n !!google.maps.places,\n 'You need to provide libraries={[\"places\"]} prop to component %s',\n google.maps.places\n )\n\n // TODO: why current could be equal null?\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n const input = this.containerElement.current.querySelector('input')\n\n if (input) {\n const autocomplete = new google.maps.places.Autocomplete(input, this.props.options)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps: {},\n nextProps: this.props,\n instance: autocomplete,\n })\n\n this.setState(function setAutocomplete() {\n return {\n autocomplete,\n }\n }, this.setAutocompleteCallback)\n }\n }\n\n componentDidUpdate(prevProps: AutocompleteProps): void {\n unregisterEvents(this.registeredEvents)\n\n this.registeredEvents = applyUpdatersToPropsAndRegisterEvents({\n updaterMap,\n eventMap,\n prevProps,\n nextProps: this.props,\n instance: this.state.autocomplete,\n })\n }\n\n componentWillUnmount(): void {\n if (this.state.autocomplete !== null) {\n unregisterEvents(this.registeredEvents)\n }\n }\n\n render(): React.ReactNode {\n return
{React.Children.only(this.props.children)}
\n }\n}\n\nexport default Autocomplete\n","import React, { useState, useRef, useContext, useEffect } from 'react';\nimport {\n GoogleMap,\n LoadScript,\n Autocomplete,\n StandaloneSearchBox,\n Marker,\n} from '@react-google-maps/api';\nimport { makeStyles } from '@material-ui/core/styles';\nimport useKey from '@rooks/use-key';\nimport { AppContext, SttFormText } from './all';\n\n// The weirdest fucking syntax\nconst useStyles = makeStyles({\n autocomplete: {\n boxSizing: 'border-box',\n fontFamily: 'Roboto, Helvetica, Arial sans-serif',\n fontSize: '1rem',\n color: 'rgba(0, 0, 0, 0.87)',\n width: '100%',\n margin: 0,\n display: 'block',\n minWidth: 0,\n background: 'none',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: '#c4c4c4',\n borderRadius: 4,\n padding: '8px 16px',\n height: 40,\n '&:hover': {\n borderColor: 'rgba(0, 0, 0, 0.87)',\n },\n },\n mapContainer: {\n width: (props) => props.width,\n height: (props) => props.height,\n },\n top: {\n marginBottom: 16,\n },\n bottom: {\n marginTop: 16,\n },\n});\n\nconst Positions = {\n top: 'top',\n bottom: 'bottom',\n};\n\n/**\n *\tSomewhat basic Google Maps component with one marker and optional search functionality\n *\tOn search or location drag responds with onChange({lat,lng})\n *\n * Props\n *\n *\t* string latLng.(lat,lng)\n *\t* function onChange({lat, lng})\n */\nexport function SttGoogleMap({\n width = '100%',\n height,\n latLng = { lat: 40.3315573, lng: -3.5786729 },\n searchValue = '',\n searchEnabled = false,\n searchPlaceholder = '',\n searchPosition = Positions.top,\n onChange,\n}) {\n const cxt = useContext(AppContext);\n const [locationLatLng, setLocationLatLng] = useState(latLng);\n const [mapLatLng, setMapLatLng] = useState(latLng);\n const [searchRef, setSearchRef] = useState(useRef(null));\n const [zoom, setZoom] = useState(12);\n\n const defaultDimensions = 400;\n\n const classes = useStyles({\n width: width || defaultDimensions,\n height: height || defaultDimensions,\n });\n\n /**\n * Plance changes\n */\n function onPlacesChanged() {\n const places = searchRef.getPlaces();\n let place;\n\n if (places.length > 0) {\n place = places[0];\n }\n\n if (place && place.geometry) {\n const lat = place.geometry.location.lat();\n const lng = place.geometry.location.lng();\n\n setLocationLatLng({ lat, lng });\n setMapLatLng({ lat, lng });\n\n if (onChange && onChange.constructor == Function) {\n onChange({ lat, lng });\n }\n } else {\n console.log(`Error in place.geometry`);\n }\n }\n\n // Called when the user drops the marker\n function onDragEnd(event) {\n if (event.latLng) {\n const lat = event.latLng.lat();\n const lng = event.latLng.lng();\n\n setLocationLatLng({ lat, lng });\n\n if (onChange && onChange.constructor == Function) {\n onChange({ lat, lng });\n }\n }\n }\n\n let searchBlock;\n\n // Optional search bar\n if (searchEnabled) {\n searchBlock = (\n \n setSearchRef(ref)}\n onPlacesChanged={onPlacesChanged}\n >\n \n \n
\n );\n }\n\n // Render\n return (\n \n {/* --- Searching box - TOP --- */}\n {searchPosition == Positions.top && searchBlock}\n\n {/* --- Map --- */}\n {mapLatLng.lat && mapLatLng.lng && (\n
\n \n \n \n
\n )}\n\n {/* --- Searching box - BOTTOM --- */}\n {searchPosition == Positions.bottom && searchBlock}\n \n );\n}\n","import React, { useState, useEffect, useContext, useRef } from 'react';\nimport {\n Grid,\n FormControl,\n InputLabel,\n InputAdornment,\n OutlinedInput,\n IconButton,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n Divider,\n Box,\n} from '@material-ui/core';\nimport { Search as SearchIcon } from '@material-ui/icons';\nimport {\n AppContext,\n SttFormSearch,\n SttFormSelect,\n SttFormText,\n SttPagination,\n} from '../all';\n\n/**\n *\tSelect city\n *\n */\nexport function SttSelectCity({\n grid = true,\n search = true,\n caption,\n name,\n idProvince,\n defVal,\n onChange,\n md = 12,\n xs = 12,\n onSelect,\n disabled,\n ...rest\n}) {\n const cxt = useContext(AppContext);\n const [dialogOpened, setDialogOpened] = useState(false);\n const [cities, setCities] = useState({ count: 0, rows: [] });\n const [keywordSearch, setKewordSearch] = useState('');\n const [page, setPage] = useState(1);\n\n const searchNumRows = 8;\n\n useEffect(() => {\n if (!search) {\n loadCities();\n } else {\n setKewordSearch('');\n loadCities({ page: 1, rows: searchNumRows, name: '' });\n }\n }, [idProvince]);\n\n /**\n * Load cities\n */\n const loadCities = (p = { page: 1 }) => {\n const currPage = p.page !== undefined ? p.page : page;\n cxt.api('GET', `/cities`, {\n params: {\n page: currPage,\n rows: p.rows || 10000,\n name: p.name === undefined ? keywordSearch : p.name,\n idProvince: idProvince || '',\n },\n success: (r) => {\n setCities(r);\n setPage(currPage);\n },\n });\n };\n\n /**\n * Click search\n */\n const handleClickSearch = () => {\n if (disabled) {\n return;\n }\n\n if (!cities) {\n loadCities({ page: 1, rows: searchNumRows });\n }\n setDialogOpened(true);\n };\n\n /**\n * Close dialog\n */\n const onClose = () => {\n setDialogOpened(false);\n };\n\n /**\n * Select\n */\n const _onSelect = (p) => {\n setDialogOpened(false);\n onSelect(p);\n };\n\n let content;\n\n content = (\n <>\n onSelect({ name, value: null })}\n onChange={onChange}\n onClickSearch={handleClickSearch}\n />\n\n \n \n \n loadCities({ page: 1, rows: searchNumRows })\n }\n onChange={({ name, value }) => setKewordSearch(value)}\n />\n \n\n \n {cities &&\n cities.rows.map((city, idx) => (\n
\n \n \n _onSelect({ name, value: city })\n }\n >\n \n \n
\n ))}\n\n {cities && cities.count == 0 && (\n \n \n \n )}\n\n \n {cities && (\n \n \n loadCities({\n page,\n rows: searchNumRows,\n })\n }\n />\n \n )}\n \n
\n
\n \n );\n\n // -----| Render |-----\n\n return grid ? (\n \n {content}\n \n ) : (\n <>{content}\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n CardActions,\n Checkbox,\n FormControlLabel,\n Grid,\n Typography,\n} from '@material-ui/core';\nimport PublishIcon from '@material-ui/icons/Publish';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { Security } from '@material-ui/icons';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport userImage from '../../../images/user.svg';\nimport { SttUploadDialog } from '../../../sporttia/dialogs/SttUploadDialog';\nimport { SttFormText } from '../../../sporttia/forms/SttFormText';\nimport { SttFormDate } from '../../../sporttia/forms/SttFormDate';\nimport { SttSelectGender } from '../../../sporttia/selectors/SttSelectGender';\nimport { useTranslations, useTuples } from '../../../lib/hooks';\nimport { SttGoogleMap } from '../../../sporttia/SttGoogleMap';\nimport { SttButtonSave } from '../../../sporttia/buttons/SttButtonSave';\nimport { SttButtonDelete } from '../../../sporttia/buttons/SttButtonDelete';\nimport { getPath } from '../../Pages';\nimport { SttFormSelect } from '../../../sporttia/forms/SttFormSelect';\nimport { SttSelectCity } from '../../../sporttia/selectors/SttSelectCity';\nimport translations from '../../../translations';\n\nexport default function UserData({ userData }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [user, setUser] = useState(userData);\n const [userPassword, setUserPassword] = useTuples({\n password: '',\n });\n const [openUploadPhoto, setOpenUploadPhoto] = useState(false);\n const [languages, setLanguages] = useState([]);\n const { translate } = useTranslations();\n useEffect(() => {\n setUser(userData);\n\n if (cxt.config && cxt.config.languages) {\n const languagesOption = [];\n cxt.config.languages.map((lg) =>\n languagesOption.push({\n key: lg.key,\n caption: lg.caption,\n value: lg.key,\n }),\n );\n setLanguages(languagesOption);\n }\n }, [userData]);\n\n const handleForm = (p) => {\n setUser({ ...user, [p.name]: p.value });\n };\n\n const onChangeLatLng = ({ lat, lng }) => {\n setUser({ ...user, x: lat, y: lng });\n };\n\n const getParamsByUser = (currentUser) => ({\n login: currentUser.login,\n name: currentUser.name,\n surname1: currentUser.surname1,\n surname2: currentUser.surname2,\n email: currentUser.email,\n mobile: currentUser.mobile,\n birthday: currentUser.birthday,\n gender: currentUser.gender,\n x: currentUser.x,\n y: currentUser.y,\n password:\n userPassword.password !== '' ? userPassword.password : undefined,\n passwordExpirationInterval:\n currentUser.passwordExpirationInterval === 'NEVER'\n ? null\n : currentUser.passwordExpirationInterval,\n commActive: currentUser.commActive,\n identificationType: currentUser.identificationType,\n dni: currentUser.dni,\n address: currentUser.address,\n postalCode: currentUser.postalCode,\n idCity: currentUser.city?.id,\n addrVia: currentUser.addrVia,\n addrType: currentUser.addrType,\n addrNumber: currentUser.addrNumber,\n addrLetter: currentUser.addrLetter,\n iban: currentUser.iban,\n lang: currentUser.lang,\n twoFactorEnabled: currentUser?.twoFactorEnabled,\n });\n\n const logout = () => {\n cxt.setLoggedUser(false);\n cxt.setHeader(null);\n history.push(getPath('login'));\n };\n\n const saveUser = () => {\n cxt.setLang(languages.find((lg) => lg.key === user.lang));\n cxt.api('PUT', '/me', {\n params: getParamsByUser(user),\n success: () => {\n if (user.login !== cxt.user.login) {\n cxt.showMessage('S', cxt.t('user.change.username'));\n logout();\n } else {\n cxt.showMessage('S', cxt.t('Modified'));\n }\n },\n });\n };\n\n const deleteUser = () => {\n cxt.api('DELETE', '/me', {\n confirmation: true,\n success: () => {\n logout();\n },\n });\n };\n\n let lastVisit = null;\n if (cxt?.user?.lastVisit) {\n lastVisit = moment(cxt?.user?.lastVisit).format('D MMM YYYY - HH:mm');\n }\n\n // -----| Render |-----\n return (\n <>\n {user && (\n \n \n \n {user.img ? (\n \n ) : (\n \n \n \n )}\n \n }\n onClick={() => setOpenUploadPhoto(true)}\n >\n {cxt.t('Upload')}\n \n \n {lastVisit && (\n \n \n Última visita:\n \n \n {lastVisit}\n \n \n )}\n \n \n handleForm({\n name: 'twoFactorEnabled',\n value: param.target.checked,\n })\n }\n />\n }\n icon={}\n label={\n \n {translate(\n translations.user.userLabel2FA,\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 \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 \n \n )}\n\n setOpenUploadPhoto(false)}\n uploadParams={{\n idUser: user && user.id,\n }}\n onUploaded={(r) => {\n const { file } = r;\n setOpenUploadPhoto(false);\n setUser({\n ...user,\n img: {\n id: file.id,\n },\n });\n }}\n />\n \n );\n}\n","import React, { useContext } from 'react';\nimport { IconButton } from '@material-ui/core';\nimport { Delete, VpnKey } from '@material-ui/icons';\nimport Card from '@material-ui/core/Card';\nimport CardHeader from '@material-ui/core/CardHeader';\nimport Avatar from '@material-ui/core/Avatar';\nimport { AppContext } from '../../AppContext';\n\nexport function SttSportCard({ sport, onDelete }) {\n const cxt = useContext(AppContext);\n\n return (\n <>\n {sport && (\n \n \n }\n action={\n onDelete(sport.id)}\n >\n \n \n }\n title={sport.name}\n />\n \n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Container,\n Grid,\n TextField,\n Button,\n Dialog,\n DialogContent,\n DialogTitle,\n TablePagination,\n Box,\n} from '@material-ui/core';\nimport { Close } from '@material-ui/icons';\nimport { makeStyles } from '@material-ui/core/styles';\nimport useKey from '@rooks/use-key';\nimport { AppContext } from '../all';\n\nconst useStyles = makeStyles((theme) => ({\n cursorPointer: {\n cursor: 'pointer',\n },\n icon: {\n width: 32,\n height: 32,\n },\n}));\n\nexport function SttSelectSportDialog({ open, onSelected, onClose }) {\n const cxt = useContext(AppContext);\n const [search, setSearch] = useState('');\n const [page, setPage] = useState(1);\n const [numRows, setNumRows] = useState(25);\n const [totalRows, setTotalRows] = useState(0);\n const [sports, setSports] = useState([]);\n\n const textRef = React.useRef(null);\n\n const classes = useStyles();\n\n // Filter sports when search changes\n useEffect(() => {\n loadSports({ page, numRows });\n }, [page, numRows]);\n\n useKey(\n ['Enter'],\n () => {\n if (page !== 1) {\n setPage(1);\n } else {\n loadSports({ page: 1, numRows });\n }\n },\n { target: textRef },\n );\n\n function loadSports({ page, numRows }) {\n cxt.api('GET', `/sports`, {\n params: {\n name: search,\n page,\n rows: numRows,\n },\n success: (r) => {\n console.log(`${r.rows.length} filas`);\n setTotalRows(r.count);\n setSports(r.rows);\n },\n });\n }\n\n return (\n \n \n \n \n \n \n \n \n setSearch(e.target.value)}\n />\n setPage(page + 1)}\n onChangeRowsPerPage={(e) => setNumRows(e.target.value)}\n labelDisplayedRows={({ from, to, count }) =>\n `${from}-${to === -1 ? count : to} ${cxt.t(\n 'of',\n )} ${count}`\n }\n />\n \n \n \n {(() => {\n const items = [];\n for (let i = 0; i < numRows; i++) {\n const item = sports[i];\n if (item) {\n items.push(\n \n {\n onSelected(item);\n onClose();\n }}\n fullWidth\n variant=\"contained\"\n color=\"default\"\n startIcon={\n {\n e.target.onError =\n null;\n e.target.src =\n cxt.getResource(\n `/sports/28.png`,\n );\n }}\n />\n }\n >\n {cxt.t(`Sport.${item.id}`)}\n \n ,\n );\n } else {\n items.push(\n ,\n );\n }\n }\n return items;\n })()}\n \n \n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport { Grid } from '@material-ui/core';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttNoResults } from '../../../sporttia/SttNoResults';\nimport { SttButtonSave } from '../../../sporttia/buttons/SttButtonSave';\nimport { SttSportCard } from '../../../sporttia/public/cards/SttSportCard';\nimport { SttSelectSportDialog } from '../../../sporttia/dialogs/SttSelectSportDialog';\n\nexport default function UserSports({ userSportsList, onUpdate }) {\n const cxt = useContext(AppContext);\n const [userSports, setUserSports] = useState(userSportsList);\n const [openSportSelector, setOpenSportSelector] = useState(false);\n\n useEffect(() => {\n setUserSports(userSportsList);\n }, [userSportsList]);\n\n const addSport = (sport) => {\n cxt.api('POST', `/my/sports/${sport.id}`, {\n success: (r) => {\n onUpdate();\n },\n });\n };\n\n const deleteSport = (sportId) => {\n cxt.api('DELETE', `/my/sports/${sportId}`, {\n success: (r) => {\n onUpdate();\n },\n });\n };\n\n return (\n <>\n \n \n setOpenSportSelector(true)}\n />\n \n \n \n \n {userSports && userSports.length > 0 ? (\n userSports.map((userSport, i) => (\n \n \n \n \n \n \n \n ))\n ) : (\n \n )}\n \n \n addSport(sport)}\n onClose={() => setOpenSportSelector(false)}\n />\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Box, Divider, Grid, Typography } from '@material-ui/core';\nimport { CheckCircleOutline, HighlightOff } from '@material-ui/icons';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Link from '@material-ui/core/Link';\nimport { AppContext } from '../../../sporttia/AppContext';\n\nconst useStyles = makeStyles({\n notificationButton: {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n notificationButtonActive: {\n color: '#18b432',\n '&:hover': {\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n notificationButtonDisabled: {\n color: '#df3525',\n '&:hover': {\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n\nexport default function UserNotifications({ userData }) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const [notificationsData, setNotificationsData] = useState();\n const [user, setUser] = useState();\n\n let notConfGroups = [\n {\n title: cxt.t('Booking'),\n notifications: [\n {\n id: 16,\n name: cxt.t('not16.hart.name'),\n email: true,\n sms: true,\n push: true,\n updatable: [],\n },\n ],\n },\n /* {\n title: cxt.t('games'),\n notifications: [\n {id: 12, name: cxt.t('not12.hart.name'), email: true, sms: true, push: true, updatable: []},\n {id: 3, name: cxt.t('not3.hart.name'), email: true, sms: true, push: true, updatable: []},\n {id: 1, name: cxt.t('not1.hart.name'), email: true, sms: true, push: true, updatable: []},\n {id: 2, name: cxt.t('not2.hart.name'), email: true, sms: true, push: true, updatable: []},\n ]\n }, */\n {\n title: cxt.t('Events'),\n notifications: [\n {\n id: 14,\n name: cxt.t('not14.hart.name'),\n email: true,\n sms: false,\n push: true,\n updatable: [],\n },\n {\n id: 45,\n name: cxt.t('not45.hart.name'),\n email: true,\n sms: false,\n push: true,\n updatable: [],\n },\n {\n id: 41,\n name: cxt.t('not41.hart.name'),\n email: true,\n sms: true,\n push: true,\n updatable: [],\n },\n {\n id: 56,\n name: cxt.t('not56.hart.name'),\n email: true,\n sms: true,\n push: true,\n updatable: [],\n },\n ],\n },\n {\n title: cxt.t('Activities'),\n notifications: [\n {\n id: 23,\n name: cxt.t('not23.hart.name'),\n email: true,\n sms: false,\n push: true,\n updatable: [],\n },\n {\n id: 10,\n name: cxt.t('not10.hart.name'),\n email: true,\n sms: false,\n push: true,\n updatable: [],\n },\n {\n id: 28,\n name: cxt.t('not28.hart.name'),\n email: true,\n sms: true,\n push: true,\n updatable: [],\n },\n ],\n },\n {\n title: cxt.t('Messages'),\n notifications: [\n {\n id: 18,\n name: cxt.t('not18.hart.name'),\n email: true,\n sms: false,\n push: true,\n updatable: [],\n },\n ],\n },\n ];\n\n useEffect(() => {\n setUser(userData);\n }, [userData]);\n\n const updateInitialNotificationData = (notifications) => {\n if (notifications) {\n notConfGroups = notConfGroups.map((notConfGroup) => ({\n ...notConfGroup,\n notifications: notConfGroup.notifications.map(\n (notification) => {\n const notificationValue = notifications.find(\n (n) => n.id === notification.id,\n );\n return {\n ...notification,\n sms: notificationValue.sms,\n email: notificationValue.email,\n push: notificationValue.push,\n updatable: notificationValue.updatable,\n };\n },\n ),\n }));\n }\n\n return notConfGroups;\n };\n const loadNotificationsData = () => {\n cxt.api('GET', `/my/notifications`, {\n success: (r) => {\n setNotificationsData(updateInitialNotificationData(r.notConfs));\n },\n });\n };\n useEffect(() => {\n loadNotificationsData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const changeNotification = (notification, type) => {\n cxt.api('PUT', `/my/notifications/${notification.id}`, {\n params: {\n [type]: !notification[type],\n },\n success: () => {\n loadNotificationsData();\n },\n });\n };\n\n const changeUserCommunications = () => {\n cxt.api('PUT', '/me', {\n params: {\n commActive: !user.commActive,\n },\n success: (r) => {\n setUser(r.user);\n cxt.showMessage('S', cxt.t('Modified'));\n },\n });\n };\n\n // -----| Render |-----\n return (\n <>\n {user && user.commActive ? (\n \n \n {cxt.t('Description')}\n \n \n {cxt.t('Email')}\n \n \n SMS\n \n \n App\n \n \n ) : (\n ''\n )}\n\n {user && user.commActive && notificationsData\n ? notificationsData.map((notConfGroup) => (\n \n \n {notConfGroup.title}\n \n \n \n \n\n \n {notConfGroup.notifications.map((not) => (\n \n \n {not.name}\n \n \n {not.email ? (\n \n changeNotification(\n not,\n 'email',\n )\n }\n />\n ) : (\n \n changeNotification(\n not,\n 'email',\n )\n }\n />\n )}\n \n\n \n {not.sms ? (\n \n changeNotification(\n not,\n 'sms',\n )\n }\n />\n ) : (\n \n changeNotification(\n not,\n 'sms',\n )\n }\n />\n )}\n \n\n \n {not.push ? (\n \n changeNotification(\n not,\n 'push',\n )\n }\n />\n ) : (\n \n changeNotification(\n not,\n 'push',\n )\n }\n />\n )}\n \n \n ))}\n \n \n ))\n : ''}\n\n {user && user.commActive ? (\n \n \n \n ) : (\n ''\n )}\n\n \n \n {user && user.commActive\n ? cxt.t('page.user.configuration.noMoreComms')\n : cxt.t('page.user.configuration.notActive.title')}\n \n \n \n );\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Typography } from '@material-ui/core';\nimport clsx from 'clsx';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n fontWeight: theme.typography.fontWeightMedium,\n marginTop: -2\n }\n };\n};\nvar AlertTitle = /*#__PURE__*/React.forwardRef(function AlertTitle(props, ref) {\n var classes = props.classes,\n className = props.className,\n other = _objectWithoutProperties(props, [\"classes\", \"className\"]);\n\n return /*#__PURE__*/React.createElement(Typography, _extends({\n gutterBottom: true,\n component: \"div\",\n ref: ref,\n className: clsx(classes.root, className)\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AlertTitle.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiAlertTitle'\n})(AlertTitle);","import { useContext } from 'react';\nimport { useAPI } from '../lib/hooks';\nimport { AppContext } from '../sporttia/AppContext';\nimport useRestService from './RestService';\n\nconst resource = '/me';\n\n/**\n * Hook to access all 'me' resources.\n */\nexport default function useMeService() {\n const { migrationApis } = useContext(AppContext);\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * PUT /me request.\n * @param params Resource parameters to be sent with the request.\n * @returns {Promise|*} Return request promise.\n */\n function updateMe(params) {\n return request('PUT', resource, params);\n }\n\n return {\n ...services,\n updateMe,\n };\n}\n","import React, { useState } from 'react';\nimport { Alert, AlertTitle } from '@material-ui/lab';\nimport { Box } from '@material-ui/core';\nimport { useMutation } from 'react-query';\nimport { useTranslations } from '../../../lib/hooks';\nimport { SttButton } from '../../../sporttia/buttons/SttButton';\nimport useMeService from '../../../services/MeService';\n\nexport default function UserConnections({ userData }) {\n const { translate } = useTranslations();\n const [user, setUser] = useState(userData);\n const meService = useMeService();\n const updateMutation = useMutation(\n (params) => meService.updateMe(params?.params),\n {\n onSuccess: (data) => {\n setUser(data?.user);\n },\n },\n );\n\n return (\n <>\n {user?.paycometIdUser ? (\n \n {translate('connectdWithPaycomet')}\n {translate('paycometConnectionAlert')}\n \n \n updateMutation.mutate({\n params: { paycometIdUser: '' },\n })\n }\n />\n \n \n ) : (\n \n {translate('noConnections')}\n {translate('noConnectionsAlert')}\n \n )}\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport Container from '@material-ui/core/Container';\nimport Box from '@material-ui/core/Box';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttTabs } from '../../../sporttia/SttTabs';\nimport UserData from './UserData';\nimport UserSports from './UserSports';\nimport UserNotifications from './UserNotifications';\nimport UserConnections from './UserConnections';\n\nexport default function UserConfiguration({}) {\n const cxt = useContext(AppContext);\n const [user, setUser] = useState();\n const [userSports, setUserSports] = useState([]);\n\n const loadUserData = () => {\n cxt.api('GET', `/me`, {\n success: (r) => {\n setUser(r.user);\n if (r.user.sports) setUserSports(r.user.sports);\n },\n });\n };\n\n useEffect(() => {\n loadUserData();\n }, []);\n\n // -----| Render |-----\n return (\n \n \n ,\n },\n {\n caption: cxt.t('Sports'),\n component: (\n \n ),\n },\n {\n caption: cxt.t('Notifications'),\n component: ,\n },\n {\n caption: cxt.t('Connections'),\n component: ,\n },\n ]}\n />\n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Box, Container, FormControlLabel, Switch } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport moment from 'moment';\nimport { useHistory, Link } from 'react-router-dom';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport { useInteractionsFiles, useToggle } from '../../../lib/hooks';\nimport PaymentFormDialog from '../../../components/dialogs/PaymentFormDialog';\nimport { formatPriceByLocale } from '../../../lib/utils';\nimport constants from '../../../config/constants';\n\nconst getPaymentFormsBySportcenter = (sportcenter) => {\n const result = [constants.payment.paymentForms.purse.name];\n\n if (sportcenter.tpvConf) {\n result.push(constants.payment.paymentForms.tpv.name);\n }\n\n return result;\n};\n\nexport default function UserPayments() {\n const cxt = useContext(AppContext);\n const { openFile } = useInteractionsFiles();\n const [filters, setFilters] = useState({\n scName: '',\n });\n const [userPayments, setUserPayments] = useState();\n const [debts, toggleDebts] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadUserPayments();\n });\n const [paymentChosen, setPaymentChosen] = useState(null);\n const history = useHistory();\n\n /**\n * Download payment Ticket.\n * @param idPayment Payment ID.\n * @param type Ticket type.\n */\n const ticket = (idPayment, type = 0) => {\n openFile(\n `/payments/${idPayment}.pdf?format=${type}`,\n 'application/pdf',\n null,\n `${cxt.t('Ticket')}_${idPayment}`,\n );\n };\n\n /**\n * Load user payments.\n * @param p params with rows and page requested.\n */\n const loadUserPayments = (p = { rows: 45, page: 1 }) => {\n cxt.api('GET', `/my/payments`, {\n params: {\n ...filters,\n ...p,\n page: p.page,\n rows: p.rows,\n status: debts ? 'NOT_PAID' : 'PAID',\n },\n success: (r) => {\n setUserPayments(r);\n },\n });\n };\n\n /**\n * Make the payment.\n * @param idPayment Payment ID.\n * @param pf Payment form (number).\n */\n const pay = (idPayment, pf) => {\n cxt.api('PUT', `/payments/${idPayment}/collect`, {\n params: {\n paymentForm: pf,\n },\n confirmation: pf !== 'TPV',\n success: (r) => {\n if (pf === 'TPV') {\n history.push(getPath('tpvSwitcher', { id: r.tpv.id }));\n } else {\n loadUserPayments();\n setPaymentChosen(null);\n cxt.showMessage('S', cxt.t('PaymentCollected'));\n }\n },\n });\n };\n\n return (\n <>\n \n \n {/* Top controls with sport center search field and toggle button to change between PAID or NOT PAID payments. */}\n {\n setFilters({ ...filters, [name]: value });\n }}\n onFilter={loadUserPayments}\n mainAction={{\n type: 'component',\n component: (\n \n toggleDebts(ev.target.checked)\n }\n />\n }\n label={cxt.t('Debt')}\n />\n ),\n }}\n fields={[\n {\n caption: cxt.t('Sportcenter'),\n name: 'scName',\n type: 'text',\n value: filters.scName,\n onEnterKey: () => loadUserPayments(),\n },\n ]}\n />\n\n {/* Table with payments data. */}\n \n moment(row.created).format('D MMM YYYY'),\n },\n {\n title: cxt.t('Concept'),\n name: 'concept',\n value: (row) => (\n \n {row.concept}\n \n ),\n },\n {\n title: cxt.t('Center'),\n name: 'sc',\n value: (row) => (\n \n {row.sc.short}\n \n ),\n },\n {\n title: cxt.t('paymentForm'),\n name: 'paymentForm',\n value: (row) =>\n row.paymentForm\n ? cxt.t(`PF.${row.paymentForm}`)\n : cxt.t('Pending'),\n },\n {\n title: cxt.t('paymentDate'),\n name: 'paymentDate',\n width: 110,\n value: (row) =>\n row.paymentDate\n ? moment(row.paymentDate).format(\n 'D MMM YYYY',\n )\n : '',\n },\n {\n title: cxt.t('Price'),\n name: 'price',\n value: (row) => (\n \n {formatPriceByLocale(\n row.price,\n row.priceShape?.currency,\n row.priceShape?.locale,\n )}\n \n ),\n },\n {\n title: '',\n name: 'pay',\n value: (row) =>\n row.status === 'PAID' ? (\n ticket(row.id)}>\n {cxt.t('Ticket')}\n \n ) : (\n \n setPaymentChosen(row)\n }\n >\n {cxt.t('Pay')}\n \n ),\n },\n ]}\n />\n \n \n\n {/* Payment form dialog to collect payment. */}\n {paymentChosen && (\n setPaymentChosen(null)}\n pfs={getPaymentFormsBySportcenter(paymentChosen.sc)}\n onSelect={(pf) => pay(paymentChosen.id, pf)}\n />\n )}\n \n );\n}\n","import React, { useContext } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Card, CardContent, Grid, Typography } from '@material-ui/core';\nimport { usePageHeader } from '../../lib/hooks';\nimport { getPath } from '../Pages';\nimport { AppContext } from '../../sporttia/AppContext';\n\nexport default function ScHome() {\n const cxt = useContext(AppContext);\n\n usePageHeader('Home');\n\n const menus = cxt.menus.sc\n .filter(\n (menu) =>\n (!menu.privilege || cxt.privileges?.includes(menu.privilege)) &&\n (!menu.module || cxt.sc.modules?.includes(menu.module)) &&\n menu.submenus,\n )\n .map((menu) => ({\n ...menu,\n submenus: menu.submenus.filter(\n (submenu) =>\n (!submenu.privilege ||\n cxt.privileges?.includes(submenu.privilege)) &&\n (!submenu.module ||\n cxt.sc.modules?.includes(submenu.module)),\n ),\n }));\n\n return (\n \n {menus.map((item) => (\n \n \n \n \n {cxt.t(item.caption)}\n \n
    \n {item.submenus.map((subitem) => (\n \n \n {cxt.t(subitem.caption)}\n \n \n ))}\n
\n
\n \n \n ))}\n \n );\n}\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { Card, CardContent, Grid, Typography } from '@material-ui/core';\nimport { usePageHeader } from '../../lib/hooks';\n\nimport { getPath } from '../Pages';\n\nconst menus = require('../../config/menus.json');\n\nexport default function AdminHome() {\n usePageHeader('Home');\n\n return (\n \n {menus.admin &&\n menus.admin\n .filter((item) => item?.submenus?.length > 0)\n .map((item) => (\n \n \n \n \n {item.caption}\n \n
    \n {item?.submenus?.map((subitem) => (\n \n \n {subitem.caption}\n \n \n ))}\n
\n
\n \n \n ))}\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport Paper from '@material-ui/core/Paper';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { useLoader, useTranslations } from '../../../../lib/hooks';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SUPERADMIN_TRANSLATION } from '../../../../lib/queryKeys';\nimport useCitiesService from '../../../../services/CitiesService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport translations from '../../../../translations';\n/**\n * City view, contains city form.\n * @param id City ID.\n * @param onClose Function executed when closing the full dialog.\n * @param onCreate Action taken when creating the translation.\n * @param onUpdate Action taken when updating the translation.\n * @param onDelete Method executed when removing translation.\n * @returns {JSX.Element}\n */\nexport default function AdminCity({\n id = null,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const queryClient = useQueryClient();\n const citiesService = useCitiesService();\n const form = useForm();\n const [cityId, setCityId] = useState(id);\n const { translate } = useTranslations();\n const cityQuery = useQuery(\n [SUPERADMIN_TRANSLATION, { id: cityId }],\n () => citiesService.get(cityId),\n { enabled: !!cityId && cityId !== 'create' },\n );\n const deleteMutation = useMutation(\n (params) => citiesService.remove(params?.id),\n {\n onSuccess: () => {\n onDelete();\n },\n },\n );\n const updateMutation = useMutation(\n (params) => citiesService.update(params?.id, params?.params),\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n [SUPERADMIN_TRANSLATION, { id: data?.city?.id }],\n data,\n );\n onUpdate(data);\n },\n },\n );\n const createMutation = useMutation(\n (params) => citiesService.create(params?.params),\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n [SUPERADMIN_TRANSLATION, { id: data?.city?.id }],\n data,\n );\n onCreate(data);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create city.\n * @param formData Form data.\n */\n const mutateCity = (formData) => {\n if (cityId !== 'create') {\n updateMutation.mutate({\n id: cityId,\n params: {\n name: formData.name,\n idCountry: formData?.country?.id,\n mapX: formData?.map?.mapX,\n mapY: formData?.map?.mapY,\n },\n });\n } else {\n createMutation.mutate({\n params: {\n name: formData.name,\n idCountry: formData?.country?.id,\n mapX: formData?.map?.mapX,\n mapY: formData?.map?.mapY,\n },\n });\n }\n };\n\n /**\n * When the \"city\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (cityQuery?.status === 'success') {\n form.reset({\n name: cityQuery?.data?.city?.name,\n country: cityQuery?.data?.city?.country,\n map: {\n mapX: cityQuery?.data?.city?.mapX,\n mapY: cityQuery?.data?.city?.mapY,\n },\n });\n } else {\n form.reset({\n name: '',\n });\n }\n }, [cityQuery?.data?.city, form, cityQuery?.status]);\n\n /**\n * Update city id if id prop was changed and reset form values.\n */\n useEffect(() => {\n setCityId(id);\n form.reset();\n }, [id, form]);\n\n if (\n updateMutation?.isSuccess ||\n createMutation?.isSuccess ||\n deleteMutation?.isSuccess\n ) {\n cxt?.showMessage(\n 'S',\n translate(translations.generic.OperationSuccessful),\n );\n\n if (updateMutation?.isSuccess) updateMutation.reset();\n if (deleteMutation?.isSuccess) deleteMutation.reset();\n if (createMutation?.isSuccess) createMutation.reset();\n }\n\n return (\n \n {loader}\n \n \n \n mutateCity(formData),\n ),\n },\n {\n show:\n cityQuery?.data?.city?.id &&\n !cityQuery?.data?.city?.trash,\n type: 'delete',\n onClick: () =>\n deleteMutation.mutate({ id: cityId }),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Box, Link } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport PlayArrowIcon from '@material-ui/icons/PlayArrow';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { SUPERADMIN_API_TRIGGERS_EXECUTIONS } from '../../../../lib/queryKeys';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport AdminApiTriggerExecutionDialog from './AdminApiTriggerExecutionDialog';\nimport {\n useLoader,\n usePageHeader,\n useQueryFilters,\n useTranslations,\n} from '../../../../lib/hooks';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport useCoresService from '../../../../services/CoresService';\nimport { SttButtonAccept } from '../../../../sporttia/all';\nimport FilterDialog from '../../../../components/filter/FilterDialog';\nimport DateBuilder from '../../../../lib/DateBuilder';\n\nconst useStyles = makeStyles({\n playButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n\n/**\n * View where the sporttia superadmin can see the list of apis triggers executions.\n * @returns {JSX.Element}\n */\nexport default function AdminApiTriggersExecutions() {\n usePageHeader('apiTriggersExecutions');\n\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const { translate } = useTranslations();\n\n const queryClient = useQueryClient();\n const coresService = useCoresService();\n const [filters, setFilters] = useQueryFilters(\n {},\n SUPERADMIN_API_TRIGGERS_EXECUTIONS,\n );\n const [triggerExecution, setTriggerExecution] = useState(null);\n const [executionRunParams, setExecutionRunParams] = useState({\n scId: null,\n maxExecutions: 100,\n });\n const [triggersExecutionDialog, setTriggerExecutionDialog] =\n useState(false);\n\n const createMutation = useMutation(\n (params) => coresService.createCoresTriggersExecutionsRun(params?.id),\n {\n onSuccess: () => {\n queryClient.invalidateQueries(\n SUPERADMIN_API_TRIGGERS_EXECUTIONS,\n );\n },\n },\n );\n\n const coresTriggersMaxExecutionRun = useMutation(\n (params) => coresService.coresTriggersMaxExecutionRun(params),\n {\n onSuccess: () => {\n queryClient.invalidateQueries(\n SUPERADMIN_API_TRIGGERS_EXECUTIONS,\n );\n },\n },\n );\n\n const [, loader] = useLoader([createMutation.status]);\n\n return (\n \n {loader}\n {\n let { dateend, dateini } = { ...value };\n const { timeend, timeini, ...newValues } = {\n ...value,\n };\n\n if (dateini) {\n dateini = timeini\n ? new DateBuilder(dateini).setTime(timeini).ymdhms()\n : new DateBuilder(dateini).ymd();\n }\n if (dateend) {\n dateend = timeend\n ? new DateBuilder(dateend).setTime(timeend).ymdhms()\n : new DateBuilder(dateend).ymd();\n }\n\n if (newValues.status === 'ALL') {\n newValues.status = null;\n }\n\n setFilters({ ...newValues, dateini, dateend });\n }}\n />\n \n {\n setTriggerExecutionDialog(true);\n }}\n style={{ marginLeft: 25 }}\n />\n \n {\n setTriggerExecutionDialog(false);\n }}\n fields={[\n {\n caption: cxt.t('code'),\n name: 'scId',\n type: 'text',\n value: executionRunParams.scId,\n },\n {\n caption: cxt.t('numberOfExecutions'),\n name: 'maxExecutions',\n type: 'text',\n value: executionRunParams.maxExecutions,\n },\n ]}\n onChange={({ value, name }) => {\n setExecutionRunParams({\n ...executionRunParams,\n [name]: value === '' ? null : value,\n });\n }}\n onApply={() => {\n coresTriggersMaxExecutionRun.mutate({\n scId: executionRunParams.scId,\n maxExecutions: executionRunParams.maxExecutions,\n });\n setTriggerExecutionDialog(false);\n }}\n />\n \n coresService.getCoresTriggersExecutions(params)\n }\n queryParams={filters}\n columns={[\n {\n title: 'Id',\n field: 'id',\n value: (row) => (\n setTriggerExecution(row)}\n variant=\"body2\"\n >\n {row.id}\n \n ),\n },\n {\n title: 'Created',\n field: 'created',\n type: 'dmyhm',\n },\n\n {\n title: 'Execution',\n field: 'execution',\n type: 'dmyhm',\n },\n {\n title: 'Status',\n field: 'status',\n value: (row) => {\n let color = 'red';\n if (row?.status === 'OK') {\n color = 'green';\n }\n if (row?.status === 'SKIP') {\n color = 'blue';\n }\n\n return {row?.status};\n },\n },\n {\n title: 'SC',\n field: 'sc',\n value: (row) => row?.coreTriggerSC?.sc?.name,\n },\n {\n title: 'Trigger',\n value: (row) => row?.coreTriggerSC?.coreTrigger?.script,\n },\n {\n title: 'Code',\n value: (row) => row?.coreTriggerSC?.coreTrigger?.code,\n },\n {\n title: 'Request',\n width: 50,\n value: (row) => row?.request?.slice(0, 30),\n },\n {\n title: 'Answer',\n width: 50,\n value: (row) => row?.answer?.slice(0, 30),\n },\n {\n title: 'Object',\n width: 50,\n value: (row) =>\n (row?.mship && row?.mship?.id) ||\n (row?.purse && row?.purse?.id) ||\n (row?.group && row?.group?.id) ||\n '',\n },\n {\n title: '',\n value: (row) => (\n \n createMutation.mutate({ id: row?.id })\n }\n />\n ),\n },\n ]}\n />\n\n {triggerExecution && (\n {\n setTriggerExecution(null);\n }}\n />\n )}\n \n );\n}\n","import React, { useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { SttDialog } from './SttDialog';\nimport { AppContext } from '../AppContext';\nimport { useInteractionsFiles, useTranslations } from '../../lib/hooks';\nimport { SttButton } from '../buttons/SttButton';\n\nfunction SttUserUnlockerDialog({\n unlocker = null,\n title = null,\n subtitle = null,\n onClose,\n}) {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const { downloadFile } = useInteractionsFiles();\n\n return (\n \n {unlocker && unlocker.type === 'PIN' && unlocker.code && (\n \n \n {unlocker.code}\n \n \n )}\n\n {unlocker && unlocker.type === 'QR' && unlocker.code && (\n \n \n \n )}\n\n {title && (\n \n {title}\n \n )}\n\n {subtitle && (\n \n {subtitle}\n \n )}\n\n \n \n downloadFile(\n `/unlockers/${unlocker?.id}.pdf`,\n 'application/pdf',\n {},\n `Unlocker_${unlocker?.id}.pdf`,\n )\n }\n />\n \n \n }\n />\n );\n}\n\nexport default SttUserUnlockerDialog;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Paper, Box, Grid, Typography } from '@material-ui/core';\nimport { SttDialog, SttFormDate, SttFormText, SttSelectGender } from '../all';\nimport { AppContext } from '../AppContext';\nimport { getErrorMessage, subsetObject } from '../../lib/utils';\nimport { GENDER } from '../selectors/SttSelectGender';\n\ninterface User {\n id: number;\n login: string;\n name: string;\n fullName: string;\n surname1: string;\n surname2?: string | null;\n dni?: string | null;\n phone?: string | null;\n birthday?: string | null;\n gender?: string | null;\n address?: string | null;\n lastVisit?: string | null;\n}\n\ninterface SportCenter {\n id: number;\n name: string;\n short: string;\n domain: string;\n}\n\ninterface Unlocker {\n id: number;\n type: string;\n code: string;\n}\n\ninterface Pupil {\n id: number;\n user: User;\n sc: SportCenter;\n unlockers: Unlocker[];\n}\n\ninterface SttPupilDialogProps {\n open: boolean;\n pupil: Pupil | null;\n onClose: () => void;\n onSave: (user: User) => void;\n}\n\nexport default function SttPupilDialog({\n open,\n pupil,\n onClose,\n onSave,\n}: SttPupilDialogProps): JSX.Element {\n const cxt = useContext(AppContext);\n const [pupilData, setPupilData] = useState(null);\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (pupil) {\n setPupilData(pupil);\n }\n }, [pupil]);\n\n function savePupil() {\n if (!pupilData) return;\n\n setLoading(true);\n\n const params = subsetObject(\n pupilData.user,\n 'name,surname1,surname2,dni,birthday,gender,address',\n );\n\n cxt?.api('PUT', `/users/${pupilData.user.id}`, {\n params: {\n ...params,\n },\n success: (response: { user: User }) => {\n onSave?.(response.user);\n onClose();\n },\n error: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n }\n\n function handleChange({ name, value }: { name: string; value: string }) {\n setPupilData((prevPupilData) => {\n if (!prevPupilData) return null;\n return {\n ...prevPupilData,\n user: {\n ...prevPupilData.user,\n [name]: value,\n },\n };\n });\n }\n\n // -----| Render |-----\n return (\n \n \n \n \n \n {cxt?.t(\n 'app.account.pupils.pupilsData',\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 buttons={[\n {\n type: 'save',\n onClick: savePupil,\n disabled: loading,\n },\n {\n type: 'close',\n onClick: onClose,\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Paper } from '@material-ui/core';\nimport Container from '@material-ui/core/Container';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttChipUnlocker, SttTable } from '../../../sporttia/all';\nimport SttUserUnlockerDialog from '../../../sporttia/dialogs/SttUserUnlockerDialog';\nimport SttPupilDialog from '../../../sporttia/dialogs/SttPupilDialog';\n\n/**\n * View to see the list of pupils of a user.\n * @returns {JSX.Element}\n */\nfunction UserPupils() {\n const cxt = useContext(AppContext);\n const [state, setState] = useState({\n pupils: [],\n openUnlocker: null,\n selectedPupil: null,\n openPupilDialog: false,\n });\n\n const { pupils, openUnlocker, selectedPupil, openPupilDialog } = state;\n\n const loadUserPupils = ({ page = 1, rows = 20 } = {}) => {\n cxt.api('GET', '/my/pupils', {\n params: { page, rows },\n success: (r) =>\n setState((prevState) => ({ ...prevState, pupils: r })),\n });\n };\n\n const handleSavePupil = () => {\n loadUserPupils();\n setState((prevState) => ({\n ...prevState,\n openPupilDialog: false,\n selectedPupil: null,\n }));\n };\n\n const handleRowClick = (row) => {\n setState((prevState) => ({\n ...prevState,\n selectedPupil: row,\n openPupilDialog: true,\n }));\n };\n\n const handleUnlockerClick = (e, unlocker) => {\n e.stopPropagation();\n if (unlocker.type === 'PIN' || unlocker.type === 'QR') {\n setState((prevState) => ({ ...prevState, openUnlocker: unlocker }));\n }\n };\n\n return (\n <>\n \n \n row?.user?.fullName,\n },\n {\n title: cxt.t('Sportcenter'),\n value: (row) => row?.sc?.name,\n },\n {\n title: cxt.t('Unlocker'),\n value: (row) =>\n row?.unlockers?.map((unlocker) => (\n \n handleUnlockerClick(e, unlocker)\n }\n />\n )),\n },\n ]}\n onClickRow={handleRowClick}\n />\n \n \n\n \n setState((prevState) => ({\n ...prevState,\n openUnlocker: null,\n selectedPupil: null,\n }))\n }\n />\n\n {openPupilDialog && selectedPupil && (\n \n setState((prevState) => ({\n ...prevState,\n openPupilDialog: false,\n selectedPupil: null,\n }))\n }\n onSave={handleSavePupil}\n />\n )}\n \n );\n}\n\nexport default UserPupils;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of sporttia zero accounts.\n * @returns {JSX.Element}\n */\nfunction AdminSttZeroAccounts({}) {\n usePageHeader('sttZeroAccounts');\n\n return ;\n}\n\nexport default AdminSttZeroAccounts;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of playtomic centers.\n * @returns {JSX.Element}\n */\nfunction AdminPlaytomicCenters({}) {\n usePageHeader('playtomicCenters');\n\n return ;\n}\n\nexport default AdminPlaytomicCenters;\n","import React, { useContext, useEffect } from 'react';\nimport Box from '@material-ui/core/Box';\nimport { useForm } from 'react-hook-form';\nimport { QueryKey, useMutation, useQueryClient } from 'react-query';\nimport { AppContext } from '../AppContext';\nimport { SttPage } from '../all';\nimport Tpv from '../../types/models/Tpv';\nimport SttValidatedForm from '../SttValidatedForm';\nimport useTpvsService from '../../services/TpvsService';\nimport { SUPERADMIN_PAYMENTS, SUPERADMIN_TPV } from '../../lib/queryKeys';\nimport { DefaultListResponse200 } from '../../types/api/utils';\nimport translations from '../../translations';\nimport { useTranslations } from '../../lib/hooks';\n\ntype SttAdminPaymentFormTpvProps = {\n tpv: Tpv;\n getTpvsQueryKey: QueryKey;\n};\n\ntype CreateTpvConfirmationMutationParams = {\n id: number;\n params: {\n test: string;\n force: boolean;\n };\n};\n\nexport function SttAdminPaymentFormTpv({\n tpv,\n getTpvsQueryKey,\n}: SttAdminPaymentFormTpvProps) {\n const cxt = useContext(AppContext)!;\n const formTpv = useForm();\n const { translate } = useTranslations();\n const tpvService = useTpvsService();\n const queryClient = useQueryClient();\n const createTpvConfirmationMutation = useMutation(\n SUPERADMIN_TPV,\n (params: CreateTpvConfirmationMutationParams) =>\n tpvService.createTpvConfirmations(params?.id, params?.params),\n {\n onSuccess: (data: Tpv) => {\n if (data?.payment) {\n queryClient.setQueryData(\n getTpvsQueryKey,\n (prevData: DefaultListResponse200 | undefined) => {\n if (prevData) {\n return {\n ...prevData,\n rows: prevData?.rows?.map(\n (currentTpv: Tpv) => {\n let updatedTpv = null;\n if (currentTpv?.id === data?.id) {\n updatedTpv = data;\n }\n return updatedTpv || currentTpv;\n },\n ),\n };\n }\n return { pages: 0, count: 0, rows: [] }; // Esto no deberia ejecutarse nunca pero no encuentro\n // otro modo de quitar el undefined que se requiere para actualizar prevData de una query.\n },\n );\n }\n\n queryClient.invalidateQueries(SUPERADMIN_PAYMENTS);\n },\n },\n );\n useEffect(() => {\n if (tpv) {\n formTpv.reset({\n id: tpv?.id,\n created: tpv?.created,\n status: tpv?.status,\n result: tpv?.result,\n concept: tpv?.concept,\n price: tpv?.price,\n trash: tpv?.trash\n ? translate(translations.generic.active)\n : translate(translations.generic.inactive),\n error: tpv?.error,\n });\n }\n }, [tpv, formTpv, translate]);\n\n return (\n \n \n \n createTpvConfirmationMutation.mutate({\n id: tpv?.id,\n params: {\n test: '__2n37ndj3y476d83udjn97ue@@j',\n force: true,\n },\n }),\n },\n ]}\n />\n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Container, Box } from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport SettingsBackupRestoreIcon from '@material-ui/icons/SettingsBackupRestore';\nimport CompareArrowsIcon from '@material-ui/icons/CompareArrows';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport {\n AppContext,\n SttButton,\n SttFullDialog,\n SttPage,\n} from '../../../../sporttia/all';\nimport {\n SUPERADMIN_PAYMENT,\n SUPERADMIN_PAYMENTS,\n SUPERADMIN_TPV,\n} from '../../../../lib/queryKeys';\nimport usePaymentsService from '../../../../services/PaymentsService';\nimport useTpvsService from '../../../../services/TpvsService';\nimport { useLoader } from '../../../../lib/hooks';\nimport { SttAdminPaymentFormTpv } from '../../../../sporttia/forms/SttAdminPaymentFormTpv';\n\n/**\n * Payment view, contains payment data.\n * @param id Payment ID.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function AdminPayment({ id, onClose }) {\n const cxt = useContext(AppContext);\n const queryClient = useQueryClient();\n const paymentsService = usePaymentsService();\n const tpvService = useTpvsService();\n const formPayment = useForm();\n const formParent = useForm();\n const formTpv = useForm();\n const [paymentId, setPaymentId] = useState(id);\n const paymentQuery = useQuery(\n [SUPERADMIN_PAYMENT, { id: paymentId }],\n () => paymentsService.get(paymentId, { trash: true }),\n { enabled: !!paymentId && paymentId !== 'create' },\n );\n const tpvQuery = useQuery(\n [SUPERADMIN_TPV, { id: paymentQuery?.data?.payment?.tpv?.id }],\n () =>\n tpvService.get(paymentQuery?.data?.payment?.tpv?.id, {\n trash: true,\n }),\n { enabled: !!paymentQuery?.data?.payment?.tpv?.id },\n );\n const tpvsFromPaymentIdQuery = tpvService.useGetTpvsFromPaymentId({\n paymentId: id,\n trash: true,\n });\n const updatePaymentMutation = useMutation(\n (params) => paymentsService.update(params?.id, params?.params),\n {\n onSuccess: (data) => {\n if (data?.payment) {\n queryClient.setQueryData(\n [SUPERADMIN_PAYMENT, { id: paymentId }],\n data,\n );\n }\n\n queryClient.invalidateQueries(SUPERADMIN_PAYMENTS);\n },\n },\n );\n const createTpvConfirmationMutation = useMutation(\n (params) =>\n tpvService.createTpvConfirmations(params?.id, params?.params),\n {\n onSuccess: (data) => {\n if (data?.payment) {\n queryClient.setQueryData(\n [\n SUPERADMIN_TPV,\n { id: paymentQuery?.data?.payment?.tpv?.id },\n ],\n data,\n );\n }\n\n queryClient.invalidateQueries(SUPERADMIN_PAYMENTS);\n },\n },\n );\n const updatePaymentRefundMutation = useMutation(\n (params) =>\n paymentsService.updatePaymentsRefund(params?.id, params?.params),\n {\n onSuccess: (data) => {\n if (data?.payment) {\n queryClient.setQueryData(\n [SUPERADMIN_PAYMENT, { id: paymentId }],\n data,\n );\n }\n\n queryClient.invalidateQueries(SUPERADMIN_PAYMENTS);\n },\n },\n );\n const [, loader] = useLoader([\n updatePaymentMutation.status,\n createTpvConfirmationMutation.status,\n updatePaymentRefundMutation.status,\n ]);\n\n /**\n * When the \"payment\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (paymentQuery?.status === 'success') {\n formParent.reset({\n id: paymentQuery?.data?.payment?.parent?.id,\n });\n\n formPayment.reset({\n id: paymentQuery?.data?.payment?.id,\n created: paymentQuery?.data?.payment?.created,\n status: paymentQuery?.data?.payment?.status,\n paymentForm: paymentQuery?.data?.payment?.paymentForm,\n user: `${paymentQuery?.data?.payment?.id} - ${paymentQuery?.data?.payment?.name}`,\n concept: paymentQuery?.data?.payment?.concept,\n price: paymentQuery?.data?.payment?.price,\n paymentDate: paymentQuery?.data?.payment?.paymentDate,\n });\n } else {\n formParent.reset({\n id: '',\n });\n\n formPayment.reset({\n id: '',\n created: '',\n status: '',\n paymentForm: '',\n user: '',\n concept: '',\n price: 0,\n paymentDate: new Date(),\n });\n }\n }, [\n paymentQuery?.data?.payment,\n paymentQuery?.status,\n formParent,\n formPayment,\n ]);\n\n /**\n * When the \"tpv\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (tpvQuery?.status === 'success') {\n formTpv.reset({\n id: tpvQuery?.data?.tpv?.id,\n status: tpvQuery?.data?.tpv?.status,\n result: tpvQuery?.data?.tpv?.result,\n });\n } else {\n formTpv.reset({\n id: '',\n status: '',\n result: '',\n });\n }\n }, [tpvQuery?.data?.tpv, tpvQuery?.status, formTpv]);\n\n /**\n * Update payment id if id prop was changed.\n */\n useEffect(() => {\n setPaymentId(id);\n }, [id]);\n\n return (\n \n {loader}\n \n {paymentQuery?.data?.payment && (\n \n \n \n updatePaymentMutation.mutate({\n id: paymentId,\n params: {\n concept:\n formData?.concept,\n price: formData?.price,\n paymentDate:\n formData?.paymentDate,\n },\n }),\n ),\n },\n {\n type: 'component',\n show:\n paymentQuery?.data?.payment\n ?.paymentForm === 'TPV' &&\n paymentQuery?.data?.payment\n ?.status === 'PAID',\n component: (\n \n }\n onClick={() =>\n updatePaymentRefundMutation.mutate(\n {\n id: paymentId,\n params: {\n paymentForm:\n 'TPV',\n },\n },\n )\n }\n confirmation\n />\n ),\n },\n {\n type: 'component',\n show:\n !paymentQuery?.data?.payment\n ?.parent &&\n paymentQuery?.data?.payment\n ?.paymentForm === 'FREE' &&\n paymentQuery?.data?.payment\n ?.status === 'PAID',\n component: (\n }\n onClick={() =>\n updatePaymentMutation.mutate(\n {\n id: paymentId,\n params: {\n paymentForm:\n 'TPV',\n },\n },\n )\n }\n confirmation\n />\n ),\n },\n ]}\n />\n \n \n )}\n\n {paymentQuery?.data?.payment?.parent?.id && (\n \n \n \n \n \n )}\n {tpvsFromPaymentIdQuery?.data?.rows?.length > 0 && (\n \n \n {tpvsFromPaymentIdQuery?.data?.rows.map(\n (currentTpv) => (\n \n ),\n )}\n \n \n )}\n \n \n );\n}\n","import React, { useContext, useEffect } from 'react';\nimport { Box, Paper } from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { useLoader } from '../../../../lib/hooks';\nimport { getErrorMessage } from '../../../../lib/utils';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { SUPERADMIN_TPV_CONFIGURATION } from '../../../../lib/queryKeys';\nimport useTpvsService from '../../../../services/TpvsService';\nimport constants from '../../../../config/constants';\nimport translations from '../../../../translations';\n\n/**\n * Tpv configuration view, contains tpv configuration form.\n * @param id Tpv configuration ID.\n * @param onClose Function executed when closing the full dialog.\n * @param onCreate Action taken when creating the tpv configuration.\n * @param onUpdate Action taken when updating the tpv configuration.\n * @param onDelete Method executed when removing tpv configuration.\n * @returns {JSX.Element}\n */\nexport default function AdminTPVConf({\n id,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const form = useForm();\n const queryClient = useQueryClient();\n const watchBank = form.watch('bank');\n\n const tpvsService = useTpvsService();\n const tpvConfigurationQuery = useQuery(\n [SUPERADMIN_TPV_CONFIGURATION, { id }],\n () => tpvsService.getTpvsConfiguration(id),\n {\n enabled: id !== 'create',\n onSuccess: (response) => {\n form.reset({\n name: response.tpvConf.name,\n bank: response.tpvConf.bank,\n environment: response.tpvConf.environment,\n description: response.tpvConf.description,\n // REDSYS_HMAC256//\n redsysFuc: response.tpvConf.redsysFuc,\n redsysIdTerminal: response.tpvConf.redsysIdTerminal,\n // CCM//\n cecaMerchantId: response.tpvConf.cecaMerchantId,\n cecaAcquirerBin: response.tpvConf.cecaAcquirerBin,\n cecaTerminalId: response.tpvConf.cecaTerminalId,\n // STRIPE//\n stripeSecretKey: response.tpvConf.stripeSecretKey,\n stripePublicKey: response.tpvConf.stripePublicKey,\n // PAYCOMET//\n paycometApiKey: response.tpvConf.paycometApiKey,\n paycometTerminalId: response.tpvConf.paycometTerminalId,\n // COMUNES REDSYS_HMAC256 y CCM//\n keyPro: response.tpvConf.keyPro,\n keyDev: response.tpvConf.keyDev,\n // Cuando un centro tiene muchos tpv confs (Es decir, un tpv conf tiene un centro)\n scId: response.tpvConf.sc?.id,\n });\n },\n },\n );\n const deleteMutation = useMutation(\n (params) => tpvsService.removeTpvConfiguration(params?.id),\n {\n onSuccess: onDelete,\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n const updateMutation = useMutation(\n (params) =>\n tpvsService.updateTpvConfiguration(params?.id, params?.params),\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n [SUPERADMIN_TPV_CONFIGURATION, { id: data?.tpvConf.id }],\n data,\n );\n onUpdate(data);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n const createMutation = useMutation(\n (params) => tpvsService.createTpvConfiguration(params?.params),\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n [SUPERADMIN_TPV_CONFIGURATION, { id: data?.tpvConf.id }],\n data,\n );\n onCreate(data);\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create tpv configuration.\n * @param formData Form data.\n */\n const mutateTpvConfiguration = (formData) => {\n const formatedFormData = {\n name: formData.name,\n bank: formData.bank,\n environment: formData.environment,\n description: formData.description,\n };\n\n if (constants.tpvConf.banksWithManyCenters.includes(formData.bank)) {\n formatedFormData.scId = String(formData.scId);\n }\n\n switch (formData.bank) {\n case constants.tpvConf.banks.redsys.name:\n formatedFormData.redsysFuc = formData.redsysFuc;\n formatedFormData.redsysIdTerminal = String(\n formData.redsysIdTerminal,\n );\n formatedFormData.keyPro = formData.keyPro;\n formatedFormData.keyDev = formData.keyDev;\n break;\n case constants.tpvConf.banks.ccm.name:\n formatedFormData.cecaMerchantId = formData.cecaMerchantId;\n formatedFormData.cecaAcquirerBin = formData.cecaAcquirerBin;\n formatedFormData.cecaTerminalId = formData.cecaTerminalId;\n formatedFormData.keyPro = formData.keyPro;\n formatedFormData.keyDev = formData.keyDev;\n break;\n case constants.tpvConf.banks.stripe.name:\n formatedFormData.stripeSecretKey = formData.stripeSecretKey;\n formatedFormData.stripePublicKey = formData.stripePublicKey;\n break;\n case constants.tpvConf.banks.paycomet.name:\n formatedFormData.paycometApiKey = formData.paycometApiKey;\n formatedFormData.paycometTerminalId =\n formData.paycometTerminalId;\n break;\n default:\n }\n\n if (id !== 'create') {\n updateMutation.mutate({ id, params: formatedFormData });\n } else {\n createMutation.mutate({ params: formatedFormData });\n }\n };\n\n useEffect(() => {\n form.reset({\n name: '',\n bank: constants.tpvConf.banks.redsys.name,\n environment: constants.tpvConf.modes.develop.name,\n description: '',\n redsysFuc: '',\n redsysIdTerminal: '',\n keyPro: '',\n keyDev: '',\n });\n }, [form]);\n\n return (\n {\n let result;\n\n if (tpvConfigurationQuery.isLoading) {\n result = '';\n } else if (tpvConfigurationQuery.data?.tpvConf.id) {\n result = tpvConfigurationQuery.data?.tpvConf.name;\n } else {\n result = cxt.t('createTpvConfiguration');\n }\n\n return result;\n })()}\n >\n {loader}\n \n \n \n mutateTpvConfiguration(formData),\n ),\n },\n {\n show:\n tpvConfigurationQuery.data?.tpvConf.id &&\n !tpvConfigurationQuery.data?.tpvConf.trash,\n type: 'delete',\n onClick: () => deleteMutation.mutate({ id }),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { Paper } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n useInteractionsFiles,\n usePageHeader,\n useQueryFilters,\n} from '../../../../lib/hooks';\nimport { SUPERADMIN_TPV_RECORDS } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport useTpvsService from '../../../../services/TpvsService';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport translations from '../../../../translations';\n\n/**\n * View where the sporttia superadmin can see the list of tpv records.\n * @returns {JSX.Element}\n */\nfunction AdminTpvRecords() {\n usePageHeader('tpvRecords');\n const cxt = useContext(AppContext);\n const tpvsService = useTpvsService();\n const [filters, setFilters] = useQueryFilters({}, SUPERADMIN_TPV_RECORDS);\n const [pageAndRows, setPageAndRows] = useState();\n const { downloadFile } = useInteractionsFiles();\n\n /**\n * In this case, before making the request, if the value of paymentIni or paymentEnd is null,\n * it is removed from the filters and if it is not formatted.\n * @param updatedFilters Object with the parameters returned by the SttTopFilteringControls component.\n */\n const doFiltering = (updatedFilters) => {\n const formatedFilters = { ...updatedFilters };\n\n if (updatedFilters.paymentIni)\n formatedFilters.paymentIni = moment(\n updatedFilters.paymentIni,\n ).format('YYYY-MM-DD');\n else delete formatedFilters.paymentIni;\n\n if (updatedFilters.paymentEnd)\n formatedFilters.paymentEnd = moment(\n updatedFilters.paymentEnd,\n ).format('YYYY-MM-DD');\n else delete formatedFilters.paymentEnd;\n\n setFilters(formatedFilters);\n };\n\n /**\n * Descargar los registros en pdf o csv\n * @param format\n */\n function download(format) {\n const type = format === 'csv' ? 'text/csv' : 'application/pdf';\n\n const {\n idTPV,\n tpvName,\n login,\n price,\n status,\n paymentIni,\n paymentEnd,\n tpvConfName,\n scShort,\n } = filters;\n\n let { result } = filters;\n\n if (result === 'ALL') {\n result = '';\n }\n\n // PDF\n if (format === 'pdf') {\n downloadFile(\n `/tpvs.pdf?page=${pageAndRows.page}&rows=${pageAndRows.rows}&idTPV=${idTPV}&tpvName=${tpvName}&login=${login}&price=${price}&status=${status}&paymentIni=${paymentIni}&paymentEnd=${paymentEnd}&tpvConfName=${tpvConfName}&scShort=${scShort}`,\n type,\n {},\n `${cxt.t('tpvRecords')}_${moment(filters.dateini).format(\n 'DD-MM-YYYY',\n )}_${moment(filters.dateend).format('DD-MM-YYYY')}.${format}`,\n );\n }\n\n // CSV\n if (format === 'csv') {\n downloadFile(\n `/tpvs.csv?page=${pageAndRows.page}&rows=${pageAndRows.rows}&idTPV=${idTPV}&tpvName=${tpvName}&login=${login}&price=${price}&status=${status}&paymentIni=${paymentIni}&paymentEnd=${paymentEnd}&tpvConfName=${tpvConfName}&scShort=${scShort}`,\n type,\n {},\n `${cxt.t('tpvRecords')}_${moment(filters.dateini).format(\n 'DD-MM-YYYY',\n )}_${moment(filters.dateend).format('DD-MM-YYYY')}.${format}`,\n );\n }\n }\n\n return (\n \n download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n onFilter={doFiltering}\n trashAction\n />\n\n {\n const tpvRecords = await tpvsService.getList(params);\n if (tpvRecords?.rows && tpvRecords?.count)\n setPageAndRows({\n page: 1,\n rows: tpvRecords.count,\n });\n return tpvRecords;\n }}\n queryParams={filters}\n columns={[\n {\n title: 'Id',\n type: 'id',\n field: 'id',\n },\n {\n title: cxt.t(translations.generic.created),\n type: 'dmyhm',\n field: 'created',\n },\n {\n title: cxt.t('Paid'),\n value: (row) =>\n moment(row?.payment?.paymentDate).format(\n 'D MMM YYYY HH:mm:ss',\n ),\n },\n {\n title: cxt.t('Name'),\n field: 'displayName',\n },\n {\n title: cxt.t('Sportcenter'),\n value: (row) => row?.sc?.short,\n },\n {\n title: cxt.t('Login'),\n value: (row) => row?.user?.login,\n },\n {\n title: cxt.t('Status'),\n field: 'status',\n },\n {\n title: cxt.t('Deleted'),\n field: 'trash',\n value: (row) =>\n row?.trash ? (\n SI\n ) : (\n NO\n ),\n },\n {\n title: cxt.t('tpvConfiguration'),\n value: (row) => row?.tpvConf?.name,\n },\n {\n title: cxt.t('Amount'),\n field: 'price',\n },\n ]}\n totals={[\n {\n index: 8,\n name: 'price',\n adornment: ' €',\n },\n ]}\n />\n \n );\n}\n\nexport default AdminTpvRecords;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of tpv records by sc.\n * @returns {JSX.Element}\n */\nfunction AdminTpvRecordsBySc({}) {\n usePageHeader('tpvRecordsBySc');\n\n return ;\n}\n\nexport default AdminTpvRecordsBySc;\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport Box from '@material-ui/core/Box';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { FieldValues } from 'react-hook-form/dist/types/fields';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { useLoader, usePageHeader } from '../../../../lib/hooks';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { SUPERADMIN_USER } from '../../../../lib/queryKeys';\nimport useUsersService from '../../../../services/UsersService';\n\ntype AdminUserProps = {\n id: number;\n onClose: () => void;\n onDelete: () => void;\n onUpdate: () => void;\n onCreate: () => void;\n};\n\ntype DeleteMutationParams = {\n id: number;\n};\n\ntype UpdateMutationParams = {\n id: number;\n params: Record;\n};\n\ntype CreateMutationParams = {\n params: Record;\n};\n\n// ¿Esto quizá debería ir en un tipo común? Asumiendo que las respuestas de 'cosas de user' siempre sean compatibles, claro.\ntype UserData = {\n id: number;\n name: string;\n surname1: string;\n surname2: string;\n fullName: string;\n login: string;\n email: string;\n mobile: string;\n password: string | undefined;\n birthday: string;\n x: number;\n y: number;\n status: string;\n dni: string;\n iban: string;\n postalCode: string;\n address: string;\n privilege: string;\n debug: number;\n comActive: boolean;\n trash: boolean;\n};\n\n// Esto quizá debería ser un UserService.Response o algo así\ntype UserResponse = {\n user: UserData;\n};\n\n// Y esto a lo mejor podría ser un SttError\ntype Error = {\n error: {\n msg: string;\n };\n};\n\n/**\n * User view, contains user form.\n * @param id User ID.\n * @param onClose Function executed when closing the full dialog.\n * @param onDelete Action taken when creating the tpv configuration.\n * @param onUpdate Action taken when updating the tpv configuration.\n * @param onCreate Method executed when removing tpv configuration.\n * @returns {JSX.Element}\n */\nexport default function AdminUser({\n id,\n onClose,\n onDelete,\n onUpdate,\n onCreate,\n}: AdminUserProps) {\n const cxt = useContext(AppContext)!;\n usePageHeader('Users');\n const form = useForm();\n const queryClient = useQueryClient();\n const usersService = useUsersService();\n const [userId, setUserId] = useState(id);\n\n const userQuery = useQuery(\n [SUPERADMIN_USER, { id: userId }],\n () => usersService.get(userId, { trash: true }),\n { enabled: userId !== null },\n );\n\n const deleteMutation = useMutation(\n (params: DeleteMutationParams) => usersService.remove(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n\n const updateMutation = useMutation(\n (params: UpdateMutationParams) =>\n usersService.update(params?.id, params?.params),\n {\n onSuccess: (data: UserResponse) => {\n queryClient.setQueryData(\n [SUPERADMIN_USER, { id: data?.user?.id }],\n data,\n );\n onUpdate();\n },\n onError: (error: Error) => cxt.showMessage('E', error?.error?.msg),\n },\n );\n const createMutation = useMutation(\n (params: CreateMutationParams) =>\n usersService.create(params?.params),\n {\n onSuccess: (data: UserResponse) => {\n queryClient.setQueryData(\n [SUPERADMIN_USER, { id: data?.user?.id }],\n data,\n );\n onCreate();\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create user.\n * @param data Form data.\n */\n const mutateUser = (data: FieldValues) => {\n let password: string | undefined;\n if (data.password) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n password = data.password;\n }\n updateMutation.mutate({ id: userId, params: { ...data, password } });\n };\n\n /**\n * When the \"user\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (userQuery?.status === 'success') {\n form.reset({\n name: userQuery?.data?.user?.name,\n surname1: userQuery?.data?.user?.surname1,\n surname2: userQuery?.data?.user?.surname2,\n login: userQuery?.data?.user?.login,\n password: '',\n email: userQuery?.data?.user?.email,\n mobile: userQuery?.data?.user?.mobile,\n birthday: userQuery?.data?.user?.birthday,\n x: userQuery?.data?.user?.x,\n y: userQuery?.data?.user?.y,\n status: userQuery?.data?.user?.status,\n dni: userQuery?.data?.user?.dni,\n iban: userQuery?.data?.user?.iban,\n postalCode: userQuery?.data?.user?.postalCode,\n address: userQuery?.data?.user?.address,\n privilege: userQuery?.data?.user?.privilege,\n debug: userQuery?.data?.user?.debug,\n comActive: userQuery?.data?.user?.comActive,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userQuery?.data?.user]);\n\n /**\n * Update user id if id prop was changed and clear form data.\n */\n useEffect(() => {\n setUserId(id);\n form.reset();\n }, [form, id]);\n\n let title = '';\n if (!userQuery.isLoading) {\n title = userQuery?.data?.user?.id\n ? userQuery?.data?.user?.fullName\n : cxt.t('admin.customer.create');\n }\n\n return (\n \n {loader}\n \n \n \n mutateUser(UserData),\n ),\n },\n {\n show:\n userQuery?.data?.user?.id &&\n !userQuery?.data?.user?.trash,\n type: 'delete',\n onClick: () =>\n deleteMutation.mutate({ id: userId }),\n },\n ]}\n />\n \n \n \n );\n}\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of rentals.\n * @returns {JSX.Element}\n */\nfunction AdminRentals({}) {\n usePageHeader('rentals');\n\n return ;\n}\n\nexport default AdminRentals;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of rentals per day.\n * @returns {JSX.Element}\n */\nfunction AdminRentalsPerDay({}) {\n usePageHeader('rentalsPerDay');\n\n return ;\n}\n\nexport default AdminRentalsPerDay;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of rentals ratio per year.\n * @returns {JSX.Element}\n */\nfunction AdminRentalsRatioPerYear({}) {\n usePageHeader('rentalsRatioPerYear');\n\n return ;\n}\n\nexport default AdminRentalsRatioPerYear;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of rentals ratio by sport center.\n * @returns {JSX.Element}\n */\nfunction AdminRentalsRatioByCenter({}) {\n usePageHeader('rentalsRatioByCenter');\n\n return ;\n}\n\nexport default AdminRentalsRatioByCenter;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of events.\n * @returns {JSX.Element}\n */\nfunction AdminEvents({}) {\n usePageHeader('events');\n\n return ;\n}\n\nexport default AdminEvents;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of activities registrations ratio by center.\n * @returns {JSX.Element}\n */\nfunction AdminActivitiesRegistrationsRatioByCenter({}) {\n usePageHeader('ratioOfRegistrationsToActivitiesByCenter');\n\n return ;\n}\n\nexport default AdminActivitiesRegistrationsRatioByCenter;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of activities enrrollment increases per year.\n * @returns {JSX.Element}\n */\nfunction AdminActivitiesEnrrollmentIncreasesPerYear({}) {\n usePageHeader('increasesInEnrollmentInActivitiesPerYear');\n\n return ;\n}\n\nexport default AdminActivitiesEnrrollmentIncreasesPerYear;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of sports.\n * @returns {JSX.Element}\n */\nfunction AdminSports({}) {\n usePageHeader('sports');\n\n return ;\n}\n\nexport default AdminSports;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of notifications types.\n * @returns {JSX.Element}\n */\nfunction AdminNotificationsTypes({}) {\n usePageHeader('notificationsTypes');\n\n return ;\n}\n\nexport default AdminNotificationsTypes;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of sms's.\n * @returns {JSX.Element}\n */\nfunction AdminSmss({}) {\n usePageHeader('smss');\n\n return ;\n}\n\nexport default AdminSmss;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of emails.\n * @returns {JSX.Element}\n */\nfunction AdminEmails({}) {\n usePageHeader('emails');\n\n return ;\n}\n\nexport default AdminEmails;\n","import React from 'react';\nimport { usePageHeader } from '../../../../lib/hooks';\nimport Report from '../../../sc/Report';\n\n/**\n * View where the sporttia superadmin can see the list of push notifications.\n * @returns {JSX.Element}\n */\nfunction AdminPushNotifications({}) {\n usePageHeader('pushNotifications');\n\n return ;\n}\n\nexport default AdminPushNotifications;\n","import React, { useEffect, useContext } from 'react';\nimport { useMutation } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { AppContext } from '../../../../sporttia/all';\nimport { useLoader } from '../../../../lib/hooks';\nimport useApisService from '../../../../services/ApisService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\n\n/**\n * API Model details view. View with form to modify api model data.\n * @param apiModel API Model object.\n * @param apiVersion API Model version.\n * @param status React-query status.\n * @param onCreate Launched when a new customer is created.\n * @param onUpdate Launched when a new customer is updated.\n * @param onDelete Launched when a new customer is removed.\n * @returns {JSX.Element}\n */\nexport default function AdminApiModelDetails({\n apiModel,\n apiVersion,\n status,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const apisService = useApisService();\n const deleteMutation = useMutation(\n (params) => apisService.removeApiModel(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) => apisService.updateApiModel(params?.id, params?.params),\n {\n onSuccess: onUpdate,\n },\n );\n const createMutation = useMutation(\n (params) => apisService.createApiModel(params?.params),\n {\n onSuccess: (data) => onCreate(data?.apiModel?.id),\n },\n );\n const form = useForm();\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create api model.\n */\n const mutateApiModel = (formData) => {\n if (apiModel?.id) {\n updateMutation.mutate({ id: apiModel?.id, params: formData });\n } else {\n createMutation.mutate({ params: formData });\n }\n };\n\n /**\n * When the data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (status === 'success' && apiModel) {\n form.reset({\n id: apiModel?.id,\n idVersion: apiVersion,\n name: apiModel?.name,\n description: apiModel?.description,\n example: apiModel?.example,\n });\n } else {\n form.reset({\n id: '',\n idVersion: apiVersion,\n name: '',\n description: '',\n example: '',\n });\n }\n }, [apiModel]);\n\n return (\n <>\n {loader}\n \n mutateApiModel(formData),\n ),\n },\n {\n show: apiModel?.id && !apiModel?.trash,\n type: 'delete',\n onClick: () =>\n deleteMutation.mutate({ id: apiModel?.id }),\n },\n ]}\n />\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { useLoader } from '../../../../lib/hooks';\nimport useApisService from '../../../../services/ApisService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { SttDialog } from '../../../../sporttia/dialogs/SttDialog';\n\n/**\n * Dialog to modify, create and delete api model property.\n * @param apiModelId API Model ID.\n * @param propertyValue Property object.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Action taken when creating the tpv configuration.\n * @param onUpdate Action taken when updating the tpv configuration.\n * @param onDelete Method executed when removing tpv configuration.\n * @returns {JSX.Element}\n */\nexport default function AdminApiModelPropertyDialog({\n apiModelId,\n propertyValue,\n onClose,\n onCreate,\n onUpdate,\n onDelete,\n}) {\n const cxt = useContext(AppContext);\n const apisService = useApisService();\n const form = useForm();\n const [property, setProperty] = useState(propertyValue);\n const deleteMutation = useMutation(\n (params) => apisService.removeApiModelProperty(params?.id),\n {\n onSuccess: onDelete,\n },\n );\n const updateMutation = useMutation(\n (params) =>\n apisService.updateApiModelProperty(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onUpdate(data);\n setProperty(data?.apiModelProperty);\n },\n },\n );\n const createMutation = useMutation(\n (params) =>\n apisService.createApiModelProperty(params?.id, params?.params),\n {\n onSuccess: (data) => {\n onCreate(data);\n setProperty(data?.apiModelProperty);\n },\n },\n );\n const [, loader] = useLoader([\n deleteMutation.status,\n updateMutation.status,\n createMutation.status,\n ]);\n\n /**\n * Method executed when the user clicks on save or create api model property.\n * @param formData Form data.\n */\n const mutateProperty = (formData) => {\n if (property?.id) {\n updateMutation.mutate({ id: property?.id, params: formData });\n } else {\n createMutation.mutate({ id: apiModelId, params: formData });\n }\n };\n\n /**\n * When the \"property\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (property) {\n form.reset({\n id: property?.id,\n created: property?.created,\n type: property?.type,\n name: property?.field,\n description: property?.description,\n });\n } else {\n form.reset({\n id: '',\n created: new Date(),\n type: '',\n name: '',\n description: '',\n });\n }\n }, [property]);\n\n /**\n * When the value of the column passed to the component is modified, the selected internal\n * column saved in the \"property\" state will be modified.\n */\n useEffect(() => {\n setProperty(propertyValue);\n }, [propertyValue]);\n\n return (\n \n {loader}\n \n \n }\n buttons={[\n {\n type: 'save',\n onClick: form.handleSubmit((formData) =>\n mutateProperty(formData),\n ),\n },\n {\n type: 'delete',\n onClick: () => deleteMutation.mutate({ id: property?.id }),\n },\n ]}\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport useApisService from '../../../../services/ApisService';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport { SUPERADMIN_API_MODEL_PROPERTIES } from '../../../../lib/queryKeys';\nimport AdminApiModelPropertyDialog from './AdminApiModelPropertyDialog';\n\n/**\n * API Model properties view. View with a table that lists the properties of an api model.\n * @param apiModel API Model object.\n * @returns {JSX.Element}\n */\nexport default function AdminApiModelProperties({ apiModel }) {\n const cxt = useContext(AppContext);\n const [property, setProperty] = useState(null);\n const queryClient = useQueryClient();\n const apisService = useApisService();\n\n return (\n <>\n setProperty({}),\n }}\n />\n\n {/* Aqui no podemos paginar directamente las columnas ya que no tenemos un end point que lo haga, tenemos que usar\n GET /api/models/:id para de dentro coger properties y ya listarlo, de ahí que se pidan 200 filas. */}\n \n apisService.getApiModel(params?.id, {}).then((data) => ({\n count: data?.apiModel?.properties?.rows\n ? data?.apiModel?.properties?.rows?.length\n : 0,\n rows: data?.apiModel?.properties?.rows\n ? data?.apiModel?.properties?.rows\n : [],\n }))\n }\n queryOptions={{\n enabled: !!apiModel?.id && apiModel?.id !== 'create',\n }}\n queryParams={{\n id: apiModel?.id,\n }}\n onClickRow={(row) => setProperty(row)}\n rowsPerPage={200}\n columns={[\n {\n title: 'Name',\n field: 'name',\n value: (row) => {row.name},\n },\n {\n title: 'Description',\n field: 'description',\n align: 'left',\n },\n {\n title: 'Type',\n field: 'type',\n },\n ]}\n />\n\n {/* En el futuro si tenemos un GET /api/models/properties/:id podríamos quitar propertyValue y pasar el id de la propiedad. */}\n setProperty(null)}\n onCreate={() =>\n queryClient.invalidateQueries(\n SUPERADMIN_API_MODEL_PROPERTIES,\n )\n }\n onUpdate={() =>\n queryClient.invalidateQueries(\n SUPERADMIN_API_MODEL_PROPERTIES,\n )\n }\n onDelete={() => {\n setProperty(null);\n queryClient.invalidateQueries(\n SUPERADMIN_API_MODEL_PROPERTIES,\n );\n }}\n />\n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useQuery, useQueryClient } from 'react-query';\nimport Box from '@material-ui/core/Box';\nimport Paper from '@material-ui/core/Paper';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { SUPERADMIN_API_MODEL } from '../../../../lib/queryKeys';\nimport useApisService from '../../../../services/ApisService';\nimport { SttTabs } from '../../../../sporttia/SttTabs';\nimport AdminApiModelDetails from './AdminApiModelDetails';\nimport AdminApiModelProperties from './AdminApiModelProperties';\n\n/**\n * Api model view. Contains tabs to access api model data.\n * @param id API Model ID.\n * @param apiVersion API Version.\n * @param onClose Function executed when closing the full dialog.\n * @returns {JSX.Element}\n */\nexport default function AdminApiModel({ id, apiVersion, onClose }) {\n const cxt = useContext(AppContext);\n const queryClient = useQueryClient();\n const apisService = useApisService();\n const [apiModelId, setApiModelId] = useState(id);\n const apiModelQuery = useQuery(\n [SUPERADMIN_API_MODEL, { id: apiModelId }],\n () => apisService.getApiModel(apiModelId),\n { enabled: !!apiModelId && apiModelId !== 'create' },\n );\n\n /**\n * Update api model id if id prop was changed.\n */\n useEffect(() => {\n setApiModelId(id);\n }, [id]);\n\n return (\n \n \n \n \n queryClient.setQueryData(\n [\n SUPERADMIN_API_MODEL,\n { id: data?.apiModel?.id },\n ],\n data,\n )\n }\n onDelete={onClose}\n />\n ),\n },\n {\n caption: cxt.t('Properties'),\n show: apiModelId !== 'create',\n component: (\n \n ),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Box, Paper } from '@material-ui/core';\nimport { useMutation } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { SttFullDialog } from '../../../../sporttia/dialogs/SttFullDialog';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { useLoader } from '../../../../lib/hooks';\nimport useScsService from '../../../../services/ScsService';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\n\n/**\n * Dialog to create API Triggers.\n * @param apiTriggerValue API Trigger object.\n * @param onClose Function executed when closing the dialog.\n * @param onCreate Action taken when creating the api parameter.\n * @returns {JSX.Element}\n */\nexport default function AdminApiTriggerByScDialog({\n apiTriggerValue,\n onClose,\n onCreate,\n}) {\n const cxt = useContext(AppContext);\n const scsService = useScsService();\n const form = useForm();\n const [apiTrigger, setApiTrigger] = useState(apiTriggerValue);\n const createMutation = useMutation(\n (params) =>\n scsService.createScsCoreTrigger(params?.scId, params?.triggerId),\n {\n onSuccess: (data) => {\n onCreate(data);\n setApiTrigger(data?.coreTriggerSC);\n },\n },\n );\n const [, loader] = useLoader([createMutation.status]);\n\n /**\n * When the \"apiTrigger\" data is returned by the API, it is set in the form.\n */\n useEffect(() => {\n if (apiTrigger) {\n form.reset({\n scId: apiTrigger?.sc?.id,\n triggerId: apiTrigger?.coreTrigger?.id,\n });\n } else {\n form.reset({\n scId: '',\n triggerId: '',\n });\n }\n }, [apiTrigger]);\n\n /**\n * When the value of the api trigger passed to the component is modified, the selected internal\n * parameter saved in the \"apiTrigger\" state will be modified.\n */\n useEffect(() => {\n setApiTrigger(apiTriggerValue);\n }, [apiTriggerValue]);\n\n return (\n \n {loader}\n \n \n \n createMutation.mutate({ ...formData }),\n ),\n },\n ]}\n />\n \n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { Paper } from '@material-ui/core';\nimport { useMutation, useQueryClient } from 'react-query';\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\nimport DeleteOutlineOutlinedIcon from '@material-ui/icons/DeleteOutlineOutlined';\nimport { AppContext } from '../../../../sporttia/AppContext';\nimport { useLoader, usePageHeader } from '../../../../lib/hooks';\nimport useCoresService from '../../../../services/CoresService';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport { SUPERADMIN_API_TRIGGERS_BY_SC } from '../../../../lib/queryKeys';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport { SttButtonFab } from '../../../../sporttia/buttons/SttButtonFab';\nimport AdminApiTriggerByScDialog from './AdminApiTriggerByScDialog';\nimport useScsService from '../../../../services/ScsService';\n\n/**\n * View where the sporttia superadmin can see the list of apis triggers by sports centers.\n * @returns {JSX.Element} JSX Element.\n */\nexport default function AdminApiTriggersBySc({}) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const queryClient = useQueryClient();\n usePageHeader('apiTriggersBySc');\n const coresService = useCoresService();\n const scsService = useScsService();\n const [apiTrigger, setApiTrigger] = useState(null);\n const deleteMutation = useMutation(\n (params) =>\n scsService.removeScsCoreTrigger(params?.scId, params?.triggerId),\n {\n onSuccess: () =>\n queryClient.invalidateQueries(SUPERADMIN_API_TRIGGERS_BY_SC),\n },\n );\n const [, loader] = useLoader([deleteMutation.status]);\n\n return (\n \n {loader}\n ,\n onClick: () =>\n queryClient.invalidateQueries(\n SUPERADMIN_API_TRIGGERS_BY_SC,\n ),\n },\n ]}\n />\n\n coresService.getCoresTriggersBySc(params)}\n columns={[\n {\n title: 'Id',\n field: 'id',\n value: (row) => row?.id,\n },\n {\n title: cxt.t('Center'),\n value: (row) => row?.sc?.id,\n },\n {\n title: cxt.t('Code'),\n value: (row) => row?.coreTrigger?.code,\n },\n {\n title: 'Script',\n value: (row) => row?.coreTrigger?.script,\n },\n {\n title: '',\n value: (row) => (\n \n deleteMutation.mutate({\n triggerId: row?.coreTrigger?.id,\n scId: row?.sc?.id,\n })\n }\n />\n ),\n },\n ]}\n />\n\n {/* En el futuro si tenemos un GET /cores/triggers/:id podríamos quitar apiTriggerValue y pasar el id del trigger. */}\n setApiTrigger(null)}\n onCreate={() =>\n queryClient.invalidateQueries(SUPERADMIN_API_TRIGGERS_BY_SC)\n }\n />\n\n setApiTrigger({})} />\n \n );\n}\n\nconst useStyles = makeStyles({\n deleteButton: {\n '&:hover': {\n cursor: 'pointer',\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n","import React from 'react';\nimport { Box, makeStyles } from '@material-ui/core';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport PersonIcon from '@material-ui/icons/Person';\n\nconst useStyles = makeStyles(() => ({\n golfCard: {\n width: '180px',\n height: '80px',\n border: '3px solid #E0E0E0',\n borderRadius: '8px',\n margin: '5px',\n padding: '5px',\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: 'rgba(33, 150, 243, 0.5)',\n },\n },\n}));\n\n/**\n * Draw golf card.\n * @param onClick Action taken when user click on booking card.\n * @returns {JSX.Element}\n */\nexport default function GolfBookingCard({ booking, onSelect }) {\n const classes = useStyles();\n\n // eslint-disable-next-line no-lone-blocks\n {\n /* Render golf card. */\n }\n return (\n \n \n \n {booking.time}\n \n \n \n \n \n \n {booking.players.length}/4\n \n \n \n \n );\n}\n","import React from 'react';\nimport {\n Avatar,\n Box,\n Button,\n Container,\n Divider,\n FormControl,\n FormControlLabel,\n Grid,\n IconButton,\n makeStyles,\n Paper,\n Radio,\n RadioGroup,\n Typography,\n} from '@material-ui/core';\nimport CreditCardOutlinedIcon from '@material-ui/icons/CreditCardOutlined';\nimport AccountBalanceWalletOutlinedIcon from '@material-ui/icons/AccountBalanceWalletOutlined';\nimport LocalAtmOutlinedIcon from '@material-ui/icons/LocalAtmOutlined';\nimport { Alert, AlertTitle } from '@material-ui/lab';\nimport AddCircleOutlineOutlinedIcon from '@material-ui/icons/AddCircleOutlineOutlined';\nimport DoneOutlineIcon from '@material-ui/icons/DoneOutline';\nimport DeleteOutlineOutlinedIcon from '@material-ui/icons/DeleteOutlineOutlined';\nimport LocalShippingOutlinedIcon from '@material-ui/icons/LocalShippingOutlined';\nimport AddOutlinedIcon from '@material-ui/icons/AddOutlined';\nimport RemoveOutlinedIcon from '@material-ui/icons/RemoveOutlined';\nimport { useTranslations } from '../../../lib/hooks';\nimport { SttFullDialog } from '../../../sporttia/dialogs/SttFullDialog';\n\nexport default function GolfBookingCardDialog({ id, onClose }) {\n const classes = useStyles();\n const { translate } = useTranslations();\n const [paymentForm, setPaymentForm] = React.useState('TPV');\n\n const handleChange = (event) => {\n console.log(`TEST cambia: ${JSON.stringify(event.target.value)}`);\n setPaymentForm(event.target.value);\n };\n\n return (\n \n \n \n \n Total:\n \n \n 200€\n \n \n \n \n \n \n \n \n \n \n \n \n \n Tarj. crédito/débito\n \n \n \n \n \n \n \n \n \n \n \n \n \n Monedero (22.5€)\n \n \n \n \n \n \n \n \n \n \n \n \n \n Metálico\n \n \n \n \n \n \n \n \n }\n >\n \n \n \n \n \n \n \n Reserva 18 hoyos golf - Salida Tee 1\n \n \n Lunes 21 Abri. 10:00\n \n \n Club de Golf La Cartuja\n \n \n \n \n \n\n \n \n \n \n \n \n H\n \n \n \n \n Carlos Garcia Garcia JOSE\n MANUEL PRUEBA\n \n \n \n \n \n Tarifa jubilado, 50€\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n H\n \n \n \n \n Carlos Garcia Garcia JOSE\n MANUEL PRUEBA\n \n \n \n \n \n Tarifa jubilado, 50€\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n H\n \n \n \n \n Carlos Garcia Garcia JOSE\n MANUEL PRUEBA\n \n \n \n \n \n Tarifa jubilado, 50€\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n Añadir usuario\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n Carrito de golf\n \n \n \n \n \n 50€ / ud.\n \n \n \n \n \n \n \n \n \n \n \n 2\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n Carrito de golf\n \n \n \n \n 50€ / ud.\n \n \n \n \n \n \n \n \n \n \n \n 2\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n Carrito de golf\n \n \n \n \n 50€ / ud.\n \n \n \n \n \n \n \n \n \n \n \n 2\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n Añadir servicio\n \n \n \n \n \n \n \n\n \n \n \n Política de venta y cancelación\n \n Servicio Municipal de Deportes Sporttia, B90061284 ,\n , Yecla , (Murcia), España Sólo se admiten\n cancelaciones por inclemencias climatológicas y la\n devolución del importe pagado por parte del usuario\n será al monedero virtual del propio usuario.\n \n \n \n \n \n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n smallRadioButton: {\n '& svg': {\n width: '0.75em',\n height: '0.75em',\n },\n },\n hoverCard: {\n borderRadius: '5px',\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: 'rgba(33, 150, 243, 0.5)',\n },\n },\n userCard: {\n // width: 179,\n height: 167,\n color: '#957547',\n // border: '2px solid #E0E0E0',\n borderRadius: '5px',\n backgroundColor: '#FFF4E5',\n flex: 1,\n // [theme.breakpoints.up(\"xs\")]: {\n // //maxWidth: '100%',\n // },\n // [theme.breakpoints.up(\"sm\")]: {\n // maxWidth: 179,\n // },\n // [theme.breakpoints.up(\"md\")]: {\n // width: 179,\n // },\n // [theme.breakpoints.up(\"lg\")]: {\n // width: 179,\n // }\n },\n userAddCard: {\n flex: 1,\n // width: 179,\n height: 167,\n color: '#2D532F',\n borderRadius: '5px',\n backgroundColor: '#EDF7ED',\n },\n formPaymentCard: {\n width: 100,\n height: 80,\n color: '#014361',\n borderRadius: '5px',\n backgroundColor: '#E5F6FD',\n },\n}));\n","import React, { useState } from 'react';\nimport { Box, Divider, makeStyles, Paper } from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport GolfBookingCard from './GolfBookingsCard';\nimport GolfTimetableControls from '../../sc/golfTimetable/GolfTimetableControls';\nimport GolfBookingCardDialog from './GolfBookingCardDialog';\n\n/**\n * Draw golf cards.\n * @returns {JSX.Element}\n */\nexport default function GolfBookingsCards({}) {\n const classes = useStyles();\n const form = useForm();\n const [bookingId, setBookingId] = useState(null);\n\n {\n /* Render golf cards. */\n }\n return (\n <>\n \n \n \n \n \n \n
\n \n \n {bookingsMockUpData.rows.map((booking) => (\n \n setBookingId(booking.id)\n }\n />\n ))}\n \n \n
\n
\n
\n setBookingId(null)}\n />\n \n );\n}\n\nconst useStyles = makeStyles(() => ({\n timetable: {\n height: '75vh',\n margin: 0,\n padding: 0,\n },\n timetableBox: {\n maxHeight: '100%',\n overflowX: 'auto',\n overflowY: 'auto',\n },\n}));\n\nconst bookingMockUpData1 = {\n id: 10,\n time: '09:00',\n golfCartAvailability: 2,\n players: [\n {\n id: 0,\n name: 'Jugador 0',\n },\n {\n id: 1,\n name: 'Jugador 1',\n },\n {\n id: 2,\n name: 'Jugador 2',\n },\n {\n id: 3,\n name: 'Jugador 3',\n },\n ],\n fees: [\n {\n holes: 18,\n price: 100,\n },\n {\n holes: 9,\n price: 50,\n },\n ],\n};\n\nconst bookingMockUpData2 = {\n id: 11,\n time: '10:00',\n golfCartAvailability: 2,\n players: [\n {\n id: 0,\n name: 'Jugador 0',\n },\n {\n id: 1,\n name: 'Jugador 1',\n },\n {\n id: 2,\n name: 'Jugador 2',\n },\n ],\n fees: [\n {\n holes: 18,\n price: 100,\n },\n {\n holes: 9,\n price: 50,\n },\n ],\n};\n\nconst bookingMockUpData3 = {\n id: 11,\n time: '11:00',\n golfCartAvailability: 2,\n players: [],\n fees: [\n {\n holes: 18,\n price: 100,\n },\n {\n holes: 9,\n price: 50,\n },\n ],\n};\n\nconst bookingsMockUpData = {\n count: 10,\n rows: [\n bookingMockUpData1,\n bookingMockUpData2,\n bookingMockUpData3,\n bookingMockUpData3,\n bookingMockUpData3,\n bookingMockUpData3,\n bookingMockUpData3,\n bookingMockUpData3,\n bookingMockUpData3,\n bookingMockUpData3,\n ],\n};\n","import React from 'react';\nimport { Box, Divider, makeStyles, Paper } from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport GolfTimetableTee from './GolfTimetableTee';\nimport GolfTimetableCart from './GolfTimetableCart';\nimport GolfTimetableControls from './GolfTimetableControls';\n\n/**\n * Draw golf timetable.\n * @returns {JSX.Element}\n */\nexport default function GolfTimetable({}) {\n const classes = useStyles();\n const form = useForm();\n\n {\n /* Render golf timetable with tee columns and golf cart availability column. */\n }\n return (\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n
\n
\n );\n}\n\nconst useStyles = makeStyles(() => ({\n timetable: {\n height: '57vh',\n margin: 0,\n padding: 0,\n },\n timetableBox: {\n maxHeight: '100%',\n overflowX: 'auto',\n overflowY: 'auto',\n },\n}));\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\"\n}), 'ArrowForward');","import React, { useState } from 'react';\nimport { makeStyles, Box, Grid, Typography, Paper } from '@material-ui/core';\nimport { ArrowBack, ArrowForward } from '@material-ui/icons';\nimport imageStep1 from './images/sporttia1_smartcourt.jpeg';\nimport imageStep2 from './images/sporttia2_smartcourt.jpeg';\nimport imageStep3 from './images/sporttia3_smartcourt.jpeg';\nimport imageStep4 from './images/sporttia4_smartcourt.jpeg';\nimport imageStep5 from './images/sporttia5_smartcourt.jpeg';\nimport imageStep6 from './images/sporttia6_smartcourt.jpeg';\nimport imageStep7 from './images/sporttia7_smartcourt.jpeg';\n\nimport { SttButton } from '../../sporttia/all';\nimport { useTranslations } from '../../lib/hooks';\n\nconst useStyles = makeStyles((theme) => ({\n rootContainer: {\n [theme.breakpoints.up(500)]: {\n maxWidth: '90%',\n marginLeft: '5%',\n marginRight: '5%',\n },\n [theme.breakpoints.up(820)]: {\n maxWidth: '80%',\n marginLeft: '10%',\n marginRight: '10%',\n },\n [theme.breakpoints.up(1020)]: {\n maxWidth: '70%',\n marginLeft: '15%',\n marginRight: '15%',\n },\n [theme.breakpoints.up(1600)]: {\n maxWidth: '50%',\n marginLeft: '25%',\n marginRight: '25%',\n },\n },\n container: {\n backgroundColor: '#FFFFFF',\n borderRadius: '25px',\n },\n title: {\n fontFamily: 'roboto',\n fontWeight: '800',\n color: 'black',\n [theme.breakpoints.down(768)]: {\n fontSize: '3em',\n letterSpacing: '2px',\n },\n [theme.breakpoints.up(768)]: {\n fontSize: '5em',\n letterSpacing: '4px',\n },\n },\n subtitle: {\n fontFamily: 'roboto',\n color: 'black',\n fontWeight: 'bold',\n [theme.breakpoints.down(768)]: {\n fontSize: '1em',\n letterSpacing: '2px',\n },\n [theme.breakpoints.up(768)]: {\n fontSize: '2em',\n letterSpacing: '2px',\n },\n },\n menuText: {\n fontFamily: 'roboto',\n color: 'black',\n fontWeight: 'bold',\n fontSize: '1.5em',\n letterSpacing: '2px',\n },\n stepTitleContainer: {\n marginBottom: '15px',\n },\n stepTitleText: {\n fontFamily: 'roboto',\n color: 'black',\n fontWeight: 'bold',\n fontSize: '1.5em',\n letterSpacing: '2px',\n marginBottom: '20px',\n textAlign: 'center',\n },\n textContainer: {\n marginBottom: '25px',\n },\n text: {\n fontFamily: 'roboto',\n color: 'black',\n textAlign: 'center',\n marginBottom: '5px',\n [theme.breakpoints.down(768)]: {\n fontSize: '1em',\n letterSpacing: '1px',\n },\n },\n logoStore: {\n [theme.breakpoints.down(768)]: {\n height: '100px',\n width: '150px',\n },\n [theme.breakpoints.up(768)]: {\n height: '150px',\n width: '200px',\n },\n },\n imageStepsContainer: {\n [theme.breakpoints.down(768)]: {\n textAlign: 'center',\n height: '100%',\n width: '100%',\n },\n [theme.breakpoints.up(768)]: {\n textAlign: 'center',\n height: '50%',\n width: '50%',\n },\n },\n imageSteps: {\n marginTop: '20px',\n border: '2px solid #c6c6c6',\n [theme.breakpoints.down(768)]: {\n height: '200px',\n width: '107px',\n },\n [theme.breakpoints.up(768)]: {\n height: '400px',\n width: '207px',\n },\n },\n imageLastStep: {\n marginTop: '20px',\n border: '2px solid #c6c6c6',\n [theme.breakpoints.down(768)]: {\n height: '199px',\n width: '300px',\n },\n [theme.breakpoints.up(768)]: {\n height: '299px',\n width: '400px',\n },\n },\n active: {\n backgroundColor: '#5c690e',\n },\n stepContainer: {\n marginTop: '5px',\n padding: '25px',\n height: '100%',\n borderRadius: '25px',\n },\n zoomedImage: {\n [theme.breakpoints.up(768)]: {\n height: '35%',\n width: '35%',\n borderRadius: '25px',\n },\n [theme.breakpoints.down(768)]: {\n height: '100%',\n width: '100%',\n borderRadius: '25px',\n },\n },\n buttons: {\n width: '50%',\n textAlign: 'center',\n },\n buttonsContainer: {\n marginTop: '30px',\n },\n}));\n\nexport default function SmartCourt() {\n const classes = useStyles();\n const [currentStep, setCurrentStep] = useState(0);\n const [imageZoom, setImageZoom] = useState(null);\n const { translate } = useTranslations();\n\n // All five steps to show to the user with each correspondent description and images\n const steps = [\n \n \n \n {translate('smartcourt.titleStep1')}\n \n \n \n \n {translate('smartcourt.textStep1')}\n \n \n \n \n \n \n \n \n \n \n \n \n ,\n \n \n \n {translate('smartcourt.titleStep2')}\n \n \n \n \n {translate('smartcourt.textStep2')}\n \n \n \n \n setImageZoom(imageStep1)}\n />\n \n \n setImageZoom(imageStep2)}\n />\n \n \n ,\n \n \n \n {translate('smartcourt.titleStep3')}\n \n \n \n \n {translate('smartcourt.textStep3')}\n \n \n\n \n \n setImageZoom(imageStep3)}\n />\n \n \n setImageZoom(imageStep4)}\n />\n \n \n ,\n \n \n \n {translate('smartcourt.titleStep4')}\n \n \n \n \n {translate('smartcourt.textStep4')}\n \n \n \n \n setImageZoom(imageStep5)}\n />\n \n \n setImageZoom(imageStep6)}\n />\n \n \n ,\n \n \n \n {translate('smartcourt.titleStep5')}\n \n \n \n \n 1. {translate('smartcourt.textStep5.1')}\n \n \n 2. {translate('smartcourt.textStep5.2')}\n \n \n \n \n \n \n \n ,\n ];\n\n return (\n <>\n {imageZoom ? (\n \n setImageZoom(null)}\n />\n \n ) : (\n \n \n \n \n SMARTCOURT\n \n \n \n \n {translate('smartcourt.subtitle')}\n \n \n \n \n \n {steps[currentStep]}\n \n \n \n \n ) : (\n \n )\n }\n color=\"primary\"\n variant=\"contained\"\n caption={\n currentStep < steps.length - 1\n ? 'Siguiente'\n : 'Volver'\n }\n onClick={() => {\n if (currentStep < steps.length - 1) {\n setCurrentStep(currentStep + 1);\n } else setCurrentStep(0);\n }}\n />\n \n \n \n \n )}\n \n );\n}\n","import { useContext } from 'react';\nimport useRestService from './RestService';\nimport { AppContext } from '../sporttia/AppContext';\nimport { useAPI } from '../lib/hooks';\n\nconst resource = '/migration-endpoints';\n\n/**\n * Hook to access all 'migration-endpoints' resources.\n */\nexport default function useMigrationEndpointsService() {\n const { migrationApis } = useContext(AppContext);\n const [request] = useAPI(migrationApis);\n const services = useRestService(resource);\n\n /**\n * POST /migration-endpoints/swagger request.\n * @returns {Promise|*} Return request promise.\n */\n function createMigrationEndpointsWithSwagger() {\n return request('POST', `${resource}/swagger`);\n }\n\n /**\n * PUT /migration-endpoints/:id request.\n * @returns {Promise|*} Return request promise.\n */\n function updateMigrationEndpoint(id, requestBody) {\n return request('PUT', `${resource}/${id}`, requestBody);\n }\n\n /**\n * DELETE /migration-endpoints/:id request.\n * @returns {Promise|*} Return request promise.\n */\n function deleteMigrationEndpoint(id) {\n return request('DELETE', `${resource}/${id}`);\n }\n return {\n ...services,\n createMigrationEndpointsWithSwagger,\n updateMigrationEndpoint,\n deleteMigrationEndpoint,\n };\n}\n","import React, { useContext } from 'react';\nimport { useMutation } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { AppContext, SttFullDialog } from '../../../../sporttia/all';\nimport { useLoader, useTranslations } from '../../../../lib/hooks';\nimport useMigrationEndpointsService from '../../../../services/MigrationEndpointsService';\nimport Migration from '../../../../types/models/Migration';\nimport SttValidatedForm from '../../../../sporttia/SttValidatedForm';\nimport { PutMigration200 } from '../../../../types/api/paths/Migration';\nimport translations from '../../../../translations';\n\ntype MigrationEndpointPropTypes = Migration;\n\nexport default function MigrationEndpoint({\n onClose,\n onUpdate,\n migrationEndpoint,\n}: {\n migrationEndpoint: MigrationEndpointPropTypes;\n onClose: () => Record;\n onUpdate: () => void;\n}) {\n const cxt = useContext(AppContext);\n const migrationEndpointsService = useMigrationEndpointsService();\n const { translate } = useTranslations();\n const { watch, ...form } = useForm({ defaultValues: migrationEndpoint });\n const updateMigrationEndpointMutation = useMutation(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n ({ id, requestBody }: { id: number; requestBody: PutMigration200 }) =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n migrationEndpointsService.updateMigrationEndpoint(id, requestBody),\n {\n onSuccess: (body: { migrationEndpoint: Migration }) => {\n cxt?.showMessage('S', translations.generic.OperationSuccessful);\n form.reset(body?.migrationEndpoint);\n onUpdate();\n },\n },\n );\n\n const deleteMigrationEndpointMutation = useMutation(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n () =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n migrationEndpointsService.deleteMigrationEndpoint(\n migrationEndpoint?.id,\n ),\n {\n onSuccess: () => {\n cxt?.showMessage('S', translations.generic.OperationSuccessful);\n onUpdate();\n onClose();\n },\n },\n );\n const [, loader] = useLoader([updateMigrationEndpointMutation.status]);\n const defaultValues = watch();\n\n return (\n <>\n {loader}\n = 0}\n onClose={() => onClose()}\n >\n {\n updateMigrationEndpointMutation.mutate({\n id: form.getValues<'id'>('id'),\n requestBody: {\n endpoint:\n form.getValues<'endpoint'>(\n 'endpoint',\n ),\n method: form.getValues<'method'>(\n 'method',\n ),\n notes: form.getValues<'notes'>('notes'),\n uploaded:\n form.getValues<'uploaded'>(\n 'uploaded',\n ),\n activePreproduction:\n form.getValues<'activePreproduction'>(\n 'activePreproduction',\n ),\n activeProduction:\n form.getValues<'activeProduction'>(\n 'activeProduction',\n ),\n },\n });\n },\n },\n {\n type: 'delete',\n caption: translate('Delete'),\n sm: 2,\n onClick: () => {\n deleteMigrationEndpointMutation.mutate();\n },\n },\n ]}\n />\n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { Button, Paper, makeStyles } from '@material-ui/core';\nimport SystemUpdateAltIcon from '@material-ui/icons/SystemUpdateAlt';\nimport { CheckCircleOutline, HighlightOff } from '@material-ui/icons';\nimport { AppContext } from '../../../../sporttia/all';\nimport {\n useLoader,\n usePageHeader,\n useQueryFilters,\n} from '../../../../lib/hooks';\nimport { SUPERADMIN_MIGRATION_ENDPOINTS } from '../../../../lib/queryKeys';\nimport useMigrationEndpointsService from '../../../../services/MigrationEndpointsService';\nimport SttCachedTable from '../../../../sporttia/SttCachedTable';\nimport { SttTopFilteringControls } from '../../../../sporttia/SttTopFilteringControls';\nimport MigrationEndpoint from './MigrationEndpoint';\nimport DateBuilder from '../../../../lib/DateBuilder';\n\nconst useStyles = makeStyles({\n notificationButton: {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n notificationButtonActive: {\n color: '#18b432',\n '&:hover': {\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n notificationButtonDisabled: {\n color: '#df3525',\n '&:hover': {\n color: 'rgba(33, 150, 243, 0.5)',\n },\n },\n});\n\nexport default function AdminMigrationEndpoints() {\n usePageHeader('migrationEndpoints');\n const cxt = useContext(AppContext);\n const classes = useStyles();\n const queryClient = useQueryClient();\n const migrationEndpointsService = useMigrationEndpointsService();\n const [currentEndpoint, setCurrentEndpoint] = useState(null);\n const [filters, setFilters] = useQueryFilters(\n {},\n SUPERADMIN_MIGRATION_ENDPOINTS,\n );\n const createMigrationEndpointsWithSwagger = useMutation(\n () => migrationEndpointsService.createMigrationEndpointsWithSwagger(),\n {\n onSuccess: () => {\n queryClient.invalidateQueries(SUPERADMIN_MIGRATION_ENDPOINTS);\n },\n },\n );\n const updateMutation = useMutation(\n (params) =>\n migrationEndpointsService.update(params?.id, params?.params),\n {\n onSuccess: () => {\n queryClient.invalidateQueries(SUPERADMIN_MIGRATION_ENDPOINTS);\n },\n onError: (error) => {\n cxt.showMessage('E', error?.errors?.msg);\n },\n },\n );\n const [, loader] = useLoader([\n createMigrationEndpointsWithSwagger.status,\n updateMutation.status,\n ]);\n\n /**\n * In this case, before making the request (due to Material UI problems), if the value of \"method\"\n * takes the value of \"ALL\", it must be removed from the parameters sent.\n * @param updatedFilters Object with the parameters returned by the SttTopFilteringControls component.\n */\n const doFiltering = (updatedFilters) => {\n const processedFilters = updatedFilters;\n if (updatedFilters?.method === 'ALL') delete processedFilters.method;\n if (updatedFilters?.active === false) delete processedFilters.active;\n if (updatedFilters?.swagger === false) delete processedFilters.swagger;\n setFilters(updatedFilters);\n };\n\n return (\n <>\n {loader}\n \n ,\n onClick: () =>\n createMigrationEndpointsWithSwagger.mutate(),\n },\n ]}\n trashAction={false}\n onFilter={doFiltering}\n />\n\n \n migrationEndpointsService.getList(params)\n }\n queryParams={filters}\n rowsPerPage={100}\n columns={[\n {\n title: 'Id',\n field: 'id',\n align: 'left',\n },\n {\n title: 'Metodo',\n align: 'left',\n field: 'method',\n },\n {\n title: 'Endpoint',\n align: 'left',\n field: 'endpoint',\n value: (row) => (\n // eslint-disable-next-line react/button-has-type\n \n ),\n },\n {\n title: 'Updated',\n field: 'updatedAt',\n align: 'left',\n value: (row) =>\n row?.updatedAt\n ? new DateBuilder(row?.updatedAt).dmy()\n : '',\n },\n {\n title: 'Notes',\n field: 'notes',\n align: 'left',\n },\n {\n title: 'PRE',\n field: 'activePreproduction',\n align: 'left',\n value: (row) =>\n row?.activePreproduction\n ? new DateBuilder(\n row?.activePreproduction,\n ).dmy()\n : '',\n },\n {\n title: 'PRO',\n field: 'activeProduction',\n align: 'left',\n value: (row) =>\n row?.activeProduction\n ? new DateBuilder(\n row?.activeProduction,\n ).dmy()\n : '',\n },\n {\n title: '¿Activo?',\n value: (row) =>\n row.active ? (\n \n updateMutation.mutate({\n id: row?.id,\n params: {\n active: !row.active,\n },\n })\n }\n />\n ) : (\n \n updateMutation.mutate({\n id: row?.id,\n params: {\n active: !row.active,\n },\n })\n }\n />\n ),\n },\n {\n title: '¿Swagger?',\n value: (row) =>\n row?.swagger ? (\n \n ) : (\n \n ),\n },\n ]}\n />\n\n {currentEndpoint && (\n {\n setCurrentEndpoint(null);\n }}\n onUpdate={() => {\n queryClient.invalidateQueries(\n SUPERADMIN_MIGRATION_ENDPOINTS,\n );\n }}\n />\n )}\n \n \n );\n}\n","import { MutationFunction, UseMutationOptions, useMutation } from 'react-query';\nimport { useContext } from 'react';\nimport {\n UpdateDiscount200,\n UpdateDiscountBody,\n DeleteDiscount200,\n} from '../types/api/paths/Discount';\nimport { AppContext } from '../sporttia/AppContext';\nimport { useAPI } from '../lib/hooks';\n\nconst resource = '/discounts';\n\n/**\n * Hook to access all 'discounts' resources.\n */\nexport default function useDiscountService() {\n const { migrationApis } = useContext(AppContext)!;\n const [request] = useAPI(migrationApis);\n\n /**\n * PUT /discounts/{discountId} request.\n */\n function useUpdateDiscount(\n mutationOptions?: UseMutationOptions<\n UpdateDiscount200,\n unknown,\n { id: number; params: UpdateDiscountBody }\n >,\n ) {\n const mutationFn: MutationFunction<\n UpdateDiscount200,\n { id: number; params: UpdateDiscountBody }\n > = ({ id, params }) => request('PUT', `${resource}/${id}`, params);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n /**\n * DELETE /discounts/{discountId} request.\n */\n function useDeleteDiscount(\n mutationOptions?: UseMutationOptions<\n DeleteDiscount200,\n unknown,\n number\n >,\n ) {\n const mutationFn: MutationFunction = (id) =>\n request('DELETE', `${resource}/${id}`);\n\n return useMutation(mutationFn, mutationOptions);\n }\n\n return {\n useUpdateDiscount,\n useDeleteDiscount,\n };\n}\n","import React, { useContext } from 'react';\nimport { InputAdornment } from '@material-ui/core';\nimport { useForm } from 'react-hook-form';\nimport Discount from '../../../types/models/Discount';\nimport { AppContext, SttDialog } from '../../../sporttia/all';\nimport { getErrorMessage } from '../../../lib/utils';\nimport { useLoader } from '../../../lib/hooks';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\nimport useDiscountService from '../../../services/DiscountsService';\nimport useScsService from '../../../services/ScsService';\n\ntype DiscountEditDialogProps = {\n discount: Discount | undefined;\n onUpdate?: (discount: Discount) => void;\n onSave?: (discount: Discount) => void;\n onDelete?: (discount: Discount) => void;\n onClose?: () => void;\n};\n\nexport default function DiscountEditDialog({\n discount,\n onUpdate,\n onSave,\n onDelete,\n onClose,\n}: DiscountEditDialogProps) {\n const cxt = useContext(AppContext)!;\n const form = useForm({\n defaultValues: {\n name: discount?.name,\n discountPercentage: discount?.discountPercentage,\n },\n });\n\n const discountService = useDiscountService();\n const scsService = useScsService();\n\n const createScsDiscountMutation = scsService.useCreateDiscount({\n onSuccess: (data) => {\n onSave?.(data.discount);\n cxt.showMessage('S', cxt.t('discountCreated'));\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const updateDiscountMutation = discountService.useUpdateDiscount({\n onSuccess: (data) => {\n onUpdate?.(data.discount);\n cxt.showMessage('S', cxt.t('discountUpdated'));\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const deleteDiscountMutation = discountService.useDeleteDiscount({\n onSuccess: (data) => {\n onDelete?.(data.discount);\n cxt.showMessage('S', cxt.t('discountDeleted'));\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const handleOnSubmit = () => {\n form.handleSubmit(({ name, discountPercentage }) => {\n if (name === undefined || discountPercentage === undefined) {\n return;\n }\n\n const params = {\n name,\n discountPercentage,\n };\n\n if (discount) {\n updateDiscountMutation.mutate({\n id: discount.id,\n params,\n });\n } else {\n createScsDiscountMutation.mutate({\n id: cxt.sc!.id,\n params,\n });\n }\n })();\n };\n\n const handleOnDelete = () => {\n if (!discount) {\n return;\n }\n\n deleteDiscountMutation.mutate(discount.id);\n };\n\n const [isMutationsLoading, mutationsLoader] = useLoader([\n createScsDiscountMutation.status,\n updateDiscountMutation.status,\n deleteDiscountMutation.status,\n ]);\n\n if (isMutationsLoading) {\n return mutationsLoader;\n }\n\n return (\n \n %\n \n ),\n },\n rules: {\n required: true,\n },\n xs: 3,\n },\n ]}\n />\n }\n buttons={[\n {\n type: 'save',\n onClick: () => handleOnSubmit(),\n },\n {\n show: !!discount && !discount.trash,\n type: 'delete',\n onClick: () => handleOnDelete(),\n },\n ]}\n />\n );\n}\n","import React from 'react';\nimport { Box, makeStyles } from '@material-ui/core';\nimport { useTranslations } from '../../lib/hooks';\nimport SttError from './SttError';\nimport { SttButton } from '../../sporttia/all';\n\nconst useStyles = makeStyles(() => ({\n root: {\n display: 'flex',\n height: '100vh',\n },\n}));\n\nexport default function SttFullPageError() {\n const { translate } = useTranslations();\n const classes = useStyles();\n\n return (\n \n \n \n \n {\n window.location.assign(window.location.href);\n }}\n />\n \n \n \n );\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '../styles/withStyles';\nimport Typography from '../Typography';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n marginBottom: 12\n }\n};\nvar DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(props, ref) {\n return /*#__PURE__*/React.createElement(Typography, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"textSecondary\",\n ref: ref\n }, props));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiDialogContentText'\n})(DialogContentText);","import React from 'react';\nimport { Button, ButtonProps } from '@material-ui/core';\nimport { Close as CloseIcon } from '@material-ui/icons';\nimport { useTranslations } from '../../lib/hooks';\n\ntype SttButtonCancelProps = {\n onClick: () => void;\n} & ButtonProps;\n\n/**\n * Delete button\n */\nexport function SttButtonCancel({ onClick, ...rest }: SttButtonCancelProps) {\n const { translate } = useTranslations();\n\n return (\n }\n {...rest}\n >\n {translate('Cancel')}\n \n );\n}\n","import React from 'react';\nimport Button from '@material-ui/core/Button';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { makeStyles } from '@material-ui/core';\nimport { useTranslations } from '../../lib/hooks';\n\nconst useStyles = makeStyles(() => ({\n root: (props: { textColor: string }) => ({\n color: props.textColor,\n '& .MuiButton-label': {\n color: props.textColor,\n },\n }),\n}));\n\ntype SttButtonCloseProps = {\n fullWidth?: boolean;\n onClick: () => void;\n textColor?: string;\n};\n\n/**\n * Close button\n */\nexport function SttButtonClose({\n fullWidth,\n onClick,\n textColor = 'inherit',\n}: SttButtonCloseProps) {\n const { translate } = useTranslations();\n const classes = useStyles({ textColor });\n\n return (\n }\n onClick={onClick}\n className={classes.root}\n >\n {translate('Close')}\n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');","import React from 'react';\nimport { Button, ButtonProps } from '@material-ui/core';\nimport { Cancel } from '@material-ui/icons';\nimport { useTranslations } from '../../lib/hooks';\n\ntype SttButtonUnsubscribeProps = {\n onClick: () => void;\n} & ButtonProps;\n\n/**\n * Unsubscribe button\n */\nexport function SttButtonUnsubscribe({\n onClick,\n ...rest\n}: SttButtonUnsubscribeProps) {\n const { translate } = useTranslations();\n\n return (\n }\n onClick={onClick}\n >\n {translate('Unsubscribe')}\n \n );\n}\n","import React from 'react';\nimport { Button, ButtonProps } from '@material-ui/core';\nimport { CloudDownload } from '@material-ui/icons';\nimport { useTranslations } from '../../lib/hooks';\n\ntype SttButtonDownloadProps = {\n caption?: string;\n onClick: () => void;\n} & ButtonProps;\n\n/**\n * Download button\n */\nexport function SttButtonDownload({\n caption,\n onClick,\n ...rest\n}: SttButtonDownloadProps) {\n const { translate } = useTranslations();\n\n return (\n }\n onClick={onClick}\n >\n {caption || translate('Download')}\n \n );\n}\n","import React, { ReactNode } from 'react';\nimport {\n Box,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n} from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport { SttButtonAccept } from '../../sporttia/buttons/SttButtonAccept';\nimport { SttButtonCancel } from '../../sporttia/buttons/SttButtonCancel';\nimport { SttButtonClose } from '../../sporttia/buttons/SttButtonClose';\nimport { SttButtonDelete } from '../../sporttia/buttons/SttButtonDelete';\nimport { SttButtonRecover } from '../../sporttia/buttons/SttButtonRecover';\nimport { SttButtonSave } from '../../sporttia/buttons/SttButtonSave';\nimport { SttButtonUnsubscribe } from '../../sporttia/buttons/SttButtonUnsubscribe';\nimport { SttButtonDownload } from '../../sporttia/buttons/SttButtonDownload';\n\ntype ButtonType =\n | 'accept'\n | 'cancel'\n | 'close'\n | 'delete'\n | 'recover'\n | 'save'\n | 'unsubscribe'\n | 'download'\n | 'component';\n\ntype ButtonConfig = {\n show?: boolean;\n component?: ReactNode;\n type?: ButtonType;\n disabled?: boolean;\n caption?: string;\n onClick: () => void;\n confirmation?: boolean;\n loading?: boolean;\n icon?: ReactNode;\n};\n\ntype AlertDialogProps = {\n title?: string;\n subtitle?: string;\n open: boolean;\n onClose?: () => void;\n buttons: ButtonConfig[];\n};\n\n/**\n * Alert dialog. Used to warn the user before taking an action.\n */\nexport function AlertDialog({\n title,\n subtitle,\n open,\n onClose,\n buttons,\n}: AlertDialogProps) {\n /**\n * Render buttons.\n */\n const renderButton = (button: ButtonConfig, idx: number) => {\n if (button) {\n let content: ReactNode;\n\n if (button.show !== false) {\n if (button.component) {\n content = button.component;\n } else {\n switch (button.type) {\n case 'accept':\n content = (\n \n );\n break;\n case 'cancel':\n content = (\n \n );\n break;\n case 'close':\n content = (\n \n );\n break;\n case 'delete':\n content = (\n \n );\n break;\n case 'recover':\n content = (\n \n );\n break;\n case 'save':\n content = (\n \n );\n break;\n case 'unsubscribe':\n content = (\n \n );\n break;\n case 'download':\n content = (\n \n );\n break;\n default:\n content = (\n \n {button.caption}\n \n );\n break;\n }\n }\n\n return {content};\n }\n }\n };\n\n return (\n \n {title && (\n {title}\n )}\n\n {subtitle && (\n \n \n {subtitle}\n \n \n )}\n\n \n {buttons.map((button, idx) => renderButton(button, idx))}\n \n \n );\n}\n","import React, { useContext, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Box, Link } from '@material-ui/core';\nimport DoneOutlineOutlinedIcon from '@material-ui/icons/DoneOutlineOutlined';\nimport CloseOutlinedIcon from '@material-ui/icons/CloseOutlined';\nimport useTpvsService from '../../../services/TpvsService';\nimport SttFullPageSpinner from '../../../sporttia/spinners/SttFullPageSpinner';\nimport SttFullPageError from '../../../components/error/SttFullPageError';\nimport { useTranslations } from '../../../lib/hooks';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { isObject } from '../../../types/common';\nimport { AlertDialog } from '../../../components/dialogs/AlertDialog';\nimport Tpv from '../../../types/models/Tpv';\n\n/**\n * Sporttia ofrece diferentes métodos de pago. Este componente renderiza el componente para pagar según el banco del TPV.\n * Anteriormente, se utilizaba TPVSwitcherLegacy con este propósito. Dado que no se han migrado todos los métodos de pago al nuevo componente,\n * TPVSwitcherLegacy se utiliza como fallback.\n */\nexport default function TPVUrlPurchase({ tpv }: { tpv: Tpv }) {\n const tpvService = useTpvsService();\n const cxt = useContext(AppContext)!;\n const history = useHistory();\n const { translate } = useTranslations();\n\n const {\n mutate: purchasePayment,\n data,\n status,\n } = tpvService.useCreateTpvPurchase({\n onError: (error) => {\n if (!isObject(error) || !(typeof error.description === 'string')) {\n return;\n }\n // ¿Es necesario traducir `error.description`?\n cxt.showMessage('E', translate(error.description), 3000);\n },\n });\n\n useEffect(() => {\n purchasePayment({\n id: tpv.id,\n });\n }, [tpv, purchasePayment]);\n\n /**\n * Returns the color of the background according to the type of POS to paint the background of the meter\n * and make it appear embedded in the virtual POS.\n * @returns {string} String color.\n */\n const getBackgroundColorByTpvConf = () => {\n switch (tpv.tpvConf?.bank) {\n case 'REDSYS_HMAC256':\n return '#F8F8F8';\n case 'PAYCOMET':\n case 'CCM':\n default:\n return 'white';\n }\n };\n\n if (status === 'error') {\n return ;\n }\n\n if (status === 'loading') {\n return ;\n }\n\n if (!data) {\n return null;\n }\n\n const { urlRedirection } = data;\n\n return (\n \n {urlRedirection && (\n ,\n caption: 'Denegar',\n onClick: () => {\n history.push('/');\n },\n },\n {\n icon: ,\n caption: 'Aceptar',\n onClick: () => {\n window.location.replace(urlRedirection);\n },\n },\n ]}\n // @ts-expect-error Link is not a string\n subtitle={\n <>\n {translate('IHaveReadAndAccept')}{' '}\n {\n window\n .open(\n 'https://www.sporttia.com/es/condiciones-generales-de-contratacion/',\n '_blank',\n )\n ?.focus();\n }}\n >\n {translate('TermsAndConditions')}\n \n \n }\n />\n )}\n \n );\n}\n","import React, { useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Box, Link } from '@material-ui/core';\nimport DoneOutlineOutlinedIcon from '@material-ui/icons/DoneOutlineOutlined';\nimport ExitToAppOutlinedIcon from '@material-ui/icons/ExitToAppOutlined';\nimport useTpvsService from '../../../services/TpvsService';\nimport SttFullPageSpinner from '../../../sporttia/spinners/SttFullPageSpinner';\nimport SttFullPageError from '../../../components/error/SttFullPageError';\nimport { useTranslations } from '../../../lib/hooks';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { isObject } from '../../../types/common';\nimport { AlertDialog } from '../../../components/dialogs/AlertDialog';\nimport Tpv from '../../../types/models/Tpv';\nimport { formatPrice } from '../../../lib/utils';\n\n/**\n * Sporttia ofrece diferentes métodos de pago. Este componente renderiza el componente para pagar según el banco del TPV.\n * Anteriormente, se utilizaba TPVSwitcherLegacy con este propósito. Dado que no se han migrado todos los métodos de pago al nuevo componente,\n * TPVSwitcherLegacy se utiliza como fallback.\n */\nexport default function TpvTokenizedPaycometPurchase({ tpv }: { tpv: Tpv }) {\n const tpvService = useTpvsService();\n const cxt = useContext(AppContext)!;\n const history = useHistory();\n const { translate } = useTranslations();\n\n const { mutate: purchasePayment, status } = tpvService.useCreateTpvPurchase(\n {\n onError: (error) => {\n if (\n !isObject(error) ||\n !(typeof error.description === 'string')\n ) {\n return;\n }\n // ¿Es necesario traducir `error.description`?\n cxt.showMessage('E', translate(error.description), 3000);\n },\n onSuccess: () => {\n history.push(`/tpvs/${tpv.id}/result`);\n },\n },\n );\n\n /**\n * Returns the color of the background according to the type of POS to paint the background of the meter\n * and make it appear embedded in the virtual POS.\n * @returns {string} String color.\n */\n const getBackgroundColorByTpvConf = () => {\n switch (tpv.tpvConf?.bank) {\n case 'REDSYS_HMAC256':\n return '#F8F8F8';\n case 'PAYCOMET':\n case 'CCM':\n default:\n return 'white';\n }\n };\n\n if (status === 'error') {\n return ;\n }\n\n if (status === 'loading') {\n return ;\n }\n\n return (\n \n ,\n caption: translate('backToSporttia'),\n onClick: () => history.push('/'),\n },\n {\n icon: ,\n caption: translate('pay'),\n onClick: () =>\n purchasePayment({\n id: tpv.id,\n }),\n },\n ]}\n // @ts-expect-error Link is not a string\n subtitle={\n <>\n \n {cxt.t('paycometConfirmationText')}\n {formatPrice(tpv.price)}\n \n\n \n {translate('IHaveReadAndAccept')} \n \n // @ts-expect-error Link is not a string\n window\n .open(\n 'https://www.sporttia.com/es/condiciones-generales-de-contratacion/',\n '_blank',\n )\n .focus()\n }\n >\n {translate('TermsAndConditions')}\n \n .\n \n \n }\n />\n \n );\n}\n","import React from 'react';\nimport { Typography } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport Spinner, { SpinnerProps } from 'react-spinkit';\n\ntype SttFoldingCubeSpinnerProps = {\n active: boolean;\n color: SpinnerProps['color'];\n message: string;\n};\n\nexport default function SttFoldingCubeSpinner({\n active = false,\n color = '#DBEA7B',\n message = '',\n}: SttFoldingCubeSpinnerProps) {\n return active ? (\n <>\n \n \n \n\n {message !== '' && (\n \n {message}\n \n )}\n \n ) : null;\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport {\n Avatar,\n Box,\n Card,\n CardContent,\n CardHeader,\n Grid,\n Paper,\n makeStyles,\n} from '@material-ui/core';\nimport moment from 'moment';\nimport SentimentVeryDissatisfiedIcon from '@material-ui/icons/SentimentVeryDissatisfied';\nimport SportsIcon from '@material-ui/icons/Sports';\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\nimport PeopleIcon from '@material-ui/icons/People';\nimport { Chart } from 'react-charts';\nimport LocalAtmIcon from '@material-ui/icons/LocalAtm';\nimport { formatPriceByLocale } from '../../../lib/utils';\nimport { AppContext } from '../../../sporttia/all';\nimport SttFoldingCubeSpinner from '../../../sporttia/spinners/SttFoldingCubeSpinner';\n\nexport default function SCStats() {\n const cxt = useContext(AppContext);\n const [stats, setStats] = useState();\n const [year] = useState(parseInt(moment().format('YYYY')));\n const [totalBookings, setTotalBookings] = useState(0);\n const [totalIncome, setTotalIncome] = useState(0);\n const [loadedStats, setLoadedStats] = useState(true);\n\n const graphColors = ['#bbece5', '#35c7b3'];\n\n useEffect(() => {\n cxt.setHeader({ title: cxt.sc.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cxt.sc]);\n\n const getStats = () => {\n cxt.api('GET', `/scs/${cxt.sc.id}/stats`, {\n params: {\n years: [year - 1, year].join(','),\n bookingsByMonth: true,\n incomeByMonth: true,\n followersByMonth: true,\n },\n success: (r) => {\n setStats(r);\n setLoadedStats(false);\n\n // Calculate total bookings and income\n let bks = 0;\n let income = 0;\n for (let i = 1; i < 13; i++) {\n bks += r.years[year][i].numBookings;\n income += r.years[year][i].income;\n }\n setTotalBookings(bks);\n setTotalIncome(income);\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (cxt.sc?.id) {\n getStats();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cxt.sc?.id]);\n\n /**\n * Get stats\n */\n const containsFinancialInfo =\n stats &&\n !Number.isNaN(parseFloat(stats?.totalDebt, 10)) &&\n !Number.isNaN(parseFloat(stats?.totalPurse, 10));\n\n // Render\n return (\n
\n {loadedStats && (\n \n \n \n )}\n {stats && (\n \n \n \n \n }\n />\n \n\n {containsFinancialInfo && (\n \n }\n />\n \n )}\n\n {containsFinancialInfo && (\n \n }\n />\n \n )}\n\n {containsFinancialInfo && (\n \n }\n />\n \n )}\n\n \n }\n />\n \n \n \n \n {stats && (\n <>\n [\n cxt.t(`month.${month}`),\n stats.years[year - 1][month]\n .numBookings,\n ]),\n },\n {\n label: year,\n data: Object.keys(\n stats.years[year],\n ).map((month) => [\n cxt.t(`month.${month}`),\n stats.years[year][month]\n .numBookings,\n ]),\n },\n ]}\n />\n\n {containsFinancialInfo && (\n [\n cxt.t(`month.${month}`),\n stats.years[year - 1][month]\n .income,\n ]),\n },\n {\n label: year,\n data: Object.keys(\n stats.years[year],\n ).map((month) => [\n cxt.t(`month.${month}`),\n stats.years[year][month]\n .income,\n ]),\n },\n ]}\n />\n )}\n\n [\n cxt.t(`month.${month}`),\n stats.years[year - 1][month]\n .numFollowers,\n ]),\n },\n {\n label: year,\n data: Object.keys(\n stats.years[year],\n ).map((month) => [\n cxt.t(`month.${month}`),\n stats.years[year][month]\n .numFollowers,\n ]),\n },\n ]}\n />\n \n )}\n \n \n )}\n
\n );\n}\n\n/**\n * HomeChart\n */\nfunction HomeChart({ title, data, colors, years }) {\n const useStyles = makeStyles({\n legend: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 16,\n },\n box: {\n width: 14,\n height: 14,\n marginRight: 8,\n },\n text: {\n fontSize: 14,\n color: '#7b7b7b',\n },\n });\n\n const classes = useStyles();\n\n return (\n \n \n \n \n {title}\n <>\n {years.map((year, i) => (\n // eslint-disable-next-line react/no-array-index-key\n \n \n {year}\n \n ))}\n \n \n\n \n ({\n color: colors[series.index],\n })}\n data={data}\n axes={[\n {\n primary: true,\n type: 'ordinal',\n position: 'bottom',\n },\n {\n position: 'left',\n type: 'linear',\n stacked: false,\n },\n ]}\n />\n \n \n \n \n );\n}\n\n/**\n * Counter Card\n */\nfunction HomeCard({ title, subtitle, label, icon }) {\n return (\n \n \n {icon}\n \n }\n />\n\n \n \n {label}\n \n \n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useQuery } from 'react-query';\nimport {\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n ListItemIcon,\n Box,\n CircularProgress,\n} from '@material-ui/core';\n\nimport AddIcon from '@material-ui/icons/Add';\nimport { AppContext } from '../AppContext';\nimport { SttList } from './SttList';\n/*\n * Generalización del componente SttTerrainList\n */\n\nexport function SttItemList({\n title,\n items,\n onAdd,\n onDelete,\n queryKey,\n itemQueryCall,\n queryCallParameters,\n}) {\n const cxt = useContext(AppContext);\n const [selectionOpen, setSelectionOpen] = useState(false);\n const [optionalItems, setOptionalItems] = useState(null);\n\n const getItemsQuery = useQuery(\n [queryKey],\n () =>\n itemQueryCall(queryCallParameters)\n .then((response) => {\n const filteredItems = response?.rows?.filter(\n (optionalItem) =>\n !items?.find((t) => t.id === optionalItem.id),\n );\n setOptionalItems(filteredItems);\n })\n .catch((error) => {\n cxt.showMessage('E', cxt.t(error?.msg));\n }),\n { enabled: true },\n );\n\n function openAddModal() {\n setSelectionOpen(true);\n }\n\n function selectItem(item) {\n setSelectionOpen(false);\n setOptionalItems(\n optionalItems?.filter(\n (optionalItem) => optionalItem?.id !== item?.id,\n ),\n );\n onAdd(item?.id);\n }\n\n if (getItemsQuery?.isLoading) {\n return (\n \n \n \n );\n }\n\n return (\n <>\n openAddModal()}\n onDelete={(item) => onDelete(item?.id)}\n data={\n items &&\n items.map((item) => ({\n caption: `${item?.name}`,\n objToSelect: item,\n }))\n }\n />\n setSelectionOpen(false)}\n open={selectionOpen}\n >\n {cxt.t(title)}\n \n {optionalItems?.map((item) => (\n selectItem(item)}\n >\n {!item?.id && (\n \n \n \n )}\n\n \n \n ))}\n \n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Box, CircularProgress } from '@material-ui/core';\nimport {\n AppContext,\n SttDialog,\n SttForm,\n SttFullDialog,\n} from '../../sporttia/all';\nimport { useTranslations } from '../../lib/hooks';\n\nimport { getErrorMessage } from '../../lib/utils';\nimport translations from '../../translations';\nimport DeviceSpace from '../../types/models/DeviceSpace';\nimport useDevicesService from '../../services/DevicesService';\nimport { SttItemList } from '../../sporttia/lists/SttItemList';\nimport useScsService from '../../services/ScsService';\nimport { SPORTCENTER_DEVICES_QUERY_KEY } from '../../lib/queryKeys';\n\ntype DeviceSpaceDialogProps = {\n item: DeviceSpace;\n onSave: () => void;\n onClose: () => void;\n};\n\nexport default function DeviceSpaceDialog({\n item,\n onSave,\n onClose,\n}: DeviceSpaceDialogProps) {\n const cxt = useContext(AppContext)!;\n const devicesService = useDevicesService();\n const scsService = useScsService();\n const [deviceSpace, setDeviceSpace] = useState(item);\n const { translate } = useTranslations();\n const updateDeviceSpaceMutation = devicesService.useUpdateDeviceSpace({\n onSuccess: (response: { deviceSpace: DeviceSpace }) => {\n setDeviceSpace(response.deviceSpace);\n onSave();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const deleteDeviceSpaceMutation = devicesService.useDeleteDeviceSpace({\n onSuccess: () => {\n onSave();\n onClose();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const createDeviceSpaceMutation = devicesService.useCreateDeviceSpace({\n onSuccess: (response: { deviceSpace: DeviceSpace }) => {\n setDeviceSpace(response?.deviceSpace);\n onSave();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n const createDeviceSpaceDeviceMutation =\n devicesService.useCreateDeviceSpaceDevice({\n onSuccess: (response: { deviceSpace: DeviceSpace }) => {\n setDeviceSpace(response.deviceSpace);\n onSave();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const deleteDeviceSpaceDeviceMutation =\n devicesService.useDeleteDeviceSpaceDevice({\n onSuccess: (response: { deviceSpace: DeviceSpace }) => {\n setDeviceSpace(response.deviceSpace);\n onSave();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n if (\n createDeviceSpaceMutation.isLoading ||\n updateDeviceSpaceMutation.isLoading\n ) {\n return (\n \n \n \n }\n title={undefined}\n onClose={undefined}\n buttons={undefined}\n />\n );\n }\n\n return (\n {\n if (item?.id === -1)\n createDeviceSpaceMutation.mutate({\n sportcenterId: cxt?.sc?.id ? cxt.sc.id : -1,\n params: {\n maximumCapacity:\n deviceSpace.maximumCapacity,\n name: deviceSpace.name,\n },\n });\n else\n updateDeviceSpaceMutation.mutate({\n deviceSpaceId: item?.id,\n params: {\n currentCapacity:\n deviceSpace.currentCapacity,\n maximumCapacity:\n deviceSpace.maximumCapacity,\n },\n });\n },\n },\n {\n caption: cxt.t('Delete'),\n type: 'delete',\n show: deviceSpace?.id !== -1,\n onClick: () => {\n deleteDeviceSpaceMutation.mutate({\n deviceSpaceId: deviceSpace?.id,\n });\n },\n },\n ]}\n >\n \n \n \n setDeviceSpace({\n ...deviceSpace,\n [name]: value,\n })\n }\n elements={[\n {\n xs: 5,\n caption: translate(translations.generic.name),\n name: 'name',\n show: deviceSpace?.id === -1,\n value: deviceSpace?.name,\n },\n {\n xs: 5,\n caption: translate(\n translations.deviceSpace.maximunCapacity,\n ),\n name: 'maximumCapacity',\n value: deviceSpace?.maximumCapacity.toString(),\n },\n {\n xs: 5,\n caption: translate(\n translations.deviceSpace.currentCapacity,\n ),\n name: 'currentCapacity',\n show: deviceSpace?.id !== -1,\n value: deviceSpace?.currentCapacity.toString(),\n },\n ]}\n buttons={[]}\n />\n \n \n {deviceSpace.id !== -1 && (\n {\n if (deviceId) {\n createDeviceSpaceDeviceMutation.mutate({\n deviceSpaceId: deviceSpace?.id,\n deviceId,\n });\n }\n }}\n onDelete={(deviceId: number) => {\n if (deviceId) {\n deleteDeviceSpaceDeviceMutation.mutate({\n deviceSpaceId: deviceSpace?.id,\n deviceId,\n });\n }\n }}\n queryKey={SPORTCENTER_DEVICES_QUERY_KEY}\n itemQueryCall={scsService.getScsDevices2}\n queryCallParameters={{\n id: cxt?.sc ? cxt?.sc?.id : -1,\n params: {},\n }}\n />\n )}\n \n \n \n );\n}\n","import Configuration from './sc/configuration/Configuration';\nimport Roles from './sc/roles/Roles';\nimport Mships from './sc/mships/Mships';\nimport Facilities from './sc/facilities/Facilities';\nimport FacilitySets from './sc/facilitySets/FacilitySets';\nimport FacilitySet from './sc/facilitySets/FacilitySet';\nimport Report from './sc/Report';\nimport Rates from './sc/rates/Rates';\nimport Bookings from './sc/bookings/Bookings';\nimport BusySchedules from './sc/busySchedules/BusySchedules';\nimport BusySchedule from './sc/busySchedules/BusySchedule';\nimport FreeSchedules from './sc/freeSchedules/FreeSchedules';\nimport FreeSchedule from './sc/freeSchedules/FreeSchedule';\nimport Devices from './sc/devices/Devices';\nimport Device from './sc/devices/Device';\nimport Payments from './sc/payments/Payments';\nimport Groups from './sc/groups/Groups';\nimport Activities from './sc/activities/Activities';\nimport Bonos from './sc/bonos/Bonos';\nimport Bono from './sc/bonos/Bono';\nimport Files from './sc/Files';\nimport Remittences from './sc/remittences/Remittences';\nimport Remittence from './sc/remittences/Remittence';\nimport GenerateRemittence from './sc/remittences/GenerateRemittence';\nimport FileCSV from './sc/filesCSV/FileCSV';\nimport Teachers from './sc/teachers/Teachers';\nimport Teacher from './sc/teachers/Teacher';\nimport BookingSchedules from './sc/bookingSchedules/BookingSchedules';\nimport BookingSchedule from './sc/bookingSchedules/BookingSchedule';\nimport Restrictions from './sc/restrictions/Restrictions';\nimport Restriction from './sc/restrictions/Restriction';\nimport SCReports from './sc/reports/SCReports';\nimport SCMessages from './sc/messages/SCMessages';\nimport SCTickets from './sc/tickets/SCTickets';\nimport Students from './sc/students/Students';\nimport Events from './sc/events/Events';\nimport NoSubscription from './sc/noSubscription/NoSubscription';\nimport Golf from './sc/golf/Golf';\nimport Login from './public/Login';\nimport Register from './public/Register';\nimport Page404 from './Page404';\nimport AcceptConditions from './public/AcceptConditions';\nimport ConfirmEmail from './public/ConfirmEmail';\nimport RecoverPassword from './public/RecoverPassword';\nimport Privacy from './public/Privacy';\nimport Account from './public/Account';\nimport Apis from './public/apis/Apis';\nimport UnderConstruction from './public/UnderConstruction';\nimport Timetable from './public/timetable/Timetable';\nimport Booked from './public/booked/Booked';\nimport TPVResult from './public/tpv/TPVResult';\nimport Booking from './public/booking/Booking';\nimport SCProfile from './public/scProfile/SCProfile';\nimport AbonoList from './public/buyAbono/AbonoList';\nimport BuyAbono from './public/buyAbono/BuyAbono';\nimport BonoList from './public/buyBono/BonoList';\nimport BuyBono from './public/buyBono/BuyBono';\nimport ActivityPublic from './public/activity/Activity';\nimport EventPublic from './public/event/Event';\nimport Widget from './public/widget/Widget';\nimport AdminApis from './admin/hart/apis/AdminApis';\nimport AdminSCs from './admin/customers/scs/AdminSCs';\nimport AdminApiLogs from './admin/hart/apiLogs/AdminApiLogs';\nimport AdminTests from './admin/hart/tests/AdminTests';\nimport Agenda from './user/agenda/Agenda';\nimport UserAbono from './user/abonos/UserAbono';\nimport UserAbonos from './user/abonos/UserAbonos';\nimport UserBonos from './user/bonos/UserBonos';\nimport RechargePurse from './user/rechargePurse/RechargePurse';\nimport AdminTranslations from './admin/tables/translations/AdminTranslations';\nimport UserKeys from './user/keys/UserKeys';\nimport AdminReports from './admin/tables/reports/AdminReports';\nimport Group from './sc/groups/Group';\nimport UserConfiguration from './user/configuration/UserConfiguration';\nimport Subscription from './sc/subscription/Subscription';\nimport UserPayments from './user/payments/UserPayments';\nimport Home from './common/Home';\nimport Search from './public/search/Search';\nimport Contact from './public/Contact';\nimport UserMessages from './user/messages/UserMessages';\nimport AdminCities from './admin/tables/cities/AdminCities';\nimport AdminApiTriggersExecutions from './admin/hart/triggersExecutions/AdminApiTriggersExecutions';\nimport SCDocuments from './sc/documents/SCDocuments';\nimport SCContact from './public/scProfile/SCContact';\nimport UserPupils from './user/pupils/UserPupils';\nimport AdminCustomers from './admin/customers/customers/AdminCustomers';\nimport AdminSttZeroAccounts from './admin/customers/sttZeroAccounts/AdminSttZeroAccounts';\nimport AdminPlaytomicCenters from './admin/customers/playtomicCenters/AdminPlaytomicCenters';\nimport AdminPayments from './admin/accounting/payments/AdminPayments';\nimport AdminTPVConfs from './admin/accounting/tpvConfigurations/AdminTPVConfs';\nimport AdminTpvRecords from './admin/accounting/tpvRecords/AdminTpvRecords';\nimport AdminTpvRecordsBySc from './admin/accounting/tpvRecordsBySc/AdminTpvRecordsBySc';\nimport AdminUsers from './admin/users/users/AdminUsers';\nimport AdminRentals from './admin/rentals/rentals/AdminRentals';\nimport AdminRentalsPerDay from './admin/rentals/rentalsPerDay/AdminRentalsPerDay';\nimport AdminRentalsRatioPerYear from './admin/rentals/rentalsRatioPerYear/AdminRentalsRatioPerYear';\nimport AdminRentalsRatioByCenter from './admin/rentals/rentalsRatioByCenter/AdminRentalsRatioByCenter';\nimport AdminEvents from './admin/events/events/AdminEvents';\nimport AdminActivitiesRegistrationsRatioByCenter from './admin/activities/activitiesRegistrationsRatioByCenter/AdminActivitiesRegistrationsRatioByCenter';\nimport AdminActivitiesEnrrollmentIncreasesPerYear from './admin/activities/activitiesEnrrollmentIncreasesPerYear/AdminActivitiesEnrrollmentIncreasesPerYear';\nimport AdminSports from './admin/tables/sports/AdminSports';\nimport AdminNotificationsTypes from './admin/tables/notificationsTypes/AdminNotificationsTypes';\nimport AdminSmss from './admin/tables/smss/AdminSmss';\nimport AdminEmails from './admin/tables/emails/AdminEmails';\nimport AdminPushNotifications from './admin/tables/pushNotifications/AdminPushNotifications';\nimport AdminApiModels from './admin/hart/apiModels/AdminApiModels';\nimport AdminApiTriggersBySc from './admin/hart/triggersInCenters/AdminApiTriggersBySc';\nimport GolfBookingsCards from './public/golfBookingsCards/GolfBookingsCards';\nimport GolfTimetable from './sc/golfTimetable/GolfTimetable';\nimport SmartCourt from './public/Smartcourt';\nimport AdminMigrationEndpoints from './admin/migration/adminMigrationEndpoints/AdminMigrationEndpoints';\nimport Discounts from './sc/discounts/Discounts';\nimport TPVSwitcher from './public/tpv/TPVSwitcher';\nimport AdminFixTPV from './admin/fixTpv/AdminFixTpv';\nimport SCStats from './sc/reports/SCStats';\nimport DevicesSpaces from './sc/capacity/Capacities';\n\n// Una ruta no es más que un objeto que contiene los siguientes parámetros:\n// \t- id: Usado para la identificación única de la ruta (obligatorio).\n// \t- path: URL asociada al ID de la ruta (obligatorio).\n// \t- role: Los roles pueden ser: USER, TEACHER, SPORTCENTER o ADMIN. El rol obliga\n// \t\ta que una ruta protegida con el parámetro \"protected\" solo pueda ser accedida\n// \t\tpor usuarios con dicho rol. Por defecto no usa ningún rol (no obligatorio).\n// \t- protected: Su valor puede ser true (bloquea la ruta al usuario no conectado) y\n// \t\tfalse (no bloquea la ruta a ningún usuario). Por defecto es false (no obligatorio).\n// \t- header: Su valor puede ser true (activa el header en dicha ruta) y\n// \t\tfalse (desactiva el header en la ruta). Por defecto es true (no obligatorio).\n// \t- footer: Su valor puede ser true (activa el footer en dicha ruta) y\n// \t\tfalse (desactiva el footer en la ruta). Por defecto es true (no obligatorio).\n// \t- fullScreen: Su valor puede ser true (pagina fullScreen sin padding ni margenes) y\n// \t false (pagina con padding y margenes). Por defecto es false (no obligatorio).\n// \t- component: Nombre del componente que se va a visualizar cuando el se acceda a la\n// \t\truta dada por el parámetro \"path\" (obligatorio).\n// \t- exact: Booleano para definir si queremos que la ruta tiene o no que ser exacta para renderizar\n// \t\tun componente.\n\n// \tDestacar que aquellos parámetros no obligatorios quiere decir que pueden ser no añadidos\n// \ta la ruta y tomarán el valor por defecto.\n\n// \t¡¡IMPORTANTE!!:\n// \t- Toda ruta \"PROTECTED\" debe de tener un \"ROL\".\n// \t- Las rutas que se usan un ÚNICO PATH para renderizar varios tipos de páginas en función del usuario\n// \t(por ejemplo) hay que generar un único componente en el que dentro se elija el componente final a renderizar\n// \ten función del usuario por ejemplo.\n\n// \tEjemplo con todos los parámetros:\n\n// \t{\n// \t\tid: 'pruebaRuta',\n// \t\tpath: '/prueba',\n// \t\trole: 'TEACHER',\n// \t\tprotected: true,\n// \t\theader: false,\n// \t\tfooter: false,\n// \t\tfullScreen: false,\n// \t\tcomponent: Prueba,\n// \t\texact: false,\n// \t}\n\nexport const paths = [\n // ----------------\n // COMMON ROUTES (for example /home)\n // ----------------\n {\n id: 'home',\n path: '/home',\n component: Home,\n },\n\n // ----------------\n // PUBLIC\n // ----------------\n {\n id: 'smartcourt',\n path: '/smartcourt',\n protected: false,\n component: SmartCourt,\n },\n {\n id: 'search',\n path: '/search',\n protected: false,\n component: Search,\n },\n {\n id: 'contact',\n path: '/contact',\n protected: false,\n component: Contact,\n },\n {\n id: 'login',\n path: '/login',\n protected: false,\n header: false,\n component: Login,\n },\n {\n id: 'signup',\n path: '/signup',\n protected: false,\n header: false,\n component: Register,\n },\n {\n id: 'recoverPassword',\n path: '/recover',\n protected: false,\n header: false,\n component: RecoverPassword,\n },\n {\n id: 'confirmEmail',\n path: '/email/activation',\n protected: false,\n component: ConfirmEmail,\n },\n {\n id: 'acceptConditions',\n path: '/privacy/confirmation/:id/:signature',\n protected: false,\n component: AcceptConditions,\n },\n {\n id: 'privacy',\n path: '/privacy',\n protected: false,\n component: Privacy,\n },\n {\n id: 'timetable',\n path: '/scs/:id/timetable',\n component: Timetable,\n },\n {\n id: 'apis',\n path: '/apis',\n component: Apis,\n },\n {\n id: 'tpvSwitcher',\n path: '/tpvs/:id',\n header: false,\n footer: false,\n fullScreen: true,\n component: TPVSwitcher,\n },\n {\n id: 'tpvResult',\n path: '/tpvs/:id/result',\n header: false,\n footer: false,\n fullScreen: true,\n component: TPVResult,\n },\n {\n id: 'activityPublic',\n path: '/activities/:id',\n component: ActivityPublic,\n },\n {\n id: 'abonoList',\n path: '/scs/:id/groups',\n component: AbonoList,\n },\n {\n id: 'scProfile',\n path: '/scs/:id/profile',\n component: SCProfile,\n },\n {\n id: 'scDocuments',\n path: '/scs/:id/documents',\n component: SCDocuments,\n },\n {\n id: 'scContact',\n path: '/scs/:id/contact',\n component: SCContact,\n },\n {\n id: 'bonoList',\n path: '/scs/:id/bonos',\n component: BonoList,\n },\n {\n id: 'booked',\n path: '/bookings/:id',\n component: Booked,\n },\n {\n id: 'eventPublic',\n path: '/events/:id',\n component: EventPublic,\n },\n {\n id: 'widget',\n path: '/scs/:id/widget',\n header: false,\n footer: false,\n component: Widget,\n },\n {\n id: 'golfBookingsCards',\n path: '/scs/:id/golfBookings',\n component: GolfBookingsCards,\n },\n\n // ----------------------\n // USER\n // ----------------------\n {\n id: 'timetableFrame',\n role: 'USER',\n path: '/frames/scs/:id/timetable',\n protected: true,\n header: false,\n footer: false,\n component: Timetable,\n },\n {\n id: 'userKeys',\n role: 'USER',\n path: '/keys',\n protected: true,\n component: UserKeys,\n },\n {\n id: 'userAgenda',\n role: 'USER',\n path: '/agenda',\n protected: true,\n component: Agenda,\n },\n {\n id: 'userMessages',\n role: 'USER',\n path: '/messages',\n protected: true,\n component: UserMessages,\n },\n {\n id: 'buyBono',\n path: '/scs/:idSC/bonos/:id/purchase',\n role: 'USER',\n protected: true,\n component: BuyBono,\n },\n {\n id: 'buyAbono',\n path: '/scs/:idSc/groups/:idGroup/purchases',\n role: 'USER',\n protected: true,\n component: BuyAbono,\n },\n {\n id: 'userAbono',\n role: 'USER',\n path: '/abonos/:id',\n protected: true,\n component: UserAbono,\n },\n {\n id: 'userAbonos',\n role: 'USER',\n path: '/abonos',\n protected: true,\n component: UserAbonos,\n },\n {\n id: 'userBonos',\n role: 'USER',\n path: '/bonos',\n protected: true,\n component: UserBonos,\n },\n {\n id: 'rechargePurse',\n role: 'USER',\n path: '/scs/:id/purse',\n protected: true,\n component: RechargePurse,\n },\n {\n id: 'userConfiguration',\n role: 'USER',\n path: '/configuration',\n protected: true,\n component: UserConfiguration,\n },\n {\n id: 'userPayments',\n role: 'USER',\n path: '/payments',\n protected: true,\n component: UserPayments,\n },\n {\n id: 'userPupils',\n role: 'USER',\n path: '/pupils',\n protected: true,\n component: UserPupils,\n },\n\n // ----------------------\n // TEACHER\n // ----------------------\n {\n id: 'userAgenda',\n role: 'TEACHER',\n path: '/agenda',\n protected: true,\n component: Agenda,\n },\n {\n id: 'userAbono',\n role: 'TEACHER',\n path: '/abonos/:id',\n protected: true,\n component: UserAbono,\n },\n {\n id: 'userAbonos',\n role: 'TEACHER',\n path: '/abonos',\n protected: true,\n component: UserAbonos,\n },\n {\n id: 'userBonos',\n role: 'TEACHER',\n path: '/bonos',\n protected: true,\n component: UserBonos,\n },\n {\n id: 'rechargePurse',\n role: 'TEACHER',\n path: '/scs/:id/purse',\n protected: true,\n component: RechargePurse,\n },\n {\n id: 'userKeys',\n role: 'TEACHER',\n path: '/keys',\n protected: true,\n component: UserKeys,\n },\n {\n id: 'userConfiguration',\n role: 'TEACHER',\n path: '/configuration',\n protected: true,\n component: UserConfiguration,\n },\n\n // ----------------------\n // SPORTS CENTERS\n // ----------------------\n {\n id: 'scConfiguration',\n role: 'SPORTCENTER',\n path: '/scs/configurations',\n protected: true,\n component: Configuration,\n },\n {\n id: 'devicesSpaces',\n role: 'SPORTCENTER',\n path: '/scs/devicesSpaces',\n protected: true,\n component: DevicesSpaces,\n },\n {\n id: 'scRoles',\n role: 'SPORTCENTER',\n path: '/scs/roles',\n protected: true,\n component: Roles,\n },\n {\n id: 'freeSchedules',\n role: 'SPORTCENTER',\n path: '/scs/frees/schedules',\n protected: true,\n component: FreeSchedules,\n },\n {\n id: 'freeSchedule',\n role: 'SPORTCENTER',\n path: '/scs/frees/schedules/:id',\n protected: true,\n component: FreeSchedule,\n },\n {\n id: 'remittences',\n role: 'SPORTCENTER',\n path: '/scs/remittences',\n protected: true,\n component: Remittences,\n },\n {\n id: 'genRemittences',\n role: 'SPORTCENTER',\n path: '/scs/remittences/generate',\n protected: true,\n component: GenerateRemittence,\n },\n {\n id: 'remittence',\n role: 'SPORTCENTER',\n path: '/scs/remittences/:id',\n protected: true,\n component: Remittence,\n },\n {\n id: 'facilitySets',\n role: 'SPORTCENTER',\n path: '/scs/facilitySets',\n protected: true,\n component: FacilitySets,\n },\n {\n id: 'facilitySet',\n role: 'SPORTCENTER',\n path: '/scs/facilitySets/:id',\n protected: true,\n component: FacilitySet,\n },\n {\n id: 'facilitySetCreate',\n role: 'SPORTCENTER',\n path: '/scs/facilitySets/create',\n protected: true,\n component: FacilitySet,\n },\n {\n id: 'facilities',\n role: 'SPORTCENTER',\n path: '/scs/facilities',\n protected: true,\n component: Facilities,\n },\n {\n id: 'devices',\n role: 'SPORTCENTER',\n path: '/scs/devices',\n protected: true,\n component: Devices,\n },\n {\n id: 'device',\n role: 'SPORTCENTER',\n path: '/scs/devices/:id',\n protected: true,\n component: Device,\n },\n {\n id: 'mships',\n role: 'SPORTCENTER',\n path: '/scs/mships',\n protected: true,\n component: Mships,\n },\n {\n id: 'booking',\n role: 'SPORTCENTER',\n path: '/scs/:id/booking',\n protected: true,\n component: Booking,\n },\n {\n id: 'bookings',\n role: 'SPORTCENTER',\n path: '/scs/bookings',\n protected: true,\n component: Bookings,\n },\n {\n id: 'busySchedules',\n role: 'SPORTCENTER',\n path: '/scs/busy/schedules',\n protected: true,\n component: BusySchedules,\n },\n {\n id: 'busySchedule',\n role: 'SPORTCENTER',\n path: '/scs/busy/schedules/:id',\n protected: true,\n component: BusySchedule,\n },\n {\n id: 'payments',\n role: 'SPORTCENTER',\n path: '/scs/payments',\n protected: true,\n component: Payments,\n },\n {\n id: 'activities',\n role: 'SPORTCENTER',\n path: '/scs/activities',\n protected: true,\n component: Activities,\n },\n {\n id: 'groups',\n role: 'SPORTCENTER',\n path: '/scs/groups',\n protected: true,\n component: Groups,\n },\n {\n id: 'group',\n role: 'SPORTCENTER',\n path: '/scs/groups/:id',\n protected: true,\n component: Group,\n },\n {\n id: 'rates',\n role: 'SPORTCENTER',\n path: '/scs/rates',\n protected: true,\n component: Rates,\n },\n {\n id: 'report',\n role: 'SPORTCENTER',\n path: '/scs/reports/:id',\n protected: true,\n component: Report,\n },\n {\n id: 'files',\n role: 'SPORTCENTER',\n path: '/scs/files',\n protected: true,\n component: Files,\n },\n {\n id: 'bonos',\n role: 'SPORTCENTER',\n path: '/scs/bonos',\n protected: true,\n component: Bonos,\n },\n {\n id: 'bono',\n role: 'SPORTCENTER',\n path: '/scs/bonos/:id',\n protected: true,\n component: Bono,\n },\n {\n id: 'fileCSV',\n role: 'SPORTCENTER',\n path: '/scs/files/csvs/:id',\n protected: true,\n component: FileCSV,\n },\n {\n id: 'bookingSchedules',\n role: 'SPORTCENTER',\n path: '/scs/booking/schedules',\n protected: true,\n component: BookingSchedules,\n },\n {\n id: 'bookingSchedule',\n role: 'SPORTCENTER',\n path: '/scs/booking/schedules/:id',\n protected: true,\n component: BookingSchedule,\n },\n {\n id: 'restrictions',\n role: 'SPORTCENTER',\n path: '/scs/restrictions',\n protected: true,\n component: Restrictions,\n },\n {\n id: 'restriction',\n role: 'SPORTCENTER',\n path: '/scs/restrictions/:id',\n protected: true,\n component: Restriction,\n },\n {\n id: 'teachers',\n role: 'SPORTCENTER',\n path: '/scs/teachers',\n protected: true,\n component: Teachers,\n },\n {\n id: 'teacher',\n role: 'SPORTCENTER',\n path: '/scs/teachers/:id',\n protected: true,\n component: Teacher,\n },\n {\n id: 'scMessages',\n role: 'SPORTCENTER',\n path: '/scs/messages',\n protected: true,\n component: SCMessages,\n },\n {\n id: 'account',\n role: 'SPORTCENTER',\n path: '/account',\n protected: true,\n component: Account,\n },\n {\n id: 'scReports',\n role: 'SPORTCENTER',\n path: '/scs/reports',\n protected: true,\n component: SCReports,\n },\n {\n id: 'scTickets',\n role: 'SPORTCENTER',\n path: '/scs/tickets',\n protected: true,\n component: SCTickets,\n },\n {\n id: 'students',\n role: 'SPORTCENTER',\n path: '/scs/students',\n protected: true,\n component: Students,\n },\n {\n id: 'events',\n role: 'SPORTCENTER',\n path: '/scs/events',\n protected: true,\n component: Events,\n },\n {\n id: 'help',\n role: 'SPORTCENTER',\n path: '/help',\n protected: true,\n component: Contact,\n },\n {\n id: 'waitingLists',\n role: 'SPORTCENTER',\n path: '/scs/waitingLists',\n protected: true,\n component: UnderConstruction,\n },\n {\n id: 'subscriptions',\n role: 'SPORTCENTER',\n path: '/scs/subscriptions',\n protected: true,\n component: Subscription,\n },\n {\n id: 'noSubscription',\n role: 'SPORTCENTER',\n path: '/scs/NoSubscription',\n protected: true,\n component: NoSubscription,\n },\n {\n id: 'golfTimetable',\n role: 'SPORTCENTER',\n path: '/scs/golfTimetable',\n protected: true,\n component: GolfTimetable,\n },\n {\n id: 'golf',\n role: 'SPORTCENTER',\n path: '/scs/golf',\n protected: true,\n component: Golf,\n },\n {\n id: 'discounts',\n role: 'SPORTCENTER',\n path: '/scs/discounts',\n protected: true,\n component: Discounts,\n },\n {\n id: 'scStats',\n role: 'SPORTCENTER',\n path: '/scs/stats',\n protected: true,\n component: SCStats,\n },\n\n // ---------------------\n // SPORTTIA ADMINS\n // ---------------------\n {\n id: 'adminCustomers',\n role: 'ADMIN',\n path: '/admin/customers',\n protected: true,\n component: AdminCustomers,\n },\n {\n id: 'adminSCs',\n role: 'ADMIN',\n path: '/admin/scs',\n protected: true,\n component: AdminSCs,\n },\n {\n id: 'adminSttZeroAccounts',\n role: 'ADMIN',\n path: '/admin/zeroAccounts',\n protected: true,\n component: AdminSttZeroAccounts,\n },\n {\n id: 'adminPlaytomicCenters',\n role: 'ADMIN',\n path: '/admin/playtomicCenters',\n protected: true,\n component: AdminPlaytomicCenters,\n },\n {\n id: 'adminPayments',\n role: 'ADMIN',\n path: '/admin/payments',\n protected: true,\n component: AdminPayments,\n },\n {\n id: 'adminTpvConfs',\n role: 'ADMIN',\n path: '/admin/tpvConfs',\n protected: true,\n component: AdminTPVConfs,\n },\n {\n id: 'adminTpvRecords',\n role: 'ADMIN',\n path: '/admin/tpvRecords',\n protected: true,\n component: AdminTpvRecords,\n },\n {\n id: 'adminTpvRecordsBySc',\n role: 'ADMIN',\n path: '/admin/tpvRecordsBySc',\n protected: true,\n component: AdminTpvRecordsBySc,\n },\n {\n id: 'adminUsers',\n role: 'ADMIN',\n path: '/admin/users',\n protected: true,\n component: AdminUsers,\n },\n {\n id: 'adminRentals',\n role: 'ADMIN',\n path: '/admin/rentals',\n protected: true,\n component: AdminRentals,\n },\n {\n id: 'adminRentalsPerDay',\n role: 'ADMIN',\n path: '/admin/rentalsPerDay',\n protected: true,\n component: AdminRentalsPerDay,\n },\n {\n id: 'adminRentalsRatioPerYear',\n role: 'ADMIN',\n path: '/admin/rentalsRatioPerYear',\n protected: true,\n component: AdminRentalsRatioPerYear,\n },\n {\n id: 'adminRentalsRatioByCenter',\n role: 'ADMIN',\n path: '/admin/rentalsRatioByCenter',\n protected: true,\n component: AdminRentalsRatioByCenter,\n },\n {\n id: 'adminEvents',\n role: 'ADMIN',\n path: '/admin/events',\n protected: true,\n component: AdminEvents,\n },\n {\n id: 'adminActivitiesRegistrationsRatioByCenter',\n role: 'ADMIN',\n path: '/admin/activitiesRegistrationsRatioByCenter',\n protected: true,\n component: AdminActivitiesRegistrationsRatioByCenter,\n },\n {\n id: 'adminAdminActivitiesEnrrollmentIncreasesPerYear',\n role: 'ADMIN',\n path: '/admin/adminAdminActivitiesEnrrollmentIncreasesPerYear',\n protected: true,\n component: AdminActivitiesEnrrollmentIncreasesPerYear,\n },\n {\n id: 'adminSports',\n role: 'ADMIN',\n path: '/admin/sports',\n protected: true,\n component: AdminSports,\n },\n {\n id: 'adminNotificationsTypes',\n role: 'ADMIN',\n path: '/admin/notificationsTypes',\n protected: true,\n component: AdminNotificationsTypes,\n },\n {\n id: 'adminSmss',\n role: 'ADMIN',\n path: '/admin/smss',\n protected: true,\n component: AdminSmss,\n },\n {\n id: 'adminEmails',\n role: 'ADMIN',\n path: '/admin/emails',\n protected: true,\n component: AdminEmails,\n },\n {\n id: 'adminPushNotifications',\n role: 'ADMIN',\n path: '/admin/pushNotifications',\n protected: true,\n component: AdminPushNotifications,\n },\n {\n id: 'adminReports',\n role: 'ADMIN',\n path: '/admin/reports',\n protected: true,\n component: AdminReports,\n },\n {\n id: 'adminReports',\n role: 'ADMIN',\n path: '/admin/reports/:id',\n protected: true,\n component: Report,\n },\n {\n id: 'adminTranslations',\n role: 'ADMIN',\n path: '/admin/translations',\n protected: true,\n component: AdminTranslations,\n },\n {\n id: 'adminCities',\n role: 'ADMIN',\n path: '/admin/cities',\n protected: true,\n component: AdminCities,\n },\n {\n id: 'adminAPIs',\n role: 'ADMIN',\n path: '/admin/apis',\n protected: true,\n component: AdminApis,\n },\n {\n id: 'adminAPIModels',\n role: 'ADMIN',\n path: '/admin/apis/models',\n protected: true,\n component: AdminApiModels,\n },\n {\n id: 'adminAPILogs',\n role: 'ADMIN',\n path: '/admins/apis/logs',\n protected: true,\n component: AdminApiLogs,\n },\n {\n id: 'adminAPITriggersBySC',\n role: 'ADMIN',\n path: '/admins/scs/triggers',\n protected: true,\n component: AdminApiTriggersBySc,\n },\n {\n id: 'adminAPITriggers',\n role: 'ADMIN',\n path: '/admins/triggers',\n protected: true,\n component: AdminApiTriggersExecutions,\n },\n {\n id: 'adminTests',\n role: 'ADMIN',\n path: '/admin/tests',\n protected: true,\n component: AdminTests,\n },\n {\n id: 'adminMigrationEndpoints',\n role: 'ADMIN',\n path: '/admin/migration/endpoints',\n protected: true,\n component: AdminMigrationEndpoints,\n },\n {\n id: 'fixTPV',\n role: 'ADMIN',\n path: '/admin/fixtpv',\n protected: true,\n component: AdminFixTPV,\n },\n\n // ---------------------\n // PÁGINA NO ENCONTRADA (ERROR 404)\n // ---------------------\n {\n id: 'page404',\n path: '*',\n component: Page404,\n exact: false,\n },\n] as const;\n\n/**\n * Method to get url path using id key of route.\n */\nexport const getPath = (\n idPath: (typeof paths)[number]['id'],\n params: Record = {},\n) => {\n const pathObj = paths.find((path) => path.id === idPath);\n\n if (pathObj) {\n let finalPath: string = pathObj.path;\n\n if (params) {\n Object.keys(params).forEach((key) => {\n finalPath = finalPath.replace(\n `:${key}`,\n params[key]!.toString(),\n );\n });\n }\n return finalPath;\n }\n\n // In case the path couldn't be found, we return a base path to avoid crashes\n return '/';\n};\n","import React, { useContext } from 'react';\nimport { AppContext } from '../../sporttia/AppContext';\nimport SCHome from '../sc/SCHome';\nimport AdminHome from '../admin/AdminHome';\n\nexport default function Home() {\n const cxt = useContext(AppContext);\n\n /**\n * Render Home according to user role.\n * @returns {JSX.Element} Home element.\n */\n function renderHome() {\n if (cxt.user && cxt.user.role === 'SPORTCENTER') {\n return ;\n }\n if (cxt.user && cxt.user.role === 'ADMIN') {\n return ;\n }\n }\n\n return <>{renderHome()};\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Container, Box, InputAdornment, IconButton } from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\nimport { useForm } from 'react-hook-form';\nimport { useMutation } from 'react-query';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport {\n AppContext,\n SttActivityCardList,\n SttSCCardList,\n SttTabs,\n} from '../../../sporttia/all';\nimport { usePosition, useTranslations } from '../../../lib/hooks';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\nimport { SttEventCardList } from '../../../sporttia/public/cards/SttEventCardList';\nimport { getQueryStrings } from '../../../lib/utils';\nimport useMeService from '../../../services/MeService';\nimport { getPath } from '../../Pages';\n\n/**\n * Search view of centers, activities and events. There are tabs to choose these options next to the list of them.\n * @returns {JSX.Element}\n */\nexport default function Search() {\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const location = useLocation();\n const history = useHistory();\n\n const form = useForm();\n const watchKeyword = form.watch('keyword');\n const [keyword, setKeyword] = useState('');\n const { latitude, longitude } = usePosition(true);\n\n const meService = useMeService();\n const updateMeMutation = useMutation((params) =>\n meService.updateMe(params?.params),\n );\n\n const { mutate: updateMeMutate } = updateMeMutation;\n const ctxUserId = cxt.user.id;\n\n useEffect(() => {\n const queryStrings = getQueryStrings(location.search);\n\n if (queryStrings && queryStrings.q) {\n setKeyword(queryStrings.q);\n form.reset({ keyword: queryStrings.q });\n }\n }, [form, location.search]);\n\n useEffect(() => {\n if (latitude && longitude && cxt.logged && ctxUserId) {\n updateMeMutate({ params: { x: latitude, y: longitude } });\n }\n }, [cxt.logged, latitude, longitude, updateMeMutate, ctxUserId]);\n\n return (\n \n \n \n {\n if (\n watchKeyword !== undefined\n ) {\n setKeyword(watchKeyword);\n history.push(\n `${getPath(\n 'search',\n )}?q=${watchKeyword}`,\n );\n }\n }}\n >\n \n \n \n ),\n },\n onEnterKey: (value) => {\n if (value !== undefined) {\n setKeyword(value);\n history.push(\n `${getPath('search')}?q=${value}`,\n );\n }\n },\n },\n ]}\n />\n \n\n ,\n },\n {\n caption: translate('Activities'),\n component: ,\n },\n {\n caption: translate('Events'),\n component: ,\n },\n ]}\n />\n \n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Container, Paper, Box, Link, Grid } from '@material-ui/core';\nimport useKey from '@rooks/use-key';\nimport SentimentSatisfiedAltIcon from '@material-ui/icons/SentimentSatisfiedAlt';\nimport {\n AppContext,\n SttButton,\n SttFormPassword,\n SttFormText,\n} from '../../sporttia/all';\nimport LogoHeading from '../../layout/LogoHeading';\nimport { getPath } from '../Pages';\nimport { useQuery, useTranslations } from '../../lib/hooks';\nimport useUsersService from '../../services/UsersService';\nimport Input2FA from '../../components/Input2FA';\nimport translations from '../../translations';\n\n/**\n * Login page\n * ==========\n *\n * Query:\n *\n *\t* token: if it's set, login automatically\n * \t* redirect: after loggin in, redirect\n */\nexport default function Login(props) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [login, setLogin] = useState('');\n const [password, setPassword] = useState('');\n const { token, redirect } = useQuery();\n const [loginLoading, setLoginLoading] = useState(false);\n const [inProgress2FA, setInProgress2FA] = useState(false);\n const [text2FA, setText2FA] = useState(null);\n const { translate } = useTranslations();\n\n const twoFactorAuthMutation = useUsersService().usePost2FACode();\n /**\n * Press enter\n */\n useKey(['Enter'], () => {\n doLogin();\n });\n\n const processLoginSuccess = (response) => {\n setLoginLoading(false);\n if (response.user) {\n if (response.user.role === cxt.constants.roleAdmin) {\n cxt.setLoggedUser(response.user); /* .then(() => {\n\t\t\t\t\t\t\tredirectUser();\n\t\t\t\t\t\t}); */\n // redirectUser();\n } else {\n switch (response.user.status) {\n case 'WAIT_EMAIL':\n // Redirect to the \"please verify your email\" page with user obj as state param\n history.push('/email/activation', {\n user: response.user,\n });\n break;\n case 'NOT_CONFIRM':\n // Redirect to TOS confirmation page\n history.push(\n `/privacy/confirmation/${response.user.id}/${response.user.signature}`,\n );\n break;\n case 'ACTIVE':\n cxt.setLoggedUser(response.user); /* .then(() => {\n\t\t\t\t\t\t\t\t\tredirectUser();\n\t\t\t\t\t\t\t\t}); */\n // redirectUser();\n break;\n }\n }\n } else if (response.twoFactorCodeSent) {\n setInProgress2FA(true);\n setText2FA(response.text2FA);\n }\n };\n\n /**\n * Attempt to login\n */\n const doLogin = () => {\n setLoginLoading(true);\n cxt.api('POST', '/login', {\n params: {\n login,\n password,\n },\n error: (r) => {\n cxt.showMessage('E', r.error.msg);\n setLoginLoading(false);\n },\n success: (r) => {\n processLoginSuccess(r);\n },\n });\n };\n\n // const redirectUser = () => {\n // \tif (redirect) {\n // \t\thistory.push(decodeURIComponent(redirect))\n // \t} else if (props.location.state && props.location.state.from && props.location.state.from.pathname) {\n // \t\thistory.push(props.location.state.from.pathname);\n // \t} else {\n // \t\thistory.push('/');\n // \t}\n // }\n\n /**\n * Cuando el usuario se loguea se redirige a la pagina inicial dado su rol o a la página que anteriormente\n * consultó pero que necesitaba estar logueado para entrar.\n */\n useEffect(() => {\n if (cxt.user && cxt.user.id) {\n if (redirect) {\n history.push(decodeURIComponent(redirect));\n } else if (\n props.location.state &&\n props.location.state.from &&\n props.location.state.from.pathname\n ) {\n history.push(props.location.state.from.pathname);\n } else {\n history.push('/');\n }\n }\n }, [cxt.user]);\n\n // /**\n // * Trying to automatically log in and redirect\n // */\n // useEffect(() => {\n //\n // \tif (token && redirect) {\n //\n // \t\t// login with token and redirect\n // \t\tcxt.api('POST', '/login', {\n // \t\t\tparams: {\n // \t\t\t\ttoken: decodeURIComponent(token)\n // \t\t\t},\n // \t\t\tsuccess: (r) => {\n //\n // \t\t\t\tcxt.setLoggedUser(r.user);\n //\n // \t\t\t\t// JPB, 30 jun 2020. This is a patch, there must be a better way\n // \t\t\t\t// to do this but I'm so rush\n // \t\t\t\tsetTimeout(() => {\n // \t\t\t\t\thistory.push(decodeURIComponent(redirect))\n // \t\t\t\t}, 3000)\n // \t\t\t}\n // \t\t});\n // \t}\n //\n // }, [token, redirect])\n\n // Render\n return (\n \n \n \n \n \n \n \n \n\n {/* --- Login & password --- */}\n \n setLogin(value)}\n />\n \n \n setPassword(value)}\n />\n \n\n {/* --- Button login --- */}\n \n }\n disabled={loginLoading}\n loading={loginLoading}\n onClick={() => doLogin()}\n >\n {cxt.t('page.login.Enter')}\n \n \n\n {/* --- Recover password --- */}\n \n \n \n {cxt.t('RecoverPassword')}\n \n \n \n\n {/* --- Sign up --- */}\n \n \n \n {`${cxt.t(\n 'app.login.noAccount',\n )} ${cxt.t('RegisterNow')}`}\n \n \n \n \n \n \n \n {inProgress2FA && (\n {\n twoFactorAuthMutation.mutate(\n {\n params: {\n twoFactorCode: Number.parseInt(code),\n login,\n },\n },\n {\n onError: (error) => {\n cxt.showMessage('E', error.msg);\n },\n onSuccess: (response) => {\n processLoginSuccess(response);\n },\n },\n );\n }}\n onResentCode={() => {\n twoFactorAuthMutation.mutate(\n {\n params: {\n resent2FACode: true,\n login,\n },\n },\n {\n onError: (error) => {\n cxt.showMessage('E', error.msg);\n },\n onSuccess: () => {\n cxt.showMessage(\n 'S',\n translate(\n translations.user.resent2FASuccess,\n ),\n );\n },\n },\n );\n }}\n onClose={() => setInProgress2FA(false)}\n />\n )}\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport {\n Paper,\n Box,\n Button,\n Container,\n Grid,\n Link,\n Typography,\n} from '@material-ui/core';\nimport SendIcon from '@material-ui/icons/Send';\nimport LogoHeading from '../../layout/LogoHeading';\nimport { AppContext, SttFormText } from '../../sporttia/all';\nimport { useAPI } from '../../lib/hooks';\n\ntype ApiError = {\n error: {\n msg: string;\n };\n};\n\ntype OnChangeValue = {\n value: string;\n};\n\n// Recover password screen.\nexport default function RecoverPassword() {\n const cxt = useContext(AppContext)!;\n const { migrationApis } = cxt;\n const [request] = useAPI(migrationApis);\n const [email, setEmail] = useState('');\n\n function send() {\n if (!email) {\n return;\n }\n\n request('PUT', `/recover`, { email })\n .then(() => {\n cxt.showMessage('S', cxt.t('view.recoverPassword.sendEmail'));\n })\n .catch((response: ApiError) => {\n cxt.showMessage('E', response.error.msg);\n });\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {/* @ts-expect-error pasar SttFormText a TS */}\n \n setEmail(value)\n }\n />\n \n \n \n }\n onClick={send}\n >\n {cxt.t('Send')}\n \n \n \n \n \n \n {cxt.t('app.goBack')}\n \n \n \n \n \n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Paper,\n Box,\n Container,\n Grid,\n Link,\n Typography,\n} from '@material-ui/core';\nimport { AppContext } from '../../sporttia/all';\nimport LogoHeading from '../../layout/LogoHeading';\n\n//\nexport default function ConfirmEmail(props) {\n const cxt = useContext(AppContext);\n const [user, setUser] = useState();\n\n // On component mount, we load the user from the state passed in the location\n useEffect(() => {\n if (props.location && props.location.state) {\n setUser(props.location.state.user);\n }\n }, []);\n\n function send() {\n if (!user) {\n cxt.showMessage('E', cxt.t('confirmEmail.invalid'));\n return;\n }\n\n cxt.api('POST', `/users/emails/confirmations`, {\n params: {\n idUser: user.id,\n },\n success: (result) => {\n if (result.email) {\n cxt.showMessage(\n 'S',\n cxt.t('view.recoverPassword.sendEmail'),\n );\n }\n },\n });\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n {cxt.t('confirmEmail.emailSent1')}\n \n \n \n \n {cxt.t('confirmEmail.emailSent2')}\n \n \n \n \n \n \n \n \n {cxt.t('SignIn')}\n \n \n \n \n \n \n \n \n {cxt.t(\n 'confirmEmail.emailSent3',\n )}\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React, { useContext } from 'react';\nimport { useParams } from 'react-router-dom';\nimport useTpvsService from '../../../services/TpvsService';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport TPVUrlPurchase from './TPVUrlPurchase';\nimport TpvTokenizedPaycometPurchase from './TpvTokenizedPaycometPurchase';\nimport SttFullPageSpinner from '../../../sporttia/spinners/SttFullPageSpinner';\n\n/**\n * Sporttia ofrece diferentes métodos de pago. Este componente renderiza el componente para pagar según el banco del TPV.\n * Anteriormente, se utilizaba TPVSwitcherLegacy con este propósito. Dado que no se han migrado todos los métodos de pago al nuevo componente,\n * TPVSwitcherLegacy se utiliza como fallback.\n */\nexport default function TPVSwitcher() {\n const tpvService = useTpvsService();\n const cxt = useContext(AppContext)!;\n const { id } = useParams<{ id: string }>();\n\n const { data: collectedTpv, isLoading } = tpvService.useGetTpv(\n parseInt(id),\n );\n\n if (isLoading) {\n return ;\n }\n\n if (!collectedTpv) {\n return null;\n }\n\n if (\n collectedTpv.tpv.tpvConf.bank !== 'PAYCOMET' ||\n !cxt.user?.paycometIdUser\n ) {\n return ;\n }\n return ;\n}\n","import React, { useState, useContext } from 'react';\nimport {\n Paper,\n Box,\n Container,\n Grid,\n Divider,\n Typography,\n} from '@material-ui/core';\nimport { Alert, Skeleton } from '@material-ui/lab';\nimport { useParams, useLocation } from 'react-router-dom';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { useQuery } from 'react-query';\nimport {\n AppContext,\n SttLabelForm,\n SttButton,\n SttLabelDate,\n SttButtonTicket,\n} from '../../../sporttia/all';\nimport useTpvsService from '../../../services/TpvsService';\nimport { USER_TPV_RESULT } from '../../../lib/queryKeys';\nimport { useInteractionsFiles, useLoader } from '../../../lib/hooks';\nimport { formatPriceByLocale } from '../../../lib/utils';\nimport constants from '../../../config/constants';\nimport translations from '../../../translations';\n\nconst maxAttempts = 20;\n\n/**\n * View with the result of a payment made with the virtual POS.\n */\nexport default function TPVResult() {\n const cxt = useContext(AppContext);\n const { id: tpvId } = useParams();\n const params = useLocation().search;\n const stripeUrlParameter = new URLSearchParams(params).get('payment');\n const tpvsService = useTpvsService();\n const { openFile } = useInteractionsFiles();\n const [paymentSuccess, setPaymentSuccess] = useState(false);\n const [skeletonOff, setSkeletonOff] = useState(false);\n const [refetchInterval, setRefetchInterval] = useState(1000);\n const [refetchAttempts, setRefetchAttempts] = useState(1);\n const tpvQuery = useQuery(\n [USER_TPV_RESULT, { id: tpvId }],\n () => tpvsService.get(tpvId, { trash: true }),\n {\n enabled: tpvId !== null && tpvId !== 'create' && !paymentSuccess,\n refetchInterval,\n onSuccess: (data) => {\n if (refetchAttempts < maxAttempts) {\n setRefetchAttempts(refetchAttempts + 1);\n\n if (\n data?.tpv?.result !== 'RESULT_ERROR' &&\n !data?.tpv?.trash &&\n data?.tpv?.status === 'PAID' &&\n data?.tpv?.payment?.id\n ) {\n setPaymentSuccess(true);\n setSkeletonOff(true);\n } else if (stripeUrlParameter == null) {\n setRefetchInterval(false);\n setSkeletonOff(true);\n }\n } else {\n setRefetchInterval(false);\n setSkeletonOff(true);\n }\n },\n onError: () => {\n refetchInterval(false);\n setSkeletonOff(true);\n },\n },\n );\n\n const [, loader] = useLoader([\n tpvQuery.status ? tpvQuery.status : 'loading',\n ]);\n\n /**\n * Download ticket if payment was successful.\n */\n const downloadTicket = () => {\n openFile(\n `/payments/${tpvQuery?.data?.tpv?.payment?.id}.pdf`,\n 'application/pdf',\n null,\n `${cxt.t('Ticket')}_${tpvQuery?.data?.tpv?.payment?.id}`,\n );\n };\n\n let paymentText;\n if (paymentSuccess) {\n paymentText = (\n <>\n

{cxt.t('PaymentCollected')}

\n \n {cxt.t('page.tpv.ok.paymentOk')}\n \n \n );\n } else if (tpvQuery.data?.tpv.result === constants.tpv.results.errorPurse) {\n paymentText = (\n <>\n

{cxt.t('tpv.error.title')}

\n \n {cxt.t(translations.tpv.errorPurseRefund)}\n \n \n );\n } else {\n paymentText = (\n <>\n

{cxt.t('tpv.error.title')}

\n \n {cxt.t('tpv.error.unknown.desc')}\n \n \n );\n }\n\n return (\n \n {loader}\n {skeletonOff ? (\n \n \n \n \n }\n caption={cxt.t('backToSporttia')}\n onClick={() => {\n window.parent.location.href = '/';\n }}\n />\n \n {paymentSuccess && (\n \n \n \n )}\n \n \n\n \n \n {paymentText}\n \n \n \n\n {/* --- Error, money on the e-purse --- */}\n {tpvQuery?.data?.tpv?.result ===\n 'RESULT_ERROR_MONEY_IN_BANK' && (\n \n \n {cxt.t('page.tpv.ok.moneyInBank')}\n \n \n )}\n\n {/* --- TPV data --- */}\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 React, { useContext } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { Box, CircularProgress, Container } from '@material-ui/core';\nimport { AppContext, SttTable, SttNoResults } from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport { formatPriceByLocale } from '../../../lib/utils';\nimport useScsService from '../../../services/ScsService';\nimport { useTranslations } from '../../../lib/hooks';\nimport Group from '../../../types/models/Group';\nimport SttError from '../../../components/error/SttError';\n\nconst flatGroupsAndChildren = (scGroups: Group[]) =>\n scGroups.reduce((groups: Group[], group) => {\n const { children, ...withoutChildren } = group;\n children?.rows.forEach((child) => {\n groups.push(child);\n });\n groups.push(withoutChildren);\n return groups;\n }, []);\n\ntype Params = {\n id: string;\n};\n\nexport default function AbonoList() {\n const cxt = useContext(AppContext)!;\n const history = useHistory();\n const { translate } = useTranslations();\n\n const { id: idSc } = useParams();\n\n const scsService = useScsService();\n\n const getScsGroupsQuery = scsService.useGetScsGroups(\n Number(idSc),\n {\n types: 'ABONADOS',\n purchaseOnline: true,\n rows: 100,\n includeChildren: true,\n inTime: true,\n inFuture: true,\n onlyRoots: false,\n },\n {\n select: (data) => flatGroupsAndChildren(data.rows),\n },\n );\n\n if (getScsGroupsQuery.isLoading) {\n return (\n \n \n \n \n \n );\n }\n\n if (getScsGroupsQuery.isError) {\n return ;\n }\n\n if (!getScsGroupsQuery.data) {\n return null;\n }\n\n return (\n \n {!getScsGroupsQuery.data.length ? (\n \n ) : (\n // @ts-expect-error: Migrar SttTable\n row.name,\n onClick: (row: Group) => {\n history.push(\n getPath('buyAbono', {\n idSc,\n idGroup: row.id,\n }),\n );\n },\n },\n {\n title: cxt.t('Enrollment'),\n type: 'text',\n value: (row: Group) =>\n formatPriceByLocale(\n row?.enrollmentPrice,\n // @ts-expect-error: Migrate utils\n row?.enrollmentShape?.currency,\n ),\n },\n {\n title: cxt.t('Fee'),\n type: 'text',\n value: (row: Group) =>\n row.feeInterval &&\n `${formatPriceByLocale(\n row?.feePrice,\n // @ts-expect-error: Migrate utils\n row?.feeShape?.currency,\n )}/${translate(row.feeInterval)}`,\n },\n ]}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport {\n Grid,\n Box,\n Container,\n Typography,\n InputAdornment,\n IconButton,\n} from '@material-ui/core';\nimport { Apps, PostAdd, BallotOutlined, Euro } from '@material-ui/icons';\nimport Paper from '@material-ui/core/Paper';\nimport InsertDriveFileIcon from '@material-ui/icons/InsertDriveFile';\nimport ContactSupportIcon from '@material-ui/icons/ContactSupport';\nimport Button from '@material-ui/core/Button';\nimport GolfCourseIcon from '@material-ui/icons/GolfCourse';\nimport SearchIcon from '@material-ui/icons/Search';\nimport { useForm } from 'react-hook-form';\nimport SttValidatedForm from '../../../sporttia/SttValidatedForm';\nimport SCWall from './SCWall';\nimport { getArrayWithOnlyValues } from '../../../lib/utils';\nimport { SttEventCardList } from '../../../sporttia/public/cards/SttEventCardList';\nimport { getPath } from '../../Pages';\nimport logoEUNextGen from '../../../images/dipSevillaLogos/logoEUNextGeneration.png';\nimport logoPlanRecuperacion from '../../../images/dipSevillaLogos/logoPlanRecuperacion.png';\nimport logoDipuSevilla from '../../../images/dipSevillaLogos/logoDipuSevilla.png';\nimport logoGob from '../../../images/dipSevillaLogos/MPTMD.Gob.png';\nimport {\n AppContext,\n SttActivityCardList,\n SttButton,\n SttTabs,\n} from '../../../sporttia/all';\nimport Page404 from '../../Page404';\n\nexport default function SCProfile(props) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const formActivity = useForm();\n const watchActivityKeyword = formActivity.watch('keyword');\n const formEvent = useForm();\n const watchEventKeyword = formEvent.watch('keyword');\n const [idSC, setIdSC] = useState();\n const [sc, setSC] = useState();\n const [SCPrivileges, setSCPrivileges] = useState([]);\n const [searchKeywordEvent, setSearchKeywordEvent] = useState('');\n const [searchKeywordActivity, setSearchKeywordActivity] = useState('');\n\n const hasUserMship =\n cxt.user.role === cxt.constants.roleUser ||\n cxt.user.role === cxt.constants.roleTeacher;\n\n /**\n * Get sport centers privileges data\n */\n useEffect(() => {\n if (sc) {\n if (hasUserMship) {\n cxt.api('GET', `/scs/${sc.id}/me`, {\n success: (r) => {\n if (r?.mship?.privileges) {\n setSCPrivileges(r.mship.privileges);\n }\n },\n });\n } else {\n cxt.api('GET', `/scs/${sc.id}/privileges`, {\n success: (r) => {\n const activePrivileges = r.rows.filter(\n (privilege) => privilege.active,\n );\n\n setSCPrivileges(\n getArrayWithOnlyValues('id', activePrivileges),\n );\n },\n });\n }\n }\n }, [sc]);\n\n /**\n * Sports center changes\n */\n useEffect(() => setIdSC(props.match.params.id), [props.match.params.id]);\n\n /**\n * Load sport center\n */\n useEffect(() => {\n if (idSC) {\n loadSC();\n cxt.setHeader({ title: cxt?.sc?.name });\n }\n }, [idSC]);\n\n /**\n * Load SC\n */\n const loadSC = () => {\n cxt.api('GET', `/scs/${idSC}`, {\n success: (r) => {\n setSC(r.sc);\n },\n });\n };\n\n const hasPurse =\n sc?.modules?.find((name) => name === 'purse') && sc?.tpvConf;\n\n // -----| Render |-----\n if (sc?.status === 'ACTIVE') {\n return (\n \n \n \n \n \n \n \n \n\n \n \n {sc.name}\n \n\n \n {sc.city && sc.city.name}{' '}\n {sc.city &&\n sc.city.province &&\n `(${sc.city.province.name})`}\n \n \n {sc?.isDipuSevilla && (\n \n \n \n \n \n \n )}\n \n }\n onClick={() =>\n history.push(\n getPath('scContact', {\n id: sc.id,\n }),\n )\n }\n >\n {cxt.t('Contact')}\n \n \n \n \n\n {sc.bulletin && (\n \n {sc.bulletin}\n \n )}\n\n \n {/* La descripción del centro es HTML y así es como se inyecta HTML en React */}\n \n \n\n \n \n {/* --- Book --- */}\n {SCPrivileges.includes(13) &&\n sc.modules.find(\n (name) => name === 'booking',\n ) && (\n \n }\n onClick={() =>\n history.push(\n getPath('timetable', {\n id: sc.id,\n }),\n )\n }\n />\n \n )}\n\n {/* --- Golf book --- */}\n {SCPrivileges.includes(13) &&\n sc?.moduleGolf && (\n \n }\n onClick={() =>\n history.push(\n getPath(\n 'golfBookingsCards',\n {\n id: sc.id,\n },\n ),\n )\n }\n />\n \n )}\n\n {/* --- Recharge purse --- */}\n {hasPurse && (\n \n \n )\n }\n onClick={() =>\n history.push(\n getPath('rechargePurse', {\n id: sc.id,\n }),\n )\n }\n />\n \n )}\n\n {/* --- Buy abonos --- */}\n \n }\n onClick={() =>\n history.push(\n getPath('abonoList', {\n id: sc.id,\n }),\n )\n }\n />\n \n\n {/* --- Buy bono --- */}\n \n }\n onClick={() =>\n history.push(\n getPath('bonoList', {\n id: sc.id,\n }),\n )\n }\n />\n \n\n {/* --- Documents --- */}\n \n }\n onClick={() =>\n history.push(\n getPath('scDocuments', {\n id: sc.id,\n }),\n )\n }\n />\n \n \n \n \n\n {/* Tabs with activities and events. */}\n ,\n },\n {\n caption: cxt.t('Activities'),\n component: (\n <>\n \n \n {\n setSearchKeywordActivity(\n watchActivityKeyword,\n );\n }}\n >\n \n \n \n ),\n },\n onEnterKey: (value) => {\n setSearchKeywordActivity(\n value,\n );\n },\n },\n ]}\n />\n \n \n \n ),\n },\n {\n caption: cxt.t('Events'),\n component: (\n <>\n \n \n {\n setSearchKeywordEvent(\n watchEventKeyword,\n );\n }}\n >\n \n \n \n ),\n },\n onEnterKey: (value) => {\n setSearchKeywordEvent(\n value,\n );\n },\n },\n ]}\n />\n \n \n \n ),\n },\n ]}\n />\n \n \n );\n }\n\n if (sc?.status === 'INACTIVE') {\n return ;\n }\n\n return null;\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport { Box, Container } from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttTopControls } from '../../../sporttia/SttTopControls';\nimport { SttFileDialog, SttTable } from '../../../sporttia/all';\n\nexport default function SCDocuments(props) {\n const cxt = useContext(AppContext);\n const [filters, setFilters] = useState({ name: '' });\n const [documents, setDocuments] = useState();\n const [openFileId, setOpenFileId] = useState();\n\n /**\n * Load documents.\n * @param p {page, rows} values.\n */\n const loadDocuments = (p = { page: 1, rows: 20 }) => {\n cxt.api('GET', `/scs/${props.match.params.id}/files`, {\n params: {\n ...filters,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setDocuments(r);\n },\n });\n };\n\n useEffect(() => {\n loadDocuments();\n }, []);\n\n return (\n \n \n \n \n {cxt.t('Documents').toUpperCase()}\n \n \n {cxt.t('page.scProfile.docs.desc')}\n \n\n loadDocuments(),\n },\n ]}\n onChange={({ name, value }) =>\n setFilters({ ...filters, [name]: value })\n }\n onFilter={loadDocuments}\n />\n\n row.name || cxt.t('Noname'),\n },\n ]}\n onFetch={loadDocuments}\n onClickRow={(row) => setOpenFileId(row.id)}\n />\n\n setOpenFileId(null)}\n // onUpdate={updateFile}\n />\n \n \n \n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper';\nimport { Box, Container } from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport Divider from '@material-ui/core/Divider';\nimport PhoneIcon from '@material-ui/icons/Phone';\nimport EmailIcon from '@material-ui/icons/Email';\nimport Grid from '@material-ui/core/Grid';\nimport LiveHelpIcon from '@material-ui/icons/LiveHelp';\nimport { useHistory } from 'react-router-dom';\nimport { SttForm } from '../../../sporttia/SttForm';\nimport { getPath } from '../../Pages';\nimport { AppContext } from '../../../sporttia/AppContext';\n\nexport default function SCContact(props) {\n const cxt = useContext(AppContext);\n const [sc, setSC] = useState({\n phonePublic: '',\n emailPublic: '',\n });\n const [form, setForm] = useState({});\n const [sent, setSent] = useState(false);\n const history = useHistory();\n\n /**\n * Load SC\n */\n const loadSC = () => {\n cxt.api('GET', `/scs/${props.match.params.id}`, {\n success: (r) => {\n setSC(r.sc);\n },\n });\n };\n\n /**\n * Send\n */\n const send = () => {\n cxt.api('POST', `/scs/${props.match.params.id}/messages`, {\n params: {\n text: form.text,\n },\n success: (r) => {\n cxt.showMessage('S', cxt.t('Sent'));\n history.push(\n getPath('scProfile', { id: props.match.params.id }),\n );\n },\n });\n };\n\n /**\n * Handle form\n */\n const handleForm = ({ name, value }) => {\n setForm({ ...form, [name]: value });\n };\n\n /**\n * Sport center changes\n */\n useEffect(() => {\n loadSC();\n }, [props.match.params.id]);\n\n /**\n * Init\n */\n useEffect(() => {\n if (cxt.user) {\n setForm({\n name: cxt.user.name,\n email: cxt.user.email,\n phone: cxt.user.mobile,\n });\n }\n }, []);\n\n return (\n \n \n \n \n {cxt.t('Contact')}\n \n \n \n \n \n \n \n {cxt.t('view.contact.byPhone')}\n  {sc.phonePublic}\n \n \n \n \n \n \n \n {cxt.t('view.contact.byEmail')}\n  {sc.emailPublic}\n \n \n \n \n \n \n \n \n \n {cxt.t('view.contact.byForm')}\n \n \n\n \n send(),\n },\n ]}\n />\n \n \n \n \n \n );\n}\n","import React, { useState, useEffect, useContext, useMemo } from 'react';\nimport { Box, Container } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport { Check } from '@material-ui/icons';\nimport {\n AppContext,\n SttFormSearch,\n SttList,\n SttNoResults,\n} from '../../../sporttia/all';\nimport { useCrud } from '../../../lib/hooks';\nimport { getPath } from '../../Pages';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\nexport default function BonoList({ match }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [bonos, setBonos, , Get] = useCrud();\n const [idSC, setIdSC] = useState(null);\n\n const [search, setSearch] = useState(undefined);\n\n useEffect(() => {\n if (match.params && match.params.id) {\n setIdSC(match.params.id);\n loadBonos();\n }\n\n cxt.setHeader({ title: cxt.t('Bonos') });\n }, []);\n\n const filteredBonos = useMemo(() => {\n if (!search) return bonos?.rows;\n\n return bonos?.rows?.filter((bono) =>\n bono.name.toLowerCase().includes(search.toLowerCase()),\n );\n }, [bonos, search]);\n\n const handleSearchChange = ({ value }) => {\n setSearch(value);\n };\n\n const handleSearchClean = () => {\n setSearch(undefined);\n };\n\n function loadBonos(params = { rows: 1000 }) {\n Get(`/scs/${match.params.id}/bonos`, { ...params }).then(setBonos);\n }\n\n if (!bonos || !idSC) {\n return null;\n }\n\n return (\n \n \n \n \n \n {filteredBonos.length > 0 ? (\n {\n if (bono.purchaseOnline) {\n history.push(\n getPath('buyBono', { idSC, id: bono.id }),\n );\n }\n }}\n data={filteredBonos.map((bono) => ({\n caption: (\n \n
\n {bono.name} -{' '}\n {`${formatPriceByLocale(\n bono?.price,\n bono?.priceShape?.currency,\n bono?.priceShape?.locale,\n )}`}\n
\n {!bono.purchaseOnline ? (\n \n {cxt.t('hart.bonoUser.noOnline')}\n
\n ) : (\n \n \n {cxt.t('OnlinePurchase')}\n \n  \n \n \n )}\n \n ),\n objToSelect: bono,\n }))}\n />\n ) : (\n \n )}\n \n
\n );\n}\n","import React, { useEffect, useContext, useState } from 'react';\nimport {\n Container,\n Box,\n Grid,\n Card,\n CardContent,\n Button,\n} from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { Close, LockOpen } from '@material-ui/icons';\nimport { useCrud, useInteractionsFiles } from '../../../lib/hooks';\nimport {\n AppContext,\n SttLabelTitle,\n SttLabelForm,\n SttPage,\n SttButtonTicket,\n SttButton,\n} from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport { formatPriceByLocale, fullName } from '../../../lib/utils';\nimport Occupants from './Occupants';\nimport HandlePaymentsModal from '../../sc/groups/HandlePaymentsModal';\n\nexport default function Booked({ match }) {\n const cxt = useContext(AppContext);\n const { openFile } = useInteractionsFiles();\n const history = useHistory();\n const [booking, setBooking, , Get, , , Delete] = useCrud();\n const [payments, setPayments] = useState();\n const [openingDevice, setOpeningDevice] = useState(false);\n const [ready, setReady] = useState(false);\n const [openAskingPaymentProcedure, setOpenAskingPaymentProcedure] =\n useState(false);\n const [cancelPrivilege, setCancelPrivilege] = useState(false);\n\n function loadBooking() {\n const { id } = match.params;\n\n Get(`/bookings/${id}`)\n .then((response) => {\n setBooking(response.booking);\n cxt.setHeader({\n title: `${cxt.t('Booking')}`,\n });\n })\n .catch(() => {});\n }\n\n function loadPayments() {\n const { id } = match.params;\n\n Get(`/bookings/${id}/payments`).then(({ rows }) => {\n setPayments(rows);\n cxt.setHeader({\n title: `${cxt.t('Booking')}`,\n });\n });\n }\n\n /**\n * Booking id changes\n */\n useEffect(() => {\n loadBooking();\n loadPayments();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [match.params.id]);\n\n useEffect(() => {\n if (booking && booking.facility) {\n if (\n cxt.user.role === cxt.constants.roleUser ||\n cxt.user.role === cxt.constants.roleTeacher\n ) {\n Get(`/scs/${booking.facility.sc.id}/me`)\n .then(({ mship }) => {\n setCancelPrivilege(\n cxt.user.role === cxt.constants.roleSC ||\n mship.privileges.find((priv) => priv === 9) !==\n undefined,\n );\n })\n .catch(() => {})\n .finally(() => {\n setReady(true);\n });\n } else {\n setReady(true);\n setCancelPrivilege(true);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [booking]);\n\n function downloadTicket(format) {\n openFile(\n `/bookings/${booking.id}.pdf?paper=${format}`,\n 'application/pdf',\n );\n }\n\n const openDevice = (device) => {\n cxt.api('POST', `/devices/${device.id}/openings`, {\n success: (r) => {\n setOpeningDevice(false);\n\n if (r.resultFromDevice.result === 'SUCCESS') {\n cxt.showMessage('S', cxt.t('device.opening.opened'));\n } else {\n cxt.showMessage('S', cxt.t('device.opening.error.general'));\n }\n },\n loading: setOpeningDevice,\n });\n };\n\n const cancelBooking = (deletingPaymentProcedure) => {\n let paymentAction;\n if (deletingPaymentProcedure !== undefined) {\n paymentAction = deletingPaymentProcedure;\n }\n\n Delete(\n `/bookings/${booking.id}`,\n { paymentAction },\n cxt.user && cxt.user.role === 'USER',\n )\n .then(() => {\n history.replace('/');\n })\n .catch(() => {});\n };\n\n if (!ready) {\n return null;\n }\n\n return (\n \n {booking && (\n <>\n \n \n \n\n \n\n \n\n \n\n \n \n \n\n {/* --- Occupants (QR's) --- */}\n {booking.occupants && (\n 0\n }\n cancelPrivilege={cancelPrivilege}\n />\n )}\n \n )}\n\n {/* --- Payments --- */}\n {payments && payments.length > 0 && (\n \n \n
\n {cxt.t('payments')}\n
\n \n {payments.map((payment) => (\n \n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n
\n
\n )}\n\n {/* --- Devices --- */}\n {booking &&\n booking.facility &&\n booking.facility.devices &&\n booking.facility.devices.count > 0 && (\n \n \n
\n \n {cxt.t('Devices')}\n \n
\n \n {booking.facility.devices.rows\n .filter((device) => device.remoteOpening)\n .map((device) => (\n \n \n \n \n \n \n \n \n }\n onClick={() =>\n openDevice(\n device,\n )\n }\n loading={\n openingDevice\n }\n />\n \n \n \n \n ))}\n \n
\n
\n )}\n\n {/* --- Buttons --- */}\n \n \n \n downloadTicket('A4')}\n />\n \n\n \n downloadTicket('TICKET')}\n />\n \n\n \n \n history.push(\n `${getPath('timetable', {\n id: booking.facility.sc.id,\n })}?&date=${moment(booking.ini).format(\n 'YYYY-MM-DD',\n )}`,\n )\n }\n />\n \n\n {cancelPrivilege && (\n \n \n cxt.user && cxt.user.role === 'USER'\n ? cancelBooking(4)\n : setOpenAskingPaymentProcedure(true)\n }\n startIcon={}\n >\n {cxt.t('CancelBooking')}\n \n \n )}\n \n \n\n setOpenAskingPaymentProcedure(false)}\n onAccept={(option) => {\n // JPB 9 Jul 2020. Deleting action codes in groups is different than in other in booking. */\n\n switch (option) {\n case '0':\n cancelBooking();\n break; // PBM: 'do nothing' case was missing\n case '1':\n cancelBooking(4);\n break;\n case '2':\n cancelBooking(5);\n break;\n case '3':\n cancelBooking(2);\n break;\n case '4':\n cancelBooking(3);\n break;\n default:\n }\n }}\n />\n
\n );\n}\n","import React from 'react';\nimport { Container } from '@material-ui/core';\nimport Timetable from '../timetable/Timetable';\n\nexport default function Widget({ match }) {\n return (\n \n \n \n );\n}\n","import React from 'react';\nimport { Container } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport Box from '@material-ui/core/Box';\nimport MessageList from '../../sc/messages/MessageList';\n\n/**\n * Page where the user can consult all the messages received.\n * @returns {JSX.Element}\n */\nexport default function UserMessages({}) {\n return (\n \n \n \n \n \n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport {\n Container,\n Box,\n Typography,\n Grid,\n CircularProgress,\n} from '@material-ui/core';\nimport {\n CreditCard,\n PostAdd,\n AccountBalanceWallet,\n Contactless,\n} from '@material-ui/icons';\nimport { RouteComponentProps, useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport {\n AppContext,\n SttButton,\n SttLabelTitle,\n SttLabelWeekdays,\n SttPage,\n} from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport {\n normalizeDuration,\n formatPriceByLocale,\n getErrorMessage,\n} from '../../../lib/utils';\nimport constants from '../../../config/constants';\nimport useBonosService from '../../../services/BonosService';\nimport SttError from '../../../components/error/SttError';\nimport useScsService from '../../../services/ScsService';\nimport ModalConfirmation from '../../../layout/ModalConfirmation';\nimport { PaymentForm } from '../../../types/payment';\nimport translations from '../../../translations';\n\ntype BuyBonoProps = RouteComponentProps<{\n id: string;\n idSC: string;\n}>;\n\nexport default function BuyBono({ match }: BuyBonoProps) {\n const cxt = useContext(AppContext)!;\n const history = useHistory();\n\n const [selectedPaymentForm, setSelectedPaymentForm] =\n useState();\n\n const bonosService = useBonosService();\n const scsService = useScsService();\n\n const getBonoQuery = bonosService.useGetBono(parseInt(match.params.id));\n const getScMeQuery = scsService.useGetScMe(parseInt(match.params.idSC));\n const getScTpvConfs = scsService.useGetScTpvConfs(\n parseInt(match.params.idSC),\n );\n const createBonoUserMutation = bonosService.useCreateBonoUser({\n onSuccess: (response) => {\n if (response.tpv) {\n history.push(getPath('tpvSwitcher', { id: response.tpv.id }));\n } else if (response.boleto) {\n history.push(getPath('userBonos'));\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n if (\n getBonoQuery.isLoading ||\n getScMeQuery.isLoading ||\n getScTpvConfs.isLoading\n ) {\n return (\n \n \n \n \n \n );\n }\n\n if (getBonoQuery.isError || getScMeQuery.isError || getScTpvConfs.isError) {\n return ;\n }\n\n if (!getBonoQuery.data || !getScMeQuery.data || !getScTpvConfs.data) {\n return null;\n }\n\n const { bono } = getBonoQuery.data;\n const { mship } = getScMeQuery.data;\n\n const hasZitycard = getScTpvConfs.data.rows.some(\n (tpv) => tpv.bank === constants.tpvConf.banks.zitycard.name,\n );\n\n return (\n \n \n {mship && {mship.sc!.name}}\n \n \n \n {cxt.t('Name')}: {bono.name}\n \n
\n \n {cxt.t('scProfile.buyBono.numConsumed')}:{' '}\n \n {bono.amount} x{' '}\n {normalizeDuration(bono.duration)}\n \n \n
\n \n {cxt.t('scProfile.buyBono.priceBono')}:{' '}\n \n {formatPriceByLocale(\n bono?.price,\n bono?.priceShape?.currency ?? undefined,\n )}\n \n \n
\n {bono.expiration && (\n <>\n \n {cxt.t('Expiration')}:{' '}\n {bono.expirationLang}\n \n
\n \n )}\n \n {cxt.t('ValidUntil')}:{' '}\n {moment(bono.dateend).format('DD MM YYYY')}\n \n \n {cxt.t('scProfile.buyBono.horary')}:\n \n {`${bono.timeini} - ${bono.timeend}`}\n \n \n
\n {cxt.t('Type')}: {bono.typeLang}\n
\n \n * {cxt.t('scProfile.buyBono.typeBono')}\n \n
\n
\n\n {bono.description}\n\n \n {bono.facilities.length > 0 && (\n <>\n {cxt.t('scProfile.buyBono.fields')}:\n \n {bono.facilities.map((facility) => (\n
\n {facility.name}\n
\n ))}\n
\n \n )}\n
\n\n \n \n {/* --- Paying with TPV --- */}\n {bono.price > 0 && (\n <>\n {mship &&\n bono.purchasePFs?.includes('PURSE') && (\n \n \n }\n onClick={() => {\n setSelectedPaymentForm(\n constants.payment\n .paymentForms\n .purse.name,\n );\n }}\n />\n \n )}\n\n {bono.purchasePFs?.includes('TPV') && (\n \n }\n onClick={() => {\n setSelectedPaymentForm(\n constants.payment\n .paymentForms.tpv\n .name,\n );\n }}\n />\n \n )}\n \n )}\n\n {!bono.price && (\n \n }\n onClick={() => {\n setSelectedPaymentForm(\n constants.payment.paymentForms\n .free.name,\n );\n }}\n />\n \n )}\n\n {hasZitycard && (\n \n }\n onClick={() => {\n setSelectedPaymentForm(\n constants.payment.paymentForms\n .zitycard.name,\n );\n }}\n />\n \n )}\n \n \n
\n
\n\n {selectedPaymentForm && (\n {\n createBonoUserMutation.mutate({\n userId: cxt.user!.id!,\n bonoId: bono.id,\n params: {\n paymentForm: selectedPaymentForm,\n },\n });\n\n setSelectedPaymentForm(undefined);\n }}\n onClose={() => {\n setSelectedPaymentForm(undefined);\n }}\n />\n )}\n
\n );\n}\n","import React, { useContext } from 'react';\nimport { RouteComponentProps, useHistory } from 'react-router-dom';\nimport { Box, CircularProgress, Container, Grid } from '@material-ui/core';\nimport {\n AccountBalanceWallet,\n CreditCard,\n PostAdd,\n Contactless,\n} from '@material-ui/icons';\nimport { AppContext, SttButton, SttPage } from '../../../sporttia/all';\nimport { getPath } from '../../Pages';\nimport { formatPriceByLocale, getErrorMessage } from '../../../lib/utils';\nimport useGroupsService from '../../../services/GroupsService';\nimport SttError from '../../../components/error/SttError';\nimport useScsService from '../../../services/ScsService';\nimport constants from '../../../config/constants';\nimport translations from '../../../translations';\n\ntype BuyAbonoProps = RouteComponentProps<{\n idGroup: string;\n idSc: string;\n}>;\n\nexport default function BuyAbono({ match }: BuyAbonoProps) {\n const cxt = useContext(AppContext)!;\n const history = useHistory();\n const groupService = useGroupsService();\n const scsService = useScsService();\n\n const getGroupQuery = groupService.useGetGroup(\n parseInt(match.params.idGroup),\n );\n\n const getScTpvConfsQuery = scsService.useGetScTpvConfs(\n parseInt(match.params.idSc),\n );\n\n const createGroupMemberMutation = groupService.useCreateGroupMember({\n onSuccess: (response) => {\n // Go to pay with credit card\n if (response.tpv) {\n history.push(getPath('tpvSwitcher', { id: response.tpv.id }));\n\n // Just got it\n } else {\n history.push(\n getPath('userAbono', { id: response.groupMember.id }),\n );\n }\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n\n if (getGroupQuery.isLoading || getScTpvConfsQuery.isLoading) {\n return (\n \n \n \n \n \n );\n }\n\n if (getGroupQuery.isError || getScTpvConfsQuery.isError) {\n return ;\n }\n\n if (!getGroupQuery.data || !getScTpvConfsQuery.data) {\n return null;\n }\n\n const { group } = getGroupQuery.data;\n const hasZitycard = getScTpvConfsQuery.data.rows.some(\n (tpv) => tpv.bank === constants.tpvConf.banks.zitycard.name,\n );\n\n return (\n \n \n {\n \n \n {cxt.t('Name')}: {group.name}\n
\n {'enrollmentPrice' in group && (\n <>\n {cxt.t('Enrollment')}:{' '}\n \n {formatPriceByLocale(\n group.enrollmentPrice,\n group.enrollmentShape?.currency,\n )}\n \n \n )}\n
\n
\n {group.feePrice !== undefined && group.feeInterval && (\n <>\n {cxt.t('Fee')}:{' '}\n \n {formatPriceByLocale(\n group.feePrice,\n group.feeShape?.currency,\n )}\n {' '}\n / {cxt.t(group.feeInterval)}\n \n )}\n\n {group.description}\n\n \n \n {/* --- Paying with TPV --- */}\n {!!group.enrollmentPrice && (\n <>\n \n }\n onClick={() => {\n createGroupMemberMutation.mutate(\n {\n id: group.id,\n params: {\n paymentFormSignup:\n constants\n .payment\n .paymentForms\n .tpv\n .name,\n },\n },\n );\n }}\n />\n \n \n \n }\n onClick={() => {\n createGroupMemberMutation.mutate(\n {\n id: group.id,\n params: {\n paymentFormSignup:\n constants\n .payment\n .paymentForms\n .purse\n .name,\n },\n },\n );\n }}\n />\n \n {hasZitycard && (\n \n }\n onClick={() => {\n createGroupMemberMutation.mutate(\n {\n id: group.id,\n params: {\n paymentFormSignup:\n constants\n .payment\n .paymentForms\n .zitycard\n .name,\n },\n },\n );\n }}\n />\n \n )}\n \n )}\n\n {/* --- Get it for free (because it's free) --- */}\n {!group.enrollmentPrice && (\n \n }\n onClick={() => {\n createGroupMemberMutation.mutate(\n { id: group.id },\n );\n }}\n />\n \n )}\n \n \n
\n }\n
\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext, SttTabs } from '../../../sporttia/all';\nimport ConfigurationMain from './ConfigurationMain';\nimport ConfigurationConsents from './ConfigurationConsents';\nimport ConfigurationRecharges from './ConfigurationRecharges';\nimport ConfigurationPrivileges from './ConfigurationPrivileges';\nimport ConfigurationNotifications from './ConfigurationNotifications';\nimport ConfigurationMap from './ConfigurationMap';\nimport ConfigurationBilling from './ConfigurationBilling';\nimport ConfigurationWeb from './ConfigurationWeb';\nimport ConfigurationMandatoryData from './ConfigurationMandatoryData';\nimport ConfigurationPOS from './ConfigurationPOS';\nimport ConfigurationCashdro from './ConfigurationCashdro';\n\nexport default function Configuration() {\n const cxt = useContext(AppContext);\n const [scModules, setSCModules] = useState();\n\n /**\n * Load sports center\n */\n const loadSportcenter = () => {\n cxt.api('GET', `/scs/${cxt.sc.id}`, {\n success: (r) => {\n setSCModules(r.sc.modules);\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n if (cxt.sc.modules) {\n setSCModules(cxt.sc.modules);\n } else {\n loadSportcenter();\n }\n\n cxt.setHeader({\n title: cxt.t('Configuration'),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // -----| Render |-----\n return (\n ,\n },\n {\n caption: cxt.t('Location'),\n component: ,\n },\n {\n caption: cxt.t('Notifications'),\n component: ,\n },\n {\n caption: cxt.t('Recharges'),\n component: ,\n },\n {\n caption: cxt.t('Privileges'),\n component: ,\n },\n {\n caption: cxt.t('Consents'),\n component: ,\n },\n {\n caption: cxt.t('Billing'),\n component: ,\n },\n {\n show: scModules && scModules.includes('web'),\n caption: 'Web',\n component: ,\n },\n {\n caption: cxt.t('MandatoryFields'),\n component: ,\n },\n {\n show: scModules && scModules.includes('dataphoneConnected'),\n caption: cxt.t('PF.DATAFONO'),\n component: ,\n },\n {\n show: scModules && scModules.includes('cashdroConnected'),\n caption: 'CashDro',\n component: ,\n },\n ]}\n grow\n />\n );\n}\n","import React, { useContext, useState } from 'react';\nimport {\n Box,\n Button,\n Chip,\n CircularProgress,\n Link,\n Paper,\n} from '@material-ui/core';\nimport SttError from '../../../components/error/SttError';\nimport SttTable from '../../../sporttia/SttTable';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport useScsService from '../../../services/ScsService';\nimport { GetScsDeviceSpaceParams } from '../../../types/api/paths/Scs';\nimport DeviceSpace, { Device } from '../../../types/models/DeviceSpace';\nimport { useTranslations } from '../../../lib/hooks';\nimport translations from '../../../translations';\nimport DeviceSpaceDialog from '../../../components/dialogs/DeviceSpaceDialog';\nimport { AppContext, SttButtonFab } from '../../../sporttia/all';\nimport useDevicesService from '../../../services/DevicesService';\nimport { copyToClipboard, getErrorMessage } from '../../../lib/utils';\n\ntype DevicesSpacesProps = {\n item: { id: number } | undefined; // Sportcenter id\n};\ntype DevicesSpacesFilterParams = {\n name: string; // Sportcenter id\n trash: boolean;\n};\n\nexport default function DevicesSpaces({\n item = undefined,\n}: DevicesSpacesProps) {\n const { useGetScsDevicesCapacities } = useScsService();\n const { useUpdateDeviceSpace } = useDevicesService();\n const cxt = useContext(AppContext)!;\n const scId = cxt?.sc ? cxt.sc.id : -1;\n const [deviceSpace, setDeviceSpace] = useState();\n const [queryParams, setQueryParams] = useState({\n page: 1,\n rows: 20,\n name: '',\n trash: false,\n });\n const capacitiesQuery = useGetScsDevicesCapacities(\n item ? item?.id : scId,\n queryParams,\n );\n const updateDeviceSpaceMutation = useUpdateDeviceSpace({\n onSuccess: () => {\n capacitiesQuery.refetch();\n },\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n });\n const { translate } = useTranslations();\n\n if (capacitiesQuery.isLoading) {\n return (\n \n \n \n );\n }\n\n if (capacitiesQuery.isError) {\n return ;\n }\n\n if (!capacitiesQuery.isSuccess) {\n return null;\n }\n\n return (\n \n {\n setQueryParams({\n ...queryParams,\n name: value.name,\n trash: value.trash,\n });\n }}\n trashAction\n mainAction={undefined}\n />\n \n setQueryParams({ ...queryParams, page })\n }\n onFetch={() => {}}\n columns={[\n {\n title: '#',\n type: 'tooltip',\n value: (row: DeviceSpace) => ({\n label: '#',\n value: row.id,\n }),\n onClick: (row: DeviceSpace) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: translate(translations.generic.name),\n name: 'name',\n field: 'name',\n type: 'link',\n align: 'center',\n value: (row: DeviceSpace) => (\n setDeviceSpace(row)}>\n {row.name}\n \n ),\n },\n {\n title: translate(\n translations.deviceSpace.currentCapacity,\n ),\n name: 'currentCapacity',\n field: 'currentCapacity',\n align: 'center',\n value: (row: DeviceSpace) => row?.currentCapacity,\n },\n {\n title: translate(\n translations.deviceSpace.maximunCapacity,\n ),\n name: 'maximumCapacity',\n field: 'maximumCapacity',\n align: 'center',\n value: (row: DeviceSpace) => row?.maximumCapacity,\n },\n {\n field: 'devices',\n title: translate(translations.generic.devices),\n align: 'center',\n value: (row: DeviceSpace) => (\n \n {row?.devices?.map((device: Device) => (\n \n ))}\n \n ),\n },\n {\n align: 'center',\n value: (row: DeviceSpace) => (\n \n {\n updateDeviceSpaceMutation.mutate({\n deviceSpaceId: row?.id,\n params: { currentCapacity: 0 },\n });\n }}\n >\n Reset\n \n \n ),\n },\n ]}\n />\n \n setDeviceSpace({\n id: -1,\n created: '',\n maximumCapacity: 0,\n currentCapacity: 0,\n name: '',\n devices: [],\n })\n }\n />\n {deviceSpace && (\n {\n capacitiesQuery.refetch();\n }}\n onClose={() => {\n setDeviceSpace(null);\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {} from '@material-ui/core';\nimport { AppContext, SttTabs } from '../../../sporttia/all';\nimport AdminsTab from './AdminsTab';\nimport RolesTab from './RolesTab';\n\nexport default function Roles({}) {\n const cxt = useContext(AppContext);\n\n /**\n * Init\n */\n useEffect(() => {\n // Set page title\n cxt.setHeader({ title: cxt.t('Administrators') });\n }, []);\n\n // -----| Render |-----\n return (\n ,\n },\n {\n caption: cxt.t('Roles'),\n component: ,\n },\n ]}\n />\n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport {\n AppContext,\n SttChipFacilityRow,\n SttLabelMonths,\n SttButtonFab,\n} from '../../../sporttia/all';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport SttCachedTable from '../../../sporttia/SttCachedTable';\nimport { usePageHeader, useQueryFilters } from '../../../lib/hooks';\nimport { SPORTCENTER_FREE_SCHEDULES } from '../../../lib/queryKeys';\nimport FreeSchedule from './FreeSchedule';\nimport useScsService from '../../../services/ScsService';\n\nexport default function FreeSchedules() {\n usePageHeader('timetables');\n\n const cxt = useContext(AppContext);\n const [freeScheduleId, setFreeScheduleId] = useState(null);\n const scsServices = useScsService();\n const [filters, setFilters] = useQueryFilters(\n { isActive: true },\n SPORTCENTER_FREE_SCHEDULES,\n );\n\n return (\n \n setFilters(value)}\n trashAction\n />\n\n \n scsServices.getFreeSchedules(cxt?.sc?.id, params)\n }\n queryParams={filters}\n prefetching={false}\n columns={[\n {\n title: cxt.t('Layer'),\n field: 'layer',\n value: (row) => (row.layer ? row.layer : 'B'),\n },\n {\n type: 'link',\n title: cxt.t('Name'),\n field: 'name',\n onClick: (row) => {\n setFreeScheduleId({ id: row.id });\n },\n },\n {\n type: 'duration',\n title: cxt.t('Advance'),\n field: 'preBookingIni',\n },\n {\n type: 'period',\n title: cxt.t('Period'),\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Months'),\n value: (row) => ,\n },\n {\n title: cxt.t('Facilities'),\n value: (row) => (\n \n ),\n },\n ]}\n />\n\n {freeScheduleId && (\n {\n setFreeScheduleId(null);\n }}\n />\n )}\n\n {\n setFreeScheduleId({ id: 'create' });\n }}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Paper } from '@material-ui/core';\nimport { AppContext, SttTopControls, SttTable } from '../../../sporttia/all';\nimport { useToggle } from '../../../lib/hooks';\nimport { paths, getPath } from '../../Pages';\nimport { copyToClipboard } from '../../../lib/utils';\n\nexport default function Remittences() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [remittences, setRemittences] = useState();\n const [filters, setFilters] = useState({\n name: '',\n });\n\n // Set header\n useEffect(() => {\n cxt.setHeader({\n title: cxt.t('Remittences'),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Load free schedules\n */\n const loadRemittences = (params = { rows: 20, page: 1 }) => {\n cxt.api('GET', `/scs/${cxt.sc.id}/remittences`, {\n params: {\n ...{\n ...filters,\n name: filters?.name ? filters.name : undefined,\n },\n ...params,\n // eslint-disable-next-line no-use-before-define\n trash,\n },\n success: (r) => {\n setRemittences(r);\n },\n });\n };\n\n // Trash hook\n const [trash, toggleTrash] = useToggle(() => {\n loadRemittences();\n });\n\n /**\n * Go to generate remittence\n */\n const goToGenerateRemittend = () => {\n history.push(paths.find((e) => e.id === 'genRemittences').path); // '/scs/remittences/generate')\n };\n\n // -----| Render |-----\n return (\n \n \n setFilters({ ...filters, [name]: value })\n }\n onFilter={loadRemittences}\n onToggleTrash={toggleTrash}\n mainAction={{\n type: 'create',\n onClick: () => goToGenerateRemittend(),\n }}\n />\n\n ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n type: 'link',\n title: cxt.t('Name'),\n field: 'name',\n // to: row => `/scs/remittences/${row.id}`,\n to: (row) => getPath('remittence', { id: row.id }),\n },\n {\n type: 'active',\n title: cxt.t('Sent'),\n field: 'status',\n value: (row) => row.status === 'SENT',\n },\n {\n type: 'dmy',\n title: cxt.t('Paid'),\n field: 'issueDate',\n },\n {\n type: 'dmy',\n title: cxt.t('downloaded'),\n field: 'downloadedDate',\n },\n /* {\n\t\t\t\t\t\ttype: 'counter',\n\t\t\t\t\t\ttitle: cxt.t('Receipts'),\n\t\t\t\t\t\tvalue: row => 'TODO'\n\t\t\t\t\t}, */\n {\n type: 'price',\n title: cxt.t('Total'),\n field: 'total',\n },\n ]}\n onFetch={loadRemittences}\n />\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Box, Paper, Grid } from '@material-ui/core';\nimport moment from 'moment';\nimport FlashOnIcon from '@material-ui/icons/FlashOn';\nimport { useMutation } from 'react-query';\nimport {\n AppContext,\n SttTable,\n SttFormDate,\n SttFormText,\n SttButton,\n SttFormPeriod,\n SttButtonFilter,\n SttFullDialog,\n} from '../../../sporttia/all';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport { getPath } from '../../Pages';\nimport { getErrorMessage } from '../../../lib/utils';\nimport useScsService from '../../../services/ScsService';\nimport { useLoader, useTranslations } from '../../../lib/hooks';\n\nexport default function GenerateRemittence() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const scsService = useScsService();\n const { translate } = useTranslations();\n const [payments, setPayments] = useState({});\n const [filter, setFilter] = useState({\n concept: '',\n useIni: moment().startOf('month').format('YYYY-MM-DD'),\n useEnd: moment().endOf('month').format('YYYY-MM-DD'),\n });\n const [paymentDialogId, setPaymentDialogId] = useState();\n const [paymentDate, setPaymentDate] = useState(\n moment().format('YYYY-MM-DD'),\n );\n const createMutation = useMutation(\n (params) => scsService.createScsRemittences(params?.id, params?.params),\n {\n onSuccess: (data) =>\n history.push(\n getPath('remittence', { id: data.remittence?.id }),\n ),\n onError: (error) => {\n cxt.showMessage('E', getErrorMessage(error));\n },\n },\n );\n const [, loader] = useLoader([createMutation.status]);\n\n const handleForm = ({ name, value }) => {\n setFilter({ ...filter, [name]: value });\n };\n\n const loadPayments = (p = { page: 1, rows: 20 }) => {\n cxt.api('GET', `/scs/${cxt.sc.id}/remittences/payments`, {\n params: {\n ...filter,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setPayments(r);\n },\n });\n };\n\n return (\n <>\n {loader}\n history.push(getPath('remittences'))}\n title={translate('GenerateRemittence')}\n >\n \n \n \n \n\n \n\n setPaymentDate(value)}\n />\n \n \n \n\n \n \n \n loadPayments()}\n />\n \n\n \n \n caption={cxt.t('Generate')}\n confirmation\n onClick={() =>\n createMutation.mutate({\n id: cxt.sc.id,\n // #86944gzv0 En v7 todos los parameters se enviarán por BODY.\n // Eliminar los query string cuando el EP esté subido a PRO.\n params: {\n concept: filter.concept,\n paymentDate,\n useIni: filter.useIni,\n useEnd: filter.useEnd,\n },\n })\n }\n />\n \n \n \n\n \n \n {payments && (\n \n setPaymentDialogId(row.id),\n },\n {\n title: cxt.t('Period'),\n type: 'periodPlain',\n value: (row) => ({\n ini: row.ini,\n end: row.end,\n }),\n },\n {\n title: cxt.t('User'),\n width: 160,\n align: 'left',\n value: (row) =>\n row.user.mship\n ? row.user.mship.name\n : row.user.name,\n },\n {\n title: cxt.t('Price'),\n type: 'price',\n field: 'price',\n },\n ]}\n onFetch={loadPayments}\n />\n )}\n \n \n\n {paymentDialogId && (\n setPaymentDialogId(null)}\n />\n )}\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport {\n Grid,\n Box,\n Paper,\n Divider,\n FormControlLabel,\n Checkbox,\n} from '@material-ui/core';\nimport moment from 'moment';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport BuildIcon from '@material-ui/icons/Build';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\nimport DoneIcon from '@material-ui/icons/Done';\nimport Link from '@material-ui/core/Link';\nimport Typography from '@material-ui/core/Typography';\nimport PublishIcon from '@material-ui/icons/Publish';\nimport { getPath } from '../../Pages';\nimport RemittenceLineDialog from './RemittenceLineDialog';\nimport PaymentModal from '../../../components/paymentModal/PaymentModal';\nimport {\n subsetObject,\n updateElementInArray,\n formatPriceByLocale,\n} from '../../../lib/utils';\nimport {\n AppContext,\n SttLabelForm,\n SttFormText,\n SttFormSelect,\n SttFormDate,\n SttTable,\n SttButtonSave,\n SttButtonDelete,\n SttButtonRecover,\n SttTopControls,\n SttButton,\n SttUploadDialog,\n SttFullDialog,\n} from '../../../sporttia/all';\nimport SttMshipDialog from '../../../sporttia/dialogs/SttMshipDialog';\nimport { useInteractionsFiles } from '../../../lib/hooks';\nimport translations from '../../../translations';\n\nexport default function Remittence(props) {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const history = useHistory();\n const [creating, setCreating] = useState(false);\n const [remittence, setRemittence] = useState();\n const [lines, setLines] = useState();\n const [idPaymentModal, setIdPaymentModal] = useState(null);\n const [filters, setFilters] = useState({\n name: '',\n status: null, // ERROR, RETURNED\n });\n const [openRemittenceLine, setOpenRemittenceLine] = useState(null);\n const [openUploadFile, setOpenUploadFile] = useState(false);\n const [mshipChosen, setMshipChosen] = useState(null);\n const [selectRows, setSelectRows] = useState([]);\n const [fillBics, setFillBics] = useState(false);\n\n const loadLines = (p = { rows: 20, page: 1 }) => {\n cxt.api('GET', `/remittences/${props.match.params.id}/lines`, {\n params: {\n ...{\n ...filters,\n name: filters?.name ? filters?.name : undefined,\n },\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setLines(r);\n },\n });\n };\n\n const loadRemittence = () => {\n cxt.api('GET', `/remittences/${props.match.params.id}`, {\n params: {\n trash: true,\n },\n success: (r) => {\n setRemittence(r.remittence);\n loadLines();\n\n setCreating(false);\n },\n });\n };\n\n const downloadCSVLines = () => {\n const params = {};\n\n if (selectRows.length > 0) {\n const newLines = [];\n\n selectRows.forEach((row) => newLines.push(row.id));\n\n params.idLines = newLines;\n }\n\n downloadFile(\n `/remittences/${remittence.id}.csv`,\n 'text/csv',\n params,\n 'remesa.csv',\n );\n };\n\n const saveRemittence = () => {\n const params = subsetObject(remittence, [\n 'name',\n 'status',\n 'issueDate',\n ]);\n\n // Create\n if (creating) {\n cxt.api('POST', `/scs/${cxt.sc.id}/remittences`, {\n params,\n success: (r) => {\n cxt.showMessage('S', cxt.t(translations.generic.created));\n history.push(`/remittences/${r.remittence.id}`);\n },\n });\n\n // Update\n } else {\n cxt.api('PUT', `/remittences/${remittence.id}`, {\n params,\n success: () => {\n cxt.showMessage('S', cxt.t('Saved'));\n },\n });\n }\n };\n\n const delRemittence = () => {\n cxt.api('DELETE', `/remittences/${remittence.id}`, {\n confirmation: true,\n success: () => {\n history.push('/scs/remittences');\n cxt.showMessage('S', cxt.t('Deleted'));\n },\n });\n };\n\n const recoverRemittence = () => {\n cxt.api('PUT', `/remittences/${remittence.id}/recover`, {\n confirmation: true,\n success: () => {\n cxt.showMessage('S', cxt.t('Recovered'));\n loadRemittence();\n },\n });\n };\n\n const handleForm = ({ name, value }) => {\n setRemittence({ ...remittence, [name]: value });\n };\n\n const downloadQ19 = () => {\n /* !!ATENCION!! Añadido parche para que en el centro de Puerto Real (3129) se envíe el parámetro fillBICs: true. */\n downloadFile(\n `/remittences/${remittence.id}.q19`,\n 'text/xml',\n fillBics ? { fillBICs: true } : null,\n 'remesaSEPA.xml',\n );\n };\n\n const checkRemittence = (fix = false) => {\n cxt.api('PUT', `/remittences/${remittence.id}/check`, {\n confirmation: fix,\n params: {\n fix,\n },\n success: () => {\n cxt.showMessage('S', cxt.t('Saved'));\n loadRemittence();\n if (fix) checkRemittence();\n },\n });\n };\n\n const updateRemittenceLine = (remittenceLineUpdated) => {\n setLines({\n ...lines,\n rows: updateElementInArray(lines.rows, remittenceLineUpdated),\n });\n setOpenRemittenceLine(null);\n };\n\n /**\n * Filter changes\n */\n useEffect(() => {\n loadLines();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters.status]);\n\n const rejectSelectedLines = (selectedLines) => {\n cxt.api('POST', '/batch', {\n confirmation: true,\n params: {\n calls: selectedLines.map((line) => ({\n method: 'PUT',\n endpoint: `/remittences/lines/${line.id}/reject`,\n })),\n },\n success: () => {\n loadLines();\n },\n });\n };\n\n /**\n * Init\n */\n useEffect(() => {\n const idRemittence = props.match.params.id;\n if (idRemittence) {\n if (idRemittence === 'create') {\n // Init data to create\n setRemittence({\n name: '',\n });\n\n setCreating(true);\n } else {\n loadRemittence();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.match.params.id]);\n\n return (\n history.push(getPath('remittences'))}\n title={remittence ? remittence.name : 'Report'}\n >\n \n \n \n {remittence && (\n <>\n {!creating && (\n <>\n \n \n \n\n \n \n \n \n )}\n\n \n \n\n \n\n \n \n \n setFillBics(!fillBics)\n }\n />\n }\n label=\"Rellenar BICs al descargar SEPA\"\n />\n \n \n\n \n \n {remittence.trash && (\n \n \n recoverRemittence()\n }\n />\n \n )}\n\n {!remittence.trash && (\n \n \n saveRemittence()\n }\n />\n \n )}\n\n {!creating && !remittence.trash && (\n <>\n \n \n delRemittence()\n }\n />\n \n\n \n \n onClick={() =>\n downloadQ19()\n }\n />\n \n \n \n onClick={() =>\n setOpenUploadFile(\n true,\n )\n }\n />\n \n \n )}\n \n \n \n )}\n \n \n\n {remittence && !remittence.trash && !creating && lines && (\n \n \n \n setFilters({ ...filters, [name]: value })\n }\n onFilter={loadLines}\n downloadButton={{\n onClick: () => downloadCSVLines(),\n }}\n menu={[\n {\n caption: cxt.t('Check'),\n icon: ,\n onClick: () => checkRemittence(false),\n },\n {\n caption: cxt.t('Fix'),\n icon: ,\n onClick: () => checkRemittence(true),\n },\n {\n divider: true,\n caption: cxt.t('All'),\n icon: filters.status ? null : (\n \n ),\n onClick: () =>\n setFilters({\n ...filters,\n status: null,\n }),\n },\n {\n caption: cxt.t(\n 'sc.remittence.withErrors',\n ),\n icon:\n filters.status === 'ERROR' ? (\n \n ) : null,\n onClick: () =>\n setFilters({\n ...filters,\n status: 'ERROR',\n }),\n },\n {\n caption: cxt.t(\n 'sc.remittence.onlyReturn',\n ),\n icon:\n filters.status === 'RETURNED' ? (\n \n ) : null,\n onClick: () =>\n setFilters({\n ...filters,\n status: 'RETURNED',\n }),\n },\n ]}\n />\n\n (\n \n \n setOpenRemittenceLine(\n row,\n )\n }\n >\n {row.description}\n \n \n \n \n setMshipChosen(\n row.payment\n ?.user\n ?.mship\n .id,\n )\n }\n >\n {row.name}\n \n \n \n\n {row.errors &&\n row.errors.map((error) => (\n \n - {error}\n \n ))}\n \n ),\n },\n {\n type: 'dmy',\n title: cxt.t('Returned'),\n field: 'rejected',\n },\n {\n type: 'counter',\n title: cxt.t('Errors'),\n value: (row) =>\n row.errors && row.errors.length,\n },\n {\n type: 'price',\n title: cxt.t('Price'),\n field: 'price',\n value: (row) => (\n \n setIdPaymentModal(\n row.payment.id,\n )\n }\n >\n {formatPriceByLocale(\n row.price,\n row.priceShape?.currency,\n row.priceShape?.locale,\n )}\n \n ),\n },\n ]}\n onFetch={loadLines}\n selection={{\n actions: [\n {\n caption: cxt.t('Refund'),\n onClick: rejectSelectedLines,\n },\n ],\n }}\n />\n \n \n )}\n\n {idPaymentModal && (\n setIdPaymentModal(null)}\n />\n )}\n\n setOpenRemittenceLine(null)}\n onUpdate={updateRemittenceLine}\n />\n\n setOpenUploadFile(false)}\n uploadParams={{ idRemittence: remittence && remittence.id }}\n onUploaded={(response) => {\n if (\n response &&\n response.remittenceLines &&\n response.remittenceLines.rows\n ) {\n setSelectRows(response.remittenceLines.rows);\n }\n setOpenUploadFile(false);\n loadLines();\n }}\n />\n\n {\n setMshipChosen(null);\n loadLines();\n }}\n />\n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport {\n AppContext,\n SttTopControls,\n SttTable,\n SttButtonFab,\n} from '../../../sporttia/all';\nimport {\n useCrud,\n usePageHeader,\n useToggle,\n useTranslations,\n useTuples,\n} from '../../../lib/hooks';\nimport FacilitySet from './FacilitySet';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function FacilitySets() {\n usePageHeader('FacilityGroups');\n const cxt = useContext(AppContext);\n const { translate } = useTranslations();\n const [facilitySets, setFacilitySets, , Get] = useCrud();\n const [facilitySetIdAndName, setFacilitySetIdAndName] = useState(null);\n\n const [filters, setFilter] = useTuples({\n status: 'ALL',\n });\n\n // Trash hook\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadFacilitySets();\n });\n\n /**\n * Get facility sets\n */\n function loadFacilitySets(params = { page: 1, rows: 20 }) {\n Get(`/scs/${cxt.sc.id}/facilitysets`, {\n name: filters.name,\n status: filters.status === 'ALL' ? '' : filters.status,\n ...params,\n trash,\n }).then((response) => {\n setFacilitySets(response);\n });\n }\n\n function goCreateNew() {\n setFacilitySetIdAndName({ id: 'create', name: translate('NewGroup') });\n }\n\n return (\n <>\n \n loadFacilitySets()}\n onToggleTrash={toggleTrash}\n />\n\n {\n setFacilitySetIdAndName({ id: row.id, name: row.name });\n }}\n columns={[\n {\n field: 'name',\n title: cxt.t('Name'),\n align: 'left',\n },\n {\n field: 'position',\n type: 'position',\n title: cxt.t('Position'),\n },\n {\n field: 'created',\n title: cxt.t('Created'),\n value: (r) =>\n new DateBuilder(\n r?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang.key,\n ).dmy(),\n },\n {\n field: 'status',\n type: 'active',\n title: cxt.t('Active'),\n value: (row) => row.status === 'ACTIVE',\n },\n ]}\n onFetch={loadFacilitySets}\n />\n \n \n\n {facilitySetIdAndName && (\n {\n setFacilitySetIdAndName(null);\n }}\n title={facilitySetIdAndName.name}\n />\n )}\n \n );\n}\n","import React, { useContext, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Box, Chip, Paper } from '@material-ui/core';\nimport ViewModuleIcon from '@material-ui/icons/ViewModule';\nimport {\n AppContext,\n SttTopControls,\n SttButtonFab,\n SttTable,\n SttChipSport,\n} from '../../../sporttia/all';\nimport {\n useCrud,\n useToggle,\n useTuples,\n usePageHeader,\n} from '../../../lib/hooks';\nimport { getPath } from '../../Pages';\n\nimport Facility from './Facility';\n\nexport default function Facilities() {\n usePageHeader('facilities');\n\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const [filters, setFilter] = useTuples({\n status: 'ACTIVE',\n });\n\n // crud\n const [facilities, setFacilities, , Get] = useCrud();\n\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadFacilities();\n }, false);\n\n const [facilityChosen, setFacilityChosen] = useState({\n id: null,\n trash: null,\n });\n\n // Load list\n const loadFacilities = (params = { page: 1, rows: 20 }) => {\n if (filters?.status === 'ALL') {\n filters.status = '';\n }\n Get(`/scs/${cxt.sc.id}/facilities`, {\n ...params,\n ...filters,\n trash,\n }).then((response) => {\n setFacilities(response);\n });\n };\n\n // Render\n return (\n \n history.push(getPath('facilitySets')),\n icon: ,\n },\n ]}\n />\n\n \n setFacilityChosen({ id: row.id, trash: row.trash })\n }\n columns={[\n {\n field: 'position',\n type: 'counter',\n title: '#',\n width: 10,\n },\n {\n field: 'name',\n title: cxt.t('Name'),\n align: 'left',\n value: (facility) => (\n <>\n {facility.name}\n \n \n ),\n },\n {\n width: 215,\n title: cxt.t('Status'),\n type: 'text',\n value: (row) => cxt.t(`FS.${row.status}`),\n },\n {\n field: 'mandatoryMobile',\n title: 'M',\n type: 'active',\n },\n {\n field: 'mandatoryEmail',\n title: 'E',\n type: 'active',\n },\n {\n field: 'sets',\n title: cxt.t('Groups'),\n value: (row) =>\n row.sets &&\n row.sets.map((set, i) => (\n 0)}>\n \n \n )),\n },\n {\n field: 'terrains',\n title: cxt.t('Terrains'),\n value: (row) =>\n row.terrains &&\n row.terrains.map((terrain, i) => (\n 0)}>\n \n \n )),\n },\n {\n field: 'numBookings',\n title: cxt.t('Bookings'),\n type: 'counter',\n },\n ]}\n onFetch={loadFacilities}\n />\n {\n setFacilityChosen({ id: null, trash: false });\n loadFacilities();\n }}\n />\n setFacilityChosen({ id: 0, trash: false })}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport moment from 'moment';\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\nimport GroupIcon from '@material-ui/icons/Group';\nimport { useHistory } from 'react-router-dom';\nimport { AssignmentInd } from '@material-ui/icons';\nimport {\n AppContext,\n SttChipFacilityRow,\n SttChipUnlocker,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\nimport { useToggle, useTuples } from '../../../lib/hooks';\nimport { DevicesKeysDialog } from './DevicesKeysDialog';\nimport DeviceDetailsDialog from './DeviceDetailsDialog';\nimport { getPath } from '../../Pages';\nimport { DevicesAuthorizationsDialog } from './DevicesAuthorizationsDialog';\n\nexport default function Devices() {\n const cxt = useContext(AppContext);\n\n const [devices, setDevices] = useState(null);\n const [filters, setFilter] = useTuples({\n name: '',\n });\n const history = useHistory();\n\n // Trash hook\n const [trash, toggleTrash] = useToggle(() => {\n loadDevices();\n });\n // Keys dialog hook\n const [openKeysDialog, setOpenKeysDialog] = useState(false);\n const [openAuthorizations, setOpenAuthorizations] = useState(false);\n const [deviceIdSelected, setDeviceIdSelected] = useState(null);\n\n useEffect(() => {\n cxt.setHeader({ title: cxt.t('Devices') });\n }, [deviceIdSelected]);\n\n /**\n * Load devices\n */\n const loadDevices = (p = { page: 1, rows: 20 }) => {\n cxt.api('GET', `/scs/${cxt.sc.id}/devices`, {\n params: {\n page: p.page,\n rows: p.rows,\n ...filters,\n trash,\n },\n success: (r) => {\n setDevices(r);\n },\n });\n };\n\n // Render\n return (\n \n setFilter({ name, value })}\n iconButtons={[\n {\n icon: ,\n onClick: () => setOpenKeysDialog(true),\n },\n {\n icon: ,\n onClick: () => setOpenAuthorizations(true),\n },\n {\n icon: ,\n onClick: () => history.push(getPath('devicesSpaces')),\n },\n ]}\n onFilter={loadDevices}\n />\n setDeviceIdSelected(row.id),\n },\n {\n title: cxt.t('Type'),\n // This 'row' is not an Unlocker, it's a Device, but they 'type' is the same so yeah\n value: (row) => (\n \n ),\n },\n {\n title: cxt.t('Lights'),\n type: 'active',\n field: 'lightOn',\n },\n {\n title: 'APB',\n type: 'active',\n field: 'antiPassback',\n },\n {\n title: cxt.t('Open'),\n type: 'active',\n field: 'foorOpen',\n },\n {\n title: 'RO',\n type: 'active',\n field: 'remoteOpening',\n },\n {\n title: cxt.t('Counter'),\n type: 'text',\n field: 'counter',\n },\n {\n title: cxt.t('Date'),\n value: (row) =>\n row.localDate\n ? moment(row.localDate).format('D MMM YYYY')\n : '',\n },\n {\n title: cxt.t('Facilities'),\n value: (row) => (\n \n ),\n },\n ]}\n />\n\n setOpenKeysDialog(false)}\n />\n\n setOpenAuthorizations(false)}\n />\n\n {\n setDeviceIdSelected(null);\n loadDevices();\n }}\n />\n \n );\n}\n","import React, { useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport { AppContext, SttTabs } from '../../../sporttia/all';\n\nimport DeviceDetails from './DeviceDetails';\nimport DeviceAccesses from './DeviceAccesses';\nimport DeviceAuths from './DeviceAuths';\n\nexport default function Device({ match }) {\n const cxt = useContext(AppContext);\n\n // Tabs\n const tabs = [\n {\n caption: cxt.t('Detail'),\n component: ,\n },\n {\n caption: cxt.t('Authorizations'),\n component: ,\n },\n {\n caption: cxt.t('Accesses'),\n component: ,\n show: match.params.id !== 'create',\n },\n ];\n\n return (\n \n \n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Link, Chip, Box, Paper } from '@material-ui/core';\nimport { useQueryClient } from 'react-query';\nimport { AppContext, SttButtonFab } from '../../../sporttia/all';\nimport { fullName, checkOffTag, copyToClipboard } from '../../../lib/utils';\nimport {\n useInteractionsFiles,\n usePageHeader,\n useQueryFilters,\n} from '../../../lib/hooks';\nimport { SPORTCENTER_USERS } from '../../../lib/queryKeys';\nimport SttCachedTable from '../../../sporttia/SttCachedTable';\nimport useScsService from '../../../services/ScsService';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport UserCreationDialog from '../../../components/dialogs/UserCreationDialog';\nimport Mship from './Mship';\nimport translations from '../../../translations';\n\n/**\n * View where the sporttia sportcenter can see the list of mships (users).\n * @returns {JSX.Element}\n */\nexport default function Mships() {\n usePageHeader('users');\n const cxt = useContext(AppContext);\n const scsService = useScsService();\n const queryClient = useQueryClient();\n const { downloadFile } = useInteractionsFiles();\n const [mshipId, setMshipId] = useState(null);\n const [filters, setFilters] = useQueryFilters({}, SPORTCENTER_USERS);\n const [creatingUserDialogOpen, setCreatingUserDialogOpen] = useState(false);\n\n /**\n * Método para descargar los ficheros de los informes.\n * TODO migrar a react-query\n * @param format [pdf|csv] string format.\n */\n const download = (format) => {\n const urlQuery = Object.keys(filters)\n .filter((key) => filters[key] !== null)\n .map((key) => `${key}=${filters[key]}`)\n .join('&');\n\n downloadFile(\n `/scs/${cxt.sc.id}/mships.${format}?${urlQuery}`,\n format === 'pdf' ? 'application/pdf' : 'text/csv',\n null,\n `users.${format}`,\n );\n };\n\n /**\n * In this case, the value of group and city is changed to idGroup and idCity.\n * @param updatedFilters Object with the parameters returned by the SttTopFilteringControls component.\n */\n const doFiltering = (updatedFilters) => {\n const formatedFilters = { ...updatedFilters };\n\n delete formatedFilters.group;\n delete formatedFilters.city;\n\n if (updatedFilters?.group) {\n formatedFilters.idGroup = updatedFilters?.group?.id;\n }\n\n if (updatedFilters?.city) {\n formatedFilters.idCity = updatedFilters?.city?.id;\n }\n\n setFilters(formatedFilters);\n };\n\n return (\n \n download('pdf'),\n },\n {\n caption: `${cxt.t(translations.generic.download)} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n />\n\n \n scsService.getScsMships(cxt?.sc?.id, params)\n }\n queryParams={filters}\n columns={[\n {\n title: '#',\n type: 'tooltip',\n value: (row) => ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n type: 'avatar',\n value: (row) => (row.img ? row.img.url : null),\n },\n {\n field: 'name',\n title: cxt.t('Name'),\n align: 'left',\n value: (r) => (\n <>\n setMshipId(r.id)}\n >\n \n {r.fullName\n ? r.fullName\n : cxt.t('UserWithoutName')}\n \n \n\n
\n {r.user &&\n (checkOffTag(r.user.login) ? (\n \n {cxt.t('UserCancelled')}\n \n ) : (\n `@${r.user.login}`\n ))}\n {r.age && (\n \n ,{' '}\n {r.age\n ? `${r.age} ${cxt.t(\n translations.generic.years,\n )}`\n : ''}\n \n )}\n {r.tutor && (\n \n \n \n )}\n\n {r.notes && (\n \n {r.notes}\n \n )}\n \n ),\n },\n {\n field: 'certified',\n title: 'C',\n type: 'active',\n value: (r) =>\n r.certified !== undefined && r.certified !== null,\n },\n {\n field: 'withEmail',\n title: cxt.t(translations.generic.email),\n type: 'active',\n value: (r) => r.email !== null,\n },\n {\n field: 'numBookings',\n title: cxt.t('bookings'),\n type: 'counter',\n },\n {\n field: 'amount',\n title: cxt.t(translations.generic.purse),\n type: 'price',\n },\n {\n field: 'debt',\n title: cxt.t('Debt'),\n type: 'price',\n value: (row) => ({ paid: false, price: row.debt }),\n },\n {\n field: 'total',\n title: cxt.t('Total'),\n type: 'price',\n },\n ]}\n />\n\n {\n setMshipId(null);\n queryClient.invalidateQueries(SPORTCENTER_USERS);\n }}\n />\n\n {\n setCreatingUserDialogOpen(false);\n }}\n onCreate={() => {\n queryClient.invalidateQueries(SPORTCENTER_USERS);\n }}\n />\n\n setCreatingUserDialogOpen(true)} />\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport moment from 'moment';\nimport { CloudDownload as CloudDownloadIcon } from '@material-ui/icons';\nimport { Box, Paper } from '@material-ui/core';\nimport BookingDialog from '../../../components/dialogs/bookingDialog/BookingDialog';\nimport {\n AppContext,\n SttTopControls,\n SttTable,\n SttChipUser,\n} from '../../../sporttia/all';\nimport { useInteractionsFiles, useToggle } from '../../../lib/hooks';\nimport {\n copyToClipboard,\n formatPriceByLocale,\n fullName,\n} from '../../../lib/utils';\nimport DateBuilder from '../../../lib/DateBuilder';\n\nexport default function Bookings() {\n const cxt = useContext(AppContext);\n const { downloadFile } = useInteractionsFiles();\n const [filters, setFilters] = useState({\n name: '',\n ini: moment().startOf('month').format('YYYY-MM-DD'),\n end: moment().format('YYYY-MM-DD'),\n });\n const [bookings, setBookings] = useState([]);\n const [bookingId, setBookingId] = useState(null);\n\n function loadBookings(params = { page: 1, rows: 20 }) {\n cxt.api('GET', `/scs/${cxt.sc.id}/bookings`, {\n params: {\n ...params,\n ...filters,\n // eslint-disable-next-line no-use-before-define\n trash,\n },\n success: (result) => {\n setBookings(result);\n },\n });\n }\n\n // Trash hook\n const [trash, toggleTrash] = useToggle(() => {\n loadBookings();\n });\n\n // set page title\n useEffect(() => {\n cxt.setHeader({ title: cxt.t('bookings') });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Download booking PDF\n */\n function download(format) {\n const type = format === 'pdf' ? 'application/pdf' : 'text/csv';\n downloadFile(\n `/scs/${cxt.sc.id}/bookings.${format}`,\n type,\n { page: 1, ...filters },\n `${cxt.t('Bookings')} ${filters.ini\n .split('-')\n .reverse()\n .join('-')} - ${filters.end\n .split('-')\n .reverse()\n .join('-')}.${format}`,\n );\n }\n\n // Render\n return (\n \n \n new Promise((resolve, reject) => {\n cxt.api('GET', `/scs/${cxt.sc.id}/facilities`, {\n params: { page: 1, rows: 1000 },\n success: (response) =>\n resolve(response.rows),\n error: (response) => reject(response.msg),\n });\n }),\n },\n {\n caption: cxt.t('Source'),\n name: 'source',\n type: 'select',\n value: filters.source,\n options: cxt.constants.bookingSources,\n cleanable: true,\n },\n {\n caption: cxt.t('Begin'),\n name: 'ini',\n type: 'date',\n value: filters.ini,\n onChange: ({ name, value }) =>\n setFilters({\n ...filters,\n [name]: value\n ? moment(value).format('YYYY-MM-DD')\n : '',\n }),\n },\n {\n caption: cxt.t('End'),\n name: 'end',\n type: 'date',\n value: filters.end,\n onChange: ({ name, value }) =>\n setFilters({\n ...filters,\n [name]: value\n ? moment(value).format('YYYY-MM-DD')\n : '',\n }),\n },\n {\n caption: `${cxt.t('dni')}/CIF`,\n name: 'dni',\n type: 'text',\n value: filters.dni,\n },\n ]}\n menu={[\n {\n caption: `${cxt.t('Download')} PDF`,\n onClick: () => download('pdf'),\n },\n {\n caption: `${cxt.t('Download')} CSV`,\n onClick: () => download('csv'),\n },\n ]}\n menuIcon={}\n onChange={({ name, value }) => {\n setFilters({ ...filters, [name]: value });\n }}\n onFilter={() => loadBookings()}\n onToggleTrash={toggleTrash}\n />\n\n setBookingId(row.id)}\n columns={[\n {\n title: '#',\n type: 'tooltip',\n value: (row) => ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: cxt.t('Created'),\n value: (row) => (\n <>\n \n {new DateBuilder(\n row?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang.key,\n ).dmy()}\n \n {'creator' in row &&\n (row.creator.id === row.user.id ? (\n \n ) : (\n \n ))}\n \n ),\n },\n {\n field: 'name',\n title: cxt.t('User'),\n align: 'left',\n value: (row) => fullName(row.user),\n },\n {\n field: 'ini',\n type: 'dmy',\n checkOld: true,\n title: cxt.t('Date'),\n },\n {\n type: 'hmRange',\n title: cxt.t('Time'),\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Facility'),\n type: 'facility',\n field: 'facility',\n },\n {\n field: 'debt',\n align: 'right',\n type: 'debt',\n title: cxt.t('Debt'),\n value: (row) => row.price - row.totalPaid,\n },\n {\n field: 'price',\n align: 'right',\n type: 'price',\n title: cxt.t('Total'),\n value: (row) =>\n formatPriceByLocale(\n row.price,\n row.priceShape?.currency,\n row.priceShape?.locale,\n ),\n },\n ]}\n onFetch={loadBookings}\n />\n\n loadBookings()}\n onClose={() => setBookingId(null)}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Link, Paper } from '@material-ui/core';\nimport moment from 'moment';\nimport { useQueryClient } from 'react-query';\nimport SttCachedTable from '../../../sporttia/SttCachedTable';\nimport { AppContext, SttButtonFab, SttChipUser } from '../../../sporttia/all';\nimport { SPORTCENTER_ACTIVITIES } from '../../../lib/queryKeys';\nimport useScsService from '../../../services/ScsService';\nimport { useCrud, usePageHeader, useQueryFilters } from '../../../lib/hooks';\nimport Activity from './Activity';\nimport { copyToClipboard, fullName } from '../../../lib/utils';\nimport { SttTopFilteringControls } from '../../../sporttia/SttTopFilteringControls';\nimport { SttActivitiesDuplicationDialog } from '../../../sporttia/dialogs/SttActivitiesDuplicationDialog';\n\nexport default function Activities() {\n usePageHeader('Activities');\n const queryClient = useQueryClient();\n\n const [scTags, setScTags] = useState();\n const [activity, setActivity] = useState({\n id: null,\n trash: false,\n });\n const scsService = useScsService();\n const [filters, setFilters] = useQueryFilters(\n {\n name: '',\n year: moment().format('YYYY'),\n type: '',\n idSport: '',\n status: '',\n tags: '',\n trash: false,\n },\n SPORTCENTER_ACTIVITIES,\n );\n const [selectRows, setSelectRows] = useState([]);\n const [activitiesToDuplicate, setActivitiesToDuplicate] = useState([]);\n const [, , , Get, , ,] = useCrud();\n\n const cxt = useContext(AppContext);\n\n const getSportCenterTags = () => {\n if (cxt.sc?.id) {\n Get(`/scs/${cxt.sc.id}/tags`).then((response) =>\n setScTags(response?.rows),\n );\n }\n };\n\n // Init\n useEffect(() => {\n getSportCenterTags();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Cargando...\n if (!scTags) {\n return null;\n }\n\n return (\n \n ({\n label: tag.name,\n value: tag.id,\n })),\n },\n ]}\n onFilter={(value) => {\n let year = null;\n if (value?.year) {\n year = value.year.toString();\n }\n setFilters({ ...value, year });\n }}\n trashAction\n />\n\n \n scsService.getActivities(cxt?.sc?.id, params)\n }\n queryParams={filters}\n prefetching={false}\n setSelectRows={setSelectRows}\n onClickRow={(row) => {\n setActivity({ id: row.id, trash: row.trash });\n }}\n columns={[\n {\n title: '#',\n type: 'tooltip',\n value: (row) => ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: cxt.t('Name'),\n align: 'left',\n width: 250,\n value: (row) => (\n
\n {row.status === 'CLOSE' ? (\n \n {row.user\n ? fullName(row.user)\n : row.name}\n \n ) : (\n \n {row.user\n ? fullName(row.user)\n : row.name}\n \n )}\n
\n {row.typeLang}\n {row.numClasses > 0 && (\n {` - ${row.numClasses} ${cxt.t(\n 'Classes',\n )}`}\n )}\n
\n
\n ),\n },\n {\n type: 'sport',\n title: cxt.t('Sport'),\n value: (row) => row.sport?.name,\n },\n {\n title: cxt.t('Teacher'),\n value: (row) => (\n \n ),\n },\n {\n type: 'period',\n title: cxt.t('Inscription'),\n value: (row) => ({\n ini: row.inscIni,\n end: row.inscEnd,\n }),\n },\n {\n type: 'period',\n title: cxt.t('Period'),\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n type: 'counter',\n title: cxt.t('Students'),\n value: (row) =>\n `${row.numStudents} / ${row.maxStudents || '∞'}`,\n },\n {\n type: 'price',\n title: cxt.t('Total'),\n field: 'total',\n },\n {\n type: 'debt',\n title: cxt.t('Debt'),\n value: (row) => ({ price: row?.debt }),\n },\n ]}\n selection={{\n actions: [\n {\n caption: 'Duplicar cursos',\n onClick: () => {\n setActivitiesToDuplicate(\n selectRows.map(\n (activitySelected) =>\n activitySelected?.id,\n ),\n );\n },\n },\n ],\n }}\n />\n {\n if (newActivity) {\n setActivity(newActivity);\n }\n queryClient.invalidateQueries(SPORTCENTER_ACTIVITIES);\n }}\n onClose={() => {\n setActivity({ id: null, trash: false });\n }}\n />\n setActivity({ id: 'create', trash: false })}\n />\n\n {activitiesToDuplicate?.length > 0 && (\n setActivitiesToDuplicate([])}\n onDuplicate={() => {\n setActivitiesToDuplicate([]);\n }}\n />\n )}\n
\n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport moment from 'moment';\nimport { CloudDownload as CloudDownloadIcon } from '@material-ui/icons';\nimport {\n AppContext,\n SttTopControls,\n SttTable,\n SttChipGroup,\n SttButtonFab,\n} from '../../../sporttia/all';\nimport CreateGroupDialog from './CreateGroupDialog';\nimport {\n useCrud,\n usePageHeader,\n useToggle,\n useTuples,\n} from '../../../lib/hooks';\nimport Group from './Group';\nimport { copyToClipboard } from '../../../lib/utils';\nimport DiscountTooltip from '../../../components/discounts/DiscountTooltip';\nimport DateBuilder from '../../../lib/DateBuilder';\n\n// Users & Groups screen\nexport default function Groups() {\n usePageHeader('GroupsAndAbonados');\n const cxt = useContext(AppContext);\n\n const [groups, setGroups, , Get] = useCrud([]);\n const [group, setGroup] = useState({ id: null, trash: false });\n const [filters, setFilter] = useTuples({\n name: '',\n year: moment().get('year'),\n inTime: true,\n types: 'NORMAL,ABONADOS,FAMILY',\n });\n\n const [dialog, setDialog] = useState(false);\n\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadGroups();\n });\n\n /**\n * Load groups\n */\n function loadGroups(params = { rows: 20, page: 1 }) {\n const { inTime, ...restFilters } = filters;\n const formatedFilters = inTime ? filters : restFilters;\n\n Get(`/scs/${cxt.sc.id}/groups`, {\n ...params,\n ...formatedFilters,\n trash: !!trash,\n includeChildren: true,\n }).then((response) => {\n if (response.rows) {\n setGroups(response);\n }\n });\n }\n\n return (\n \n loadGroups(),\n },\n ]}\n extraFields={[\n {\n type: 'year',\n name: 'year',\n caption: cxt.t('Year'),\n value: filters.year,\n startYear: moment().year(),\n years: {\n past: 5,\n future: 3,\n },\n },\n {\n type: 'switch',\n name: 'inTime',\n caption: cxt.t('InForce'),\n checked: filters.inTime,\n },\n {\n caption: cxt.t('Type'),\n name: 'types',\n type: 'selectMulti',\n value: filters.types,\n xs: 12,\n sm: 6,\n options: [\n { label: cxt.t('GT.NORMAL'), value: 'NORMAL' },\n { label: cxt.t('GT.SPORT'), value: 'SPORT' },\n { label: cxt.t('GT.ABONADOS'), value: 'ABONADOS' },\n { label: cxt.t('GT.FAMILY'), value: 'FAMILY' },\n ],\n },\n ]}\n menuIcon={}\n onChange={setFilter}\n onFilter={() => loadGroups()}\n // TODO: enable trash switch when API supports querying deleted groups (and its users etc)\n onToggleTrash={toggleTrash}\n />\n\n {/* --- LIST --- */}\n ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: cxt.t('Name'),\n type: 'link',\n field: 'name',\n align: 'left',\n width: 300,\n to: '',\n onClick: (row) =>\n setGroup({ id: row.id, trash: row.trash }),\n },\n {\n title: cxt.t('Type'),\n width: 125,\n value: (row) => ,\n },\n {\n title: cxt.t('Created'),\n field: 'created',\n value: (r) =>\n new DateBuilder(\n r?.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang.key,\n ).dmy(),\n },\n {\n title: cxt.t('Fee'),\n type: 'enrollment',\n value: (row) => ({\n enrollment: row.enrollmentPrice,\n fee: row.feePrice,\n interval: row.feeInterval,\n }),\n },\n {\n title: '',\n value: (row) =>\n row.discounts && (\n \n ),\n },\n {\n title: cxt.t('Period'),\n type: 'period',\n value: (row) => ({ ini: row.ini, end: row.end }),\n },\n {\n title: cxt.t('Online'),\n type: 'active',\n field: 'purchaseOnline',\n },\n {\n title: cxt.t('Active'),\n field: 'numActiveUsers',\n },\n {\n title: cxt.t('Max'),\n field: 'maxMembers',\n type: 'nonZero',\n },\n ]}\n onFetch={loadGroups}\n />\n {group.id && (\n loadGroups()}\n onClose={() => setGroup({ id: null, trash: false })}\n />\n )}\n loadGroups()}\n onClose={() => setDialog(false)}\n />\n setDialog(true)} />\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Chip, Paper } from '@material-ui/core';\nimport { AppContext } from '../../../sporttia/AppContext';\nimport { SttButtonFab, SttTopControls, SttTable } from '../../../sporttia/all';\nimport { usePageHeader, useToggle } from '../../../lib/hooks';\nimport Rate from './Rate';\nimport translations from '../../../translations';\nimport { copyToClipboard, formatPriceByLocale } from '../../../lib/utils';\n\nexport default function Rates() {\n usePageHeader(translations.generic.rates);\n\n const cxt = useContext(AppContext);\n\n const [rates, setRates] = useState([]);\n const [filters, setFilters] = useState({ name: '', trash: 0 });\n const [page, setPage] = useState(1);\n\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadRates();\n });\n\n const [rateChosen, setRateChosen] = useState({\n id: null,\n trash: null,\n });\n\n function loadRates(params = { page: 1, rows: 20 }) {\n cxt.api('GET', `/scs/${cxt.sc.id}/rates`, {\n params: {\n ...params,\n name: filters.name,\n trash,\n },\n success: (response) => {\n setRates(response);\n },\n });\n }\n\n return (\n \n \n setFilters((prev) => ({ ...prev, [name]: value }))\n }\n onFilter={loadRates}\n onToggleTrash={toggleTrash}\n />\n {\n setPage(value);\n }}\n onClickRow={(row) =>\n setRateChosen({ id: row.id, trash: row.trash })\n }\n columns={[\n {\n title: '#',\n type: 'tooltip',\n value: (row) => ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n field: 'name',\n title: cxt.t(translations.generic.name),\n align: 'left',\n },\n {\n field: 'individual',\n width: 95,\n title: cxt.t(translations.generic.individual),\n type: 'active',\n value: (row) => row.individual === true,\n },\n {\n type: 'price',\n title: `${cxt.t(translations.generic.price)}`,\n align: 'center',\n value: (row) =>\n formatPriceByLocale(\n row.prices[0].price,\n cxt.sc?.city?.country?.currency,\n ),\n },\n {\n type: 'number',\n title: `${cxt.t(translations.generic.duration)}`,\n value: (row) => `${row.prices[0].duration}m`,\n },\n {\n title: cxt.t(translations.generic.groups),\n value: (row) =>\n row.groups?.map((item) => (\n \n )),\n },\n ]}\n onFetch={loadRates}\n />\n\n {rateChosen.id && (\n {\n setRateChosen({ id: null, trash: null });\n loadRates({ page, rows: 20 });\n }}\n />\n )}\n\n setRateChosen({ id: 'create', trash: 0 })}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport {\n AppContext,\n SttTopControls,\n SttTable,\n SttChipFileFormat,\n SttChipFileType,\n SttFileDialog,\n SttButtonFab,\n SttUploadDialog,\n} from '../../sporttia/all';\nimport { copyToClipboard, updateElementInArray } from '../../lib/utils';\nimport DateBuilder from '../../lib/DateBuilder';\n\nexport default function Files() {\n const cxt = useContext(AppContext);\n const [files, setFiles] = useState();\n const [openFileId, setOpenFileId] = useState();\n const [uploadFileOpen, setUploadFileOpen] = useState(false);\n const [filters, setFilters] = useState({\n name: '',\n type: null,\n });\n\n /**\n * Load files\n */\n const loadFiles = (p = { page: 1, rows: 20 }) => {\n cxt.api('GET', `/scs/${cxt.sc.id}/files`, {\n params: {\n ...filters,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setFiles(r);\n },\n });\n };\n\n /**\n * Open file\n */\n const openFile = (file) => {\n setOpenFileId(file.id);\n };\n\n /**\n * Update file\n */\n const updateFile = (file) => {\n setFiles({\n ...files,\n rows: updateElementInArray(files.rows, file),\n });\n setOpenFileId(null);\n };\n\n /**\n * Init\n */\n useEffect(() => {\n cxt.setHeader({\n title: cxt.t('Documents'),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // -----| Render |-----\n return (\n \n \n setFilters({ ...filters, [name]: value })\n }\n onFilter={loadFiles}\n />\n\n ({ label: '#', value: row.id }),\n onClick: (row) =>\n copyToClipboard(row.id, () =>\n cxt.showMessage(\n 'S',\n cxt.t('copiedToClipboard'),\n ),\n ),\n },\n {\n title: cxt.t('Created'),\n field: 'created',\n value: (row) =>\n new DateBuilder(\n row.created,\n cxt?.sc?.timezone?.name,\n cxt?.lang?.key,\n ).dmy(),\n },\n {\n type: 'link',\n align: 'left',\n title: cxt.t('Name'),\n value: (row) => row.name || cxt.t('Noname'),\n onClick: (row) => openFile(row),\n },\n {\n title: cxt.t('Type'),\n field: 'type',\n value: (row) => ,\n },\n {\n title: cxt.t('Format'),\n value: (row) => (\n \n ),\n },\n {\n type: 'binaryStatus',\n title: cxt.t('Public'),\n field: 'public',\n },\n ]}\n onFetch={loadFiles}\n />\n\n setUploadFileOpen(true)} />\n\n setUploadFileOpen(false)}\n onUploaded={() => {\n setUploadFileOpen(false);\n loadFiles();\n }}\n />\n\n setOpenFileId(null)}\n onUpdate={updateFile}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport {\n AppContext,\n SttButtonFab,\n SttTable,\n SttTopControls,\n SttChipBono,\n} from '../../../sporttia/all';\nimport { useToggle, useTuples, useCrud } from '../../../lib/hooks';\nimport Bono from './Bono';\n\nexport default function Bonos() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n // Use Crud hook\n const [bonos, setBonos, , Get] = useCrud();\n const [bono, setBono] = useState({\n id: null,\n trash: false,\n });\n\n // Use tuples hook\n const [filters, setFilter] = useTuples({\n name: '',\n });\n\n // Use trash hook\n const [trash, toggleTrash] = useToggle(() => {\n loadBonos();\n });\n\n const [onTime, toggleOnTime] = useToggle(() => {\n loadBonos();\n }, true);\n\n useEffect(() => {\n cxt.setHeader({ title: cxt.t('Bonos') });\n }, []);\n\n function loadBonos(params = { page: 1, rows: 20 }) {\n Get(`/scs/${cxt.sc.id}/bonos`, {\n ...params,\n ...filters,\n trash,\n onTime,\n }).then(setBonos);\n }\n\n function goCreateNew() {\n setBono({ id: 'create', trash: false });\n }\n\n return (\n \n \n toggleOnTime(!!parseInt(value)),\n },\n ]}\n onToggleTrash={toggleTrash}\n onChange={setFilter}\n onFilter={loadBonos}\n />\n \n setBono({ id: row.id, trash: row.trash }),\n params: (row) => ({ trash: +row.trash }),\n },\n {\n title: cxt.t('Type'),\n type: 'text',\n value: (row) => ,\n },\n {\n title: cxt.t('Period'),\n type: 'period',\n value: (row) => ({\n ini: row.dateini,\n end: row.dateend,\n }),\n },\n {\n title: cxt.t('Week'),\n width: 150,\n type: 'weekdays',\n field: 'weekdays',\n },\n {\n title: cxt.t('hours'),\n type: 'text',\n value: (row) => `${row.timeini} - ${row.timeend}`,\n },\n {\n title: cxt.t('Uses'),\n type: 'text',\n value: (row) => `${row.amount} x ${row.duration}m`,\n },\n {\n title: cxt.t('Expiration'),\n type: 'text',\n value: (row) =>\n row.expirationLang\n ? row.expirationLang\n : cxt.t('0000-00-00 00:00:00'),\n },\n {\n title: `${cxt.t('Sold')} / ${cxt.t('Active')}`,\n type: 'text',\n value: (row) => `${row.numSold} / ${row.numActive}`,\n },\n {\n title: cxt.t('Consumed'),\n type: 'text',\n value: (row) =>\n row.numConsumptions < 0\n ? -row.numConsumptions\n : row.numConsumptions,\n },\n {\n align: 'right',\n title: cxt.t('Price'),\n type: 'price',\n field: 'price',\n },\n {\n align: 'right',\n title: cxt.t('Income'),\n type: 'price',\n field: 'totalIncome',\n },\n {\n title: cxt.t('Transferable'),\n type: 'active',\n field: 'transferable',\n },\n ]}\n />\n \n\n {\n setBonos({\n ...bonos,\n rows: bonos.rows\n .map((bono) =>\n bono.id === newBono.id ? newBono : bono,\n )\n .filter(\n (bono) => !!trash || (!trash && !bono.trash),\n ),\n });\n }}\n onClose={() => {\n setBono({ id: null, trash: false });\n loadBonos();\n }}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper, Box } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\nimport { AppContext, SttTable, SttTopControls } from '../../../sporttia/all';\nimport { updateElementInArray } from '../../../lib/utils';\nimport { useToggle } from '../../../lib/hooks';\nimport FileCSVLineDialog from './FileCSVLineDialog';\nimport ImportUsersDialog from './ImportUsersDialog';\n\nexport default function FileCSV(props) {\n const cxt = useContext(AppContext);\n const [lines, setLines] = useState();\n const [filters, setFilters] = useState({\n searchingString: '',\n status: null,\n });\n const [selectedLine, setSelectedLine] = useState(null);\n const [file, setFile] = useState();\n const [openImportUsers, setOpenImportUsers] = useState(false);\n\n // Trash hook\n const [trash, toggleTrash] = useToggle(() => {\n // eslint-disable-next-line no-use-before-define\n loadLines();\n });\n\n const loadLines = (p = { page: 1, rows: 40 }) => {\n cxt.api('GET', `/files/csvs/${props.match.params.id}/lines`, {\n params: {\n ...filters,\n\n trash,\n page: p.page,\n rows: p.rows,\n },\n success: (r) => {\n setLines(r);\n },\n });\n };\n\n const loadFile = () => {\n cxt.api('GET', `/files/${props.match.params.id}`, {\n success: (r) => {\n setFile(r.file);\n cxt.setHeader({\n title: r.file.name,\n });\n loadLines();\n },\n });\n };\n\n // File id changes\n useEffect(() => {\n if (props.match.params.id) loadFile();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.match.params.id]);\n\n // Get field columns\n const getFieldColumns = () =>\n [...Array(cxt.constants.numFieldsToUserImport).keys()].map((num) => ({\n title: `#${num}`,\n field: `field_${num}`,\n }));\n\n // Get icon status\n const getIconStatus = (line) => {\n if (line.isImported) {\n return ;\n }\n if (line.error) {\n return ;\n }\n };\n\n // -----| Render |-----\n return (\n \n setOpenImportUsers(true),\n }}\n onChange={({ name, value }) =>\n setFilters({ ...filters, [name]: value })\n }\n onFilter={loadLines}\n onToggleTrash={toggleTrash}\n />\n\n {file && (file.numErrors > 0 || file.numImported > 0) && (\n \n \n {file.numImported > 0 && (\n \n {cxt.t('Imported')}: {file.numImported}\n \n )}\n\n {file.numErrors > 0 && (\n \n {cxt.t('Errors')}: {file.numErrors}\n \n )}\n \n \n )}\n\n row.isImported ? : (row.error ? : null)\n value: (row) => getIconStatus(row),\n },\n ...getFieldColumns(),\n ]}\n onFetch={loadLines}\n onClickRow={(row) => setSelectedLine(row)}\n />\n\n setSelectedLine(null)}\n onUpdate={(newLine) => {\n setLines({\n ...lines,\n rows: updateElementInArray(lines.rows, newLine),\n });\n setSelectedLine(null);\n }}\n />\n\n setOpenImportUsers(false)}\n onUpdate={(newFileCSV) => {\n setFile(newFileCSV);\n loadLines();\n }}\n />\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Paper } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport {\n AppContext,\n SttButtonFab,\n SttChipUser,\n SttTable,\n SttTopControls,\n} from '../../../sporttia/all';\nimport { useToggle, useTuples, useCrud } from '../../../lib/hooks';\nimport { getPath } from '../../Pages';\nimport { copyToClipboard, fullName } from '../../../lib/utils';\n\nexport default function BookingSchedules() {\n // Filter presets, i.e. filter combinations handled by a single \n \n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { TextField, Grid } from '@material-ui/core';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport { AppContext } from '../all';\n\n// Componente para seleccionar instalaciones mediante autocomplete\nexport function SttSelectFacility({\n grid,\n caption,\n defVal,\n size = 'small',\n variant = 'outlined',\n disabled,\n onChange,\n ...rest\n}) {\n const cxt = useContext(AppContext);\n const [facilities, setFacilities] = useState([]);\n\n // Load data\n function loadFacilities(params = { page: 1, rows: 1000 }) {\n cxt.api('GET', `/scs/${cxt.sc.id}/facilities`, {\n params,\n success: (response) => {\n setFacilities(response.rows);\n },\n });\n }\n\n // Init\n useEffect(loadFacilities, []);\n\n // -----| Render |-----\n const content = (\n facility.id === defVal) || ''}\n options={facilities}\n getOptionLabel={(option) => option.name || ''}\n onChange={(ev, facility) => onChange(facility)}\n renderInput={(params) => (\n \n )}\n />\n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Select, Grid, MenuItem } from '@material-ui/core';\nimport { AppContext, SttFormSelect } from '../all';\n\n/**\n * SttSelectFixedInterval: present a list of pre-defined time intervals (as they are defined in the back end). Used for fees and such.\n * bool grid: wrap in a Grid item\n * string name: field name, for forms and such\n * string caption\n * string defVal: currently selected value\n * array options: enabled options. Must be a subset of the OPTIONS defined below, for example: ['1 DAY', '2 DAY', '1 WEEK'...]\n * ...rest of the props, typically xs, md, etc.\n */\nexport function SttSelectFixedInterval({\n grid,\n name,\n caption,\n defVal,\n options,\n onChange,\n cleanable = false,\n size = 'small',\n variant = 'outlined',\n ...rest\n}) {\n const cxt = useContext(AppContext);\n\n // Available options to pick from.\n const OPTIONS = [\n {\n name: 'NO PERIOD',\n label: cxt.t('0000-00-00 00:00:00'),\n value: '0000-00-00 00:00:00',\n },\n {\n name: '1 DAY',\n label: cxt.t('0000-00-01 00:00:00'),\n value: '0000-00-01 00:00:00',\n },\n {\n name: '2 DAY',\n label: cxt.t('0000-00-02 00:00:00'),\n value: '0000-00-02 00:00:00',\n },\n {\n name: '3 DAY',\n label: cxt.t('0000-00-03 00:00:00'),\n value: '0000-00-03 00:00:00',\n },\n {\n name: '4 DAY',\n label: cxt.t('0000-00-04 00:00:00'),\n value: '0000-00-04 00:00:00',\n },\n {\n name: '5 DAY',\n label: cxt.t('0000-00-05 00:00:00'),\n value: '0000-00-05 00:00:00',\n },\n {\n name: '6 DAY',\n label: cxt.t('0000-00-06 00:00:00'),\n value: '0000-00-06 00:00:00',\n },\n {\n name: '1 WEEK',\n label: cxt.t('0000-00-07 00:00:00'),\n value: '0000-00-07 00:00:00',\n },\n {\n name: '2 WEEK',\n label: cxt.t('0000-00-14 00:00:00'),\n value: '0000-00-14 00:00:00',\n },\n {\n name: 'FORTNIGHT',\n label: cxt.t('0000-00-15 00:00:00'),\n value: '0000-00-15 00:00:00',\n },\n {\n name: '1 MONTH',\n label: cxt.t('0000-01-00 00:00:00'),\n value: '0000-01-00 00:00:00',\n },\n {\n name: '2 MONTH',\n label: cxt.t('0000-02-00 00:00:00'),\n value: '0000-02-00 00:00:00',\n },\n {\n name: '3 MONTH',\n label: cxt.t('0000-03-00 00:00:00'),\n value: '0000-03-00 00:00:00',\n },\n {\n name: '4 MONTH',\n label: cxt.t('0000-04-00 00:00:00'),\n value: '0000-04-00 00:00:00',\n },\n {\n name: '6 MONTH',\n label: cxt.t('0000-06-00 00:00:00'),\n value: '0000-06-00 00:00:00',\n },\n {\n name: '1 YEAR',\n label: cxt.t('0001-00-00 00:00:00'),\n value: '0001-00-00 00:00:00',\n },\n ];\n\n let usedOptions;\n if (options && options.length > 0) {\n // Add options explicitly included\n usedOptions = OPTIONS.filter((opt) => options.includes(opt.name));\n\n // Check for explicitly excluded options instead\n if (usedOptions.length == 0) {\n usedOptions = OPTIONS.filter(\n (opt) => !options.includes(`!${opt.name}`),\n );\n }\n } else {\n usedOptions = OPTIONS;\n }\n\n const content = (\n \n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React from 'react';\nimport { SttFormSelect } from '../all';\n\nconst thisYear = new Date().getFullYear();\n\n/**\n * SttSelectYear: draw a with Autocomplete that loads arbitrary data using a provided 'loader' function\n * Due to AppContext.api() not returning Promises, the loader function that this component requires must return a promise (to preserve response context).\n *\n * function loader(): loading function that must return a Promise that resolves with a list of rows, or rejects with the error message\n * String labelField: the key of the option's name\n * String valueField: the key of the option's id\n *\n * */\nexport function SttSelectAsync({\n grid,\n name,\n defVal,\n caption,\n size = 'small',\n variant = 'outlined',\n loader,\n onChange,\n labelField = 'name',\n valueField = 'id',\n ...rest\n}) {\n const cxt = useContext(AppContext);\n const [items, setItems] = useState([]);\n const [selected, setSelected] = useState({\n [labelField]: '',\n [valueField]: defVal,\n });\n\n // Set the selected item (must search in the array after loading the data)\n useEffect(() => {\n if (items.length > 0 && defVal !== undefined) {\n setSelected(items.find((item) => item[valueField] === defVal));\n }\n }, [items]);\n\n function change(item) {\n setSelected(item);\n\n if (onChange && onChange.constructor == Function) {\n onChange({ name, value: item ? item[valueField] : undefined });\n }\n }\n\n // Run loader function and load items / throw error\n useEffect(() => {\n if (items.length == 0) {\n if (loader && loader.constructor === Function) {\n const promise = loader();\n if (promise.constructor === Promise) {\n promise\n .then((rows) => {\n setItems(rows);\n })\n .catch((err) => {\n console.log(err);\n });\n } else {\n console.log(\n 'Warning: SttSelectAsyncData requires that the passed loader() function returns a Promise.',\n );\n }\n } else {\n console.log(\n 'Warning: no loader() function provided for SttSelectAsyncData component!',\n );\n }\n }\n }, []);\n\n // Render item\n const content = (\n option[labelField]}\n onChange={(ev, item) => change(item)}\n value={selected}\n renderInput={(params) => (\n \n )}\n />\n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useState } from 'react';\nimport { Autocomplete } from '@material-ui/lab';\nimport { TextField, Chip, Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n chip: {\n marginLeft: theme.spacing(0.5),\n marginRight: theme.spacing(0.5),\n },\n}));\n\n/*\n * SttSelectMultiple renders a Select with Autocomplete and multi-selection\n * string name: name of the field\n * string caption: label for the text field\n * array options: [{label, value}]\n * string defVal: comma separated values like \"Val1,Val2,Val3\"... basically the currently selected options\n * func onChange: what to do on option added / removed\n * func renderTags: optional function with signature: (value, getTagProps) => value.map((option, index)) => to specify rendering of the selected options (tags)\n * */\nexport function SttSelectMultiple({\n grid,\n name,\n caption,\n options,\n defVal,\n onChange,\n renderTags,\n ...rest\n}) {\n const values = defVal ? defVal.split(',') : [];\n const [value, setValue] = useState(\n options.filter((option) => values.includes(option.value.toString())),\n );\n const classes = useStyles();\n\n if (!renderTags) {\n renderTags = (value, getTagProps) =>\n value.map((option, index) => (\n \n ));\n }\n\n const content = (\n option.label}\n value={value}\n onChange={(ev, options) => {\n const reducedVal = options.reduce(\n (res, opt, i) => res + ((i > 0 ? ',' : '') + opt.value),\n '',\n );\n setValue(options);\n onChange({ name, value: reducedVal });\n }}\n filterOptions={(options, state) => {\n if (!value || value.length == 0) {\n return options;\n }\n return options.filter(\n (option) => !value.find((opt) => opt.value == option.value),\n );\n }}\n filterSelectedOptions\n renderInput={(params) => (\n \n )}\n renderTags={renderTags}\n />\n );\n\n return grid ? (\n \n {content}\n \n ) : (\n content\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext, SttFormSelect } from '../all';\n\nexport function SttSelectUnlockerType({ name, defVal, onChange, ...rest }) {\n const cxt = useContext(AppContext);\n\n return (\n \n );\n}\n\n/*\ndefine(\"_UT_TICKET_ONE_USE\", 'TICKET_ONE_USE');\ndefine(\"_UT_TICKET_CARD\", 'TICKET_CARD');\ndefine(\"_UT_CARD\", 'CARD');\ndefine(\"_UT_FINGERPRINT\", 'FINGERPRINT');\ndefine(\"_UT_PIN\", 'PIN');\n* */\n\n/*\n * Props\n *\n * \t* bool grid - wrap the element into a \n * \t* Array options - options as an array of {caption, value}\n * \t* defVal - the currently selected value\n * \t* boolean cleanable: if it's true, a clean button (X) is added to reset the selection.\n * \t* string name - the field name\n * \t* string caption - the field caption (top label & placeholder text)\n * \t* Function onChange - callback when the selected value changes\n * \t* bool disabled\n * \t* bool mandatory - if mandatory, the value cannot be de-selected\n */\n","import React, { useState, useEffect, useContext } from 'react';\nimport { AppContext } from '../AppContext';\nimport { SttFormSelect } from '../forms/SttFormSelect';\n\nexport function SttSelectDeviceStatus({ name, defVal, onChange, ...rest }) {\n const cxt = useContext(AppContext);\n\n return (\n \n );\n}\n","import React, { useState, useContext } from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport {\n AppContext,\n SttList,\n SttChipPForm,\n SttChipPaymentStatus,\n SttLabelDate,\n} from '../all';\nimport PaymentModal from '../../components/paymentModal/PaymentModal';\nimport { formatPriceByLocale, fullName } from '../../lib/utils';\nimport translations from '../../translations';\nimport constants from '../../config/constants';\n\n/**\n *\tPayment list\n *\t============\n *\n *\tProps\n *\n *\t\t* array payments\n *\t\t* boolean clickable [false]: cuando se hace click se abre el pago\n */\nexport function SttPaymentList({\n paper = true,\n payments,\n clickable = false,\n onClose,\n ...rest\n}) {\n const cxt = useContext(AppContext);\n const [idPayModal, setIdPayModal] = useState(null);\n\n const handleOnSelect = clickable\n ? (pay) => {\n setIdPayModal(pay.id);\n }\n : null;\n\n return (\n <>\n ({\n caption: (\n \n \n {fullName(pay.user)}\n \n \n \n \n , {pay.concept}\n \n \n \n {pay.status ===\n constants.payment.status.paid.name ? (\n \n ) : (\n \n )}\n \n \n \n {formatPriceByLocale(\n pay.price,\n pay?.priceShape?.currency,\n pay?.priceShape?.locale,\n )}\n \n \n \n ),\n objToSelect: pay,\n }))}\n {...rest}\n />\n\n {idPayModal && (\n {\n setIdPayModal(null);\n onClose?.();\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { AppContext, SttList, SttLabelPeriod, SttChipPForm } from '../all';\nimport { formatPriceByLocale } from '../../lib/utils';\n\n/**\n * Fee list\n * ========\n *\n * Props\n *\n * \t\t* Array fees\n *\n */\nexport function SttFeeList({ fees }) {\n const cxt = useContext(AppContext);\n const [feesValues, setFeesValues] = useState(fees);\n\n /**\n * Generate fee\n */\n const generateFee = (fee, feeIndex) => {\n cxt.api('POST', `/feeslot/${fee.feeslot.id}/fees`, {\n // confirmation: true,\n params: { dates: [fee.ini] },\n success: (r) => {\n const newFees = [...feesValues];\n newFees[feeIndex] = Object.assign(fee, r.fees[0]);\n setFeesValues(newFees);\n },\n });\n };\n\n useEffect(() => {\n setFeesValues(fees);\n }, [fees]);\n\n // -----| Render |-----\n return (\n ({\n caption: (\n \n \n \n \n \n {fee.id ? (\n \n ) : (\n \n generateFee(fee, feeIndex)\n }\n >\n {cxt.t('Generate')}\n \n )}\n \n \n \n {formatPriceByLocale(\n fee.price,\n fee?.priceShape?.currency,\n fee?.priceShape?.locale,\n )}\n \n \n \n ),\n }))\n }\n />\n );\n}\n","import { Box, Typography } from '@material-ui/core';\nimport React, { useContext, useState } from 'react';\nimport { AppContext, SttFormSwitch, SttLabelTitle } from '../all';\n\n/**\n * Styled vertical list of privileges\n *\n * \t* Privileges[] privileges - list of objects as obtained from the API (or similar)\n * \t* Function onToggle({id, value}) - callback for each privilege row's switch\n */\n\nexport function SttPrivilegeList({\n privileges,\n onToggle,\n title,\n useHighlight = false,\n classes = null,\n}) {\n const cxt = useContext(AppContext);\n const [option, setOption] = useState(null);\n\n return (\n
\n \n \n \n {title}\n \n \n \n \n {cxt.t('Status')}\n \n \n \n
\n {privileges.map((privilege, index) => (\n \n useHighlight ? setOption(index) : null\n }\n onMouseLeave={() =>\n useHighlight ? setOption(null) : null\n }\n >\n \n \n {cxt.t(privilege.name)}\n \n \n {privilege.description\n ? cxt.t(privilege.description)\n : ''}\n \n \n \n {/* TODO: Add a tooltip or something indicating that the privilege is enabled for the whole SC when it is so. */}\n {privilege.isDefaultOnSC ? (\n \n {cxt.t(\n 'sc.groups.privileges.activeDefault',\n )}\n \n ) : (\n \n onToggle({ id: name, value })\n }\n />\n )}\n \n \n ))}\n
\n
\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Avatar,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n} from '@material-ui/core';\nimport { AppContext, SttList } from '../all';\n\n/**\n *\tPrivilege list\n *\t============\n *\n *\tProps\n *\n *\t\t* array privileges\n *\t\t* string scopr: on selecting privilege dialog only show with this \"scope\"\n *\t\t* function onAdd(privilege)\n *\t\t* function onDelete(privilege)\n */\nexport function SttPrivilegePureList({ privileges, scope, onAdd, onDelete }) {\n const cxt = useContext(AppContext);\n const [selectingPrivilegeOpen, setSelectingPrivilegeOpen] = useState(false);\n const [allPrivileges, setAllPrivileges] = useState();\n\n /**\n * Open adding privilege\n */\n const openAddingPrivilege = () => {\n setSelectingPrivilegeOpen(true);\n };\n\n /**\n * Load all privileges\n */\n useEffect(() => {\n // Fetch all privileges on the sports center\n if (selectingPrivilegeOpen && !allPrivileges) {\n cxt.api('GET', `/scs/${cxt.sc.id}/privileges`, {\n params: {\n scope,\n rows: 200,\n },\n success: (r) => {\n setAllPrivileges(r.rows);\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectingPrivilegeOpen]);\n\n /**\n * Select privilege\n */\n const selectPrivilege = (privilege) => {\n setSelectingPrivilegeOpen(false);\n onAdd(privilege);\n };\n\n // -----| Render |-----\n return (\n <>\n openAddingPrivilege() : null}\n onDelete={onDelete}\n data={\n privileges &&\n privileges.map((privilege) => ({\n avatar: privilege.sport ? (\n \n ) : null,\n caption: cxt.t(privilege.name),\n objToSelect: privilege,\n }))\n }\n />\n\n setSelectingPrivilegeOpen(false)}\n open={selectingPrivilegeOpen}\n >\n {cxt.t('Privileges')}\n\n \n {allPrivileges &&\n allPrivileges\n .filter(\n (e) =>\n !privileges\n .map((e2) => e2.id)\n .includes(e.id),\n )\n .map((privilege) => (\n selectPrivilege(privilege)}\n >\n \n \n ))}\n \n \n \n );\n}\n","import React, { useContext } from 'react';\nimport { Box, Divider } from '@material-ui/core';\nimport moment from 'moment';\nimport {\n AppContext,\n SttList,\n SttChipPForm,\n SttChipPaymentStatus,\n SttLabelDate,\n} from '../all';\nimport { formatPriceByLocale } from '../../lib/utils';\n\n/**\n *\tBooking list\n *\t============\n *\n *\tProps:\n * Array bookings\n * function onSelect\n * bool showTotals\n *\n */\nexport function SttBookingList({ bookings, onSelect, showTotals }) {\n const cxt = useContext(AppContext);\n\n // -----| Render |-----\n return (\n {\n const paid = booking.paid >= booking.price;\n\n return {\n caption: (\n \n
{booking.name}
\n \n
{`${moment(booking.ini).format(\n 'HH:mm',\n )} - ${moment(booking.end).format('HH:mm')}`}
\n
\n {formatPriceByLocale(\n booking.price,\n booking?.totalBillShape?.currency,\n booking?.totalBillShape?.locale,\n )}\n
\n \n ),\n objToSelect: booking,\n };\n })}\n />\n );\n}\n","import React, { useState, useContext } from 'react';\nimport {\n Avatar,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n DialogContent,\n} from '@material-ui/core';\nimport { useQuery } from 'react-query';\nimport { useForm } from 'react-hook-form';\nimport { AppContext, SttList } from '../all';\nimport { LIST_FACILITIES } from '../../lib/queryKeys';\nimport useScsService from '../../services/ScsService';\nimport SttValidatedForm from '../SttValidatedForm';\n\n/**\n * Component to list facilities. A button appears to add new installations.\n * @param facilities Facilities array.\n * @param onAdd Method executed when adding new installation.\n * @param onDelete Method executed when removing an installation.\n * @param scId Sport center id.\n * @param disabled Disable functions.\n * @param status \"status\" parameter sent in the api request.\n * @param trash Get removed or not facilities.\n * @returns {JSX.Element}\n */\nexport function SttFacilityList({\n facilities,\n onAdd,\n onDelete,\n scId = null,\n disabled = false,\n status = null,\n trash = false,\n}) {\n const cxt = useContext(AppContext);\n const scsService = useScsService();\n const form = useForm();\n const [filters, setFilters] = useState({});\n const facilityQuery = useQuery(\n [\n LIST_FACILITIES,\n {\n id: scId || cxt.sc.id,\n trash,\n ...{\n ...filters,\n rows: 200,\n ...(status && { status }),\n },\n },\n ],\n () =>\n scsService.getScsFacilities(scId || cxt.sc.id, {\n trash,\n ...{\n ...filters,\n rows: 200,\n ...(status && { status }),\n },\n }),\n );\n\n const [selectingFacilityOpen, setSelectingFacilityOpen] = useState(false);\n\n return (\n <>\n setSelectingFacilityOpen(true)\n : null\n }\n onDelete={!disabled && onDelete}\n data={\n facilities &&\n facilities.map((facility) => ({\n avatar: facility.sport ? (\n \n ) : null,\n caption: facility.name,\n objToSelect: facility,\n }))\n }\n />\n\n setSelectingFacilityOpen(false)}\n open={selectingFacilityOpen}\n >\n {cxt.t('Facilities')}\n\n \n \n setFilters({ name: value }),\n },\n ]}\n />\n\n \n {facilityQuery?.data?.rows &&\n facilityQuery?.data?.rows.map((facility, idx) => (\n {\n setSelectingFacilityOpen(false);\n onAdd(facility);\n }}\n >\n \n \n \n\n \n \n ))}\n \n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n} from '@material-ui/core';\nimport { AppContext, SttList } from '../all';\nimport { formatPriceByLocale } from '../../lib/utils';\n\n/**\n *\tPrice list\n *\t=========\n *\n *\tProps\n *\n *\t\t* array prices\n *\t\t* function onAdd\n *\t\t* function onDelete(price)\n */\nexport function SttPriceList({ prices, onAdd, onDelete, ...rest }) {\n const cxt = useContext(AppContext);\n const [selectingPriceOpen, setSelectingPriceOpen] = useState(false);\n const [allPrices, setAllPrices] = useState();\n\n /**\n * Open adding price\n */\n const openAddingPrice = () => {\n setSelectingPriceOpen(true);\n };\n\n /**\n * Load all prices\n */\n useEffect(() => {\n // Fetch all prices on the sports center\n if (selectingPriceOpen && !allPrices) {\n cxt.api('GET', `/scs/${cxt.sc.id}/rates`, {\n params: { rows: 200 },\n success: (r) => {\n setAllPrices(r.rows);\n },\n });\n }\n }, [allPrices, cxt, selectingPriceOpen]);\n\n /**\n * Select price\n */\n const selectPrice = (price) => {\n setSelectingPriceOpen(false);\n onAdd(price);\n };\n\n // -----| Render |-----\n return (\n <>\n openAddingPrice() : null}\n onDelete={onDelete}\n data={\n prices &&\n prices.map((price) => ({\n caption: (\n <>\n {price.name} -{' '}\n {formatPriceByLocale(\n price.price,\n price?.priceShape?.currency ??\n cxt?.sc?.city?.country?.currency,\n price?.priceShape?.locale,\n )}\n \n ),\n objToSelect: price,\n }))\n }\n {...rest}\n />\n\n setSelectingPriceOpen(false)}\n open={selectingPriceOpen}\n >\n {cxt.t('Prices')}\n\n \n {allPrices &&\n allPrices.map((price, idx) => (\n selectPrice(price)}\n >\n \n \n ))}\n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Avatar,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n} from '@material-ui/core';\nimport { SttList } from './SttList';\nimport { AppContext } from '../AppContext';\nimport { SttLabelWeekdays } from '../all';\n\nexport function SttBusySlotList({ slots, onAdd, onSelect }) {\n const cxt = useContext(AppContext);\n\n function select(slot) {\n if (onSelect && onSelect.constructor === Function) {\n onSelect(slot);\n }\n }\n\n return (\n ({\n avatar: null,\n caption: (\n \n \n {`${slot.ini} - ${slot.end}`}\n \n ),\n text: `${slot.numBusies} ${cxt.t('ClosedFields')}`,\n objToSelect: slot,\n }))\n }\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Box,\n Avatar,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n} from '@material-ui/core';\nimport { SttList } from './SttList';\nimport { AppContext } from '../AppContext';\nimport { SttLabelWeekdays } from '../all';\n\nexport function SttBookingScheduleSlotList({ slots, onAdd, onSelect }) {\n const cxt = useContext(AppContext);\n\n function select(slot) {\n if (onSelect && onSelect.constructor === Function) {\n onSelect(slot);\n }\n }\n\n return (\n ({\n avatar: null,\n caption: (\n \n \n {`${slot.timeini} - ${slot.timeend}`}\n \n ),\n // text: `${slot.numBookings} ${cxt.t('Bookings')}`,\n objToSelect: slot,\n }))\n }\n />\n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Avatar,\n Dialog,\n DialogTitle,\n List,\n ListItem,\n ListItemText,\n} from '@material-ui/core';\nimport { AppContext, SttList } from '../all';\n\n/**\n *\tSCAdmin list\n *\t============\n *\n *\tProps\n *\n *\t\t* array scAdmins\n *\t\t* function onAdd: after adding from the list\n *\t\t* function onCreate: instead of picking from the list just call this func\n *\t\t* function onDelete\n *\t\t* functino onSelect\n */\nexport function SttSCAdminList({\n scAdmins,\n onCreate,\n onAdd,\n onDelete,\n onSelect,\n}) {\n const cxt = useContext(AppContext);\n const [selectingSCAdminOpen, setSelectingSCAdminOpen] = useState(false);\n const [allSCAdmins, setAllSCAdmins] = useState();\n\n /**\n * Load all scAdmins\n */\n useEffect(() => {\n // Fetch all scAdmins on the sports center\n if (selectingSCAdminOpen && !allSCAdmins) {\n cxt.api('GET', `/scs/${cxt.sc.id}/admins`, {\n success: (r) => {\n if (r.rows) {\n setAllSCAdmins(r.rows);\n }\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectingSCAdminOpen, allSCAdmins]);\n\n /**\n * Pre-adding\n */\n const preAdd = () => {\n if (onCreate) {\n onCreate();\n } else if (onAdd) {\n setSelectingSCAdminOpen(true);\n }\n };\n\n /**\n * Select scAdmin\n */\n const selectSCAdmin = (scAdmin) => {\n setSelectingSCAdminOpen(false);\n onAdd(scAdmin);\n };\n\n // -----| Render |-----\n return (\n <>\n preAdd()}\n onDelete={onDelete}\n onSelect={onSelect}\n data={\n scAdmins &&\n scAdmins.map((scAdmin) => ({\n avatar: scAdmin.sport ? (\n \n ) : null,\n caption: scAdmin.name,\n text: `@${scAdmin.login}`,\n objToSelect: scAdmin,\n }))\n }\n />\n\n setSelectingSCAdminOpen(false)}\n open={selectingSCAdminOpen}\n >\n {cxt.t('SCAdmins')}\n\n \n {allSCAdmins &&\n allSCAdmins.map((scAdmin) => (\n selectSCAdmin(scAdmin)}\n >\n \n \n ))}\n \n \n \n );\n}\n","import React, { useContext } from 'react';\nimport {\n List,\n ListItem,\n Divider,\n ListItemText,\n ListItemAvatar,\n Avatar,\n Box,\n} from '@material-ui/core';\nimport { AppContext, SttPagination } from '../all';\nimport { checkOffTag, formatPriceByLocale } from '../../lib/utils';\n/**\n *\n * Params\n *\n * \t* Object mships(count,rows)\n * \t* integer page=1\n *\t* function onSelect(mship)\n *\t* function onLoadMships({page})\n */\nexport function SttMshipList({ mships, page = 1, onSelect, onLoadMships }) {\n const cxt = useContext(AppContext);\n\n // -----| Render |-----\n return (\n \n {/* --- Searching box --- */}\n {mships &&\n mships.rows &&\n mships.rows.map((mship) => (\n
\n \n onSelect(mship)}>\n \n \n \n \n {mship.user &&\n checkOffTag(mship.user.login) ? (\n \n {cxt.t('UserCancelled')}\n \n ) : mship.amount ? (\n <>\n \n {cxt.t('Purse')}: \n \n \n {formatPriceByLocale(\n mship.amount,\n mship?.amountShape\n ?.currency,\n mship?.amountShape\n ?.locale,\n )}\n \n \n ) : null}\n \n }\n />\n \n
\n ))}\n\n {/* --- No results --- */}\n {mships && mships.count == 0 && (\n \n \n \n )}\n\n {/* --- List --- */}\n \n {mships && (\n \n onLoadMships({ page })}\n />\n \n )}\n \n
\n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n}), 'Star');","import React, { useState, useEffect, useContext } from 'react';\nimport {\n Avatar,\n Box,\n Divider,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n ListItemSecondaryAction,\n IconButton,\n makeStyles,\n} from '@material-ui/core';\nimport { Delete as DeleteIcon, Star } from '@material-ui/icons';\nimport { formatPriceByLocale, fullName } from '../../lib/utils';\nimport { AppContext } from '../AppContext';\n\nconst useStyles = makeStyles((theme) => ({\n pending: {\n color: 'red',\n },\n paid: {\n color: 'green',\n },\n}));\n\nexport function SttParticipantsList({ participants, onDelete }) {\n const cxt = useContext(AppContext);\n const classes = useStyles();\n\n // -----| Render |-----\n return (\n \n {participants &&\n participants.map((participant, i) => {\n let priceText = '';\n let paymentForm;\n let paymentFormClass;\n if (participant.enrollment) {\n if (participant.enrollment.price > 0) {\n priceText = formatPriceByLocale(\n participant.enrollment.price,\n participant?.enrollment?.priceShape?.currency,\n participant?.enrollment?.priceShape?.locale,\n );\n paymentForm =\n participant.enrollment.paymentFormLang;\n } else {\n priceText = cxt.t('Free');\n }\n paymentFormClass =\n participant.enrollment.status == 'PAID'\n ? classes.paid\n : classes.pending;\n }\n\n return (\n
\n {i > 0 && }\n \n \n {!participant.admin ? (\n \n \n onDelete(participant)\n }\n edge=\"end\"\n aria-label=\"delete\"\n >\n \n \n \n ) : (\n \n )}\n \n
\n );\n })}\n {participants && participants.length == 0 && (\n \n \n \n )}\n
\n );\n}\n","import React, { useContext } from 'react';\nimport { Box, Link, Grid, Typography } from '@material-ui/core';\nimport { useMutation } from 'react-query';\nimport { useHistory } from 'react-router-dom';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { AppContext, SttButtonFollow } from '../../all';\nimport { getPath } from '../../../pages/Pages';\n\nimport useScsService from '../../../services/ScsService';\nimport { formatPriceByLocale } from '../../../lib/utils';\n\n/**\n * Card representing a sports center.\n * @param sc Sport center object.\n * @returns {JSX.Element}\n */\nexport function SttSCCard({ sc }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const classes = useStyles();\n const scsService = useScsService();\n const updateFollowMutation = useMutation((params) =>\n scsService.updateScsFollow(params?.id),\n );\n const updateUnfollowMutation = useMutation((params) =>\n scsService.updateScsUnfollow(params?.id),\n );\n\n /**\n * Toggle following\n */\n const toggleFollowing = () => {\n if (sc.following) {\n sc.following = false;\n updateUnfollowMutation.mutate({ id: sc.id });\n } else {\n sc.following = true;\n updateFollowMutation.mutate({ id: sc.id });\n }\n };\n\n let logoUrl;\n if (sc?.logo?.id) {\n logoUrl = sc?.logo?.url\n ? `${sc.logo.url}?outfit=70`\n : cxt.getResource(\n `/images/${sc.logo ? sc.logo.id : 0}.jpg?outfit=70`,\n );\n } else {\n logoUrl = cxt.getResource(`/images/1.jpg?outfit=70`); // logo de Sporttia (img por defecto)\n }\n\n return (\n <>\n {sc && (\n \n \n \n \n \n \n \n\n \n \n history.push(\n getPath('scProfile', { id: sc.id }),\n )\n }\n >\n {sc.name}\n \n\n \n \n {sc.city && (\n <>\n {sc.city.name}\n {sc.city.province &&\n ` ( ${sc.city.province.name} )`}\n \n )}\n \n \n\n {sc.distance ? (\n \n \n {sc.distance} kms\n \n \n ) : (\n ''\n )}\n\n \n {sc.numFollowers} {cxt.t('followers')}\n \n \n \n\n {/* --- Buttons --- */}\n \n \n \n {sc && sc.mship && sc.mship.amount !== 0 && (\n <>\n \n {cxt.t('Purse')}\n \n \n \n {formatPriceByLocale(\n sc?.mship?.amount,\n sc?.mship?.amountShape\n ?.currency,\n sc?.mship?.amountShape\n ?.locale,\n )}\n \n \n \n )}\n \n \n {cxt?.logged && (\n \n toggleFollowing()\n }\n />\n )}\n \n \n \n \n )}\n \n );\n}\n\nconst useStyles = makeStyles(() => ({\n purse: {\n height: 59,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n purseMoney: {\n marginTop: '-10px',\n },\n}));\n","import React, { useRef } from 'react';\nimport { Box, CircularProgress, Divider } from '@material-ui/core';\nimport { useInfiniteQuery } from 'react-query';\nimport { SttSCCard } from '../../all';\nimport { useOnViewport, useTranslations } from '../../../lib/hooks';\nimport { USER_SEARCH_SCS } from '../../../lib/queryKeys';\nimport useSearchService from '../../../services/SearchService';\n\n/**\n * List of sports center cards. Use the infinite scroll.\n * @param params Parameters that are sent to the API.\n * @returns {JSX.Element}\n */\nexport function SttSCCardList({ params = {} }) {\n const ROWS_PER_PAGE = 15;\n const { translate } = useTranslations();\n const searchService = useSearchService();\n const ref = useRef();\n const { data, status, isFetchingNextPage, fetchNextPage, hasNextPage } =\n useInfiniteQuery(\n [\n USER_SEARCH_SCS,\n {\n ...params,\n },\n ],\n ({ pageParam = 1 }) =>\n searchService\n .getList({\n page: pageParam,\n rows: ROWS_PER_PAGE,\n kind: 1,\n ...params,\n })\n .then((response) => {\n response.scs.page = pageParam;\n return response;\n }),\n {\n getNextPageParam: (lastPage) =>\n lastPage?.scs?.page < lastPage?.scs?.pages\n ? lastPage?.scs?.page + 1\n : undefined,\n },\n );\n useOnViewport(ref, '-100px', fetchNextPage);\n\n return (\n <>\n {status === 'loading' ? (\n \n \n \n ) : status === 'error' ? (\n <>Error\n ) : (\n <>\n \n {data?.pages[0]?.scs?.count}{' '}\n {translate('sportcenters')}\n \n {data.pages.map((page, i) => (\n \n {page.scs.rows.map(\n (sc, scKey) =>\n sc.status === 'ACTIVE' && (\n \n {scKey > 0 && (\n \n \n \n )}\n \n \n ),\n )}\n \n ))}\n {isFetchingNextPage && (\n \n \n \n )}\n {!hasNextPage && (\n \n No hay más resultados.\n \n )}\n \n )}\n {/* Este div es para detectar el final de la página, cuando sea visible se van a pedir datos a la API para realizar el scroll infinito. */}\n
\n \n );\n}\n","import React, { useContext } from 'react';\nimport {\n Box,\n Link,\n Grid,\n Typography,\n useTheme,\n useMediaQuery,\n makeStyles,\n} from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport { getPath } from '../../../pages/Pages';\nimport { formatPriceByLocale, formatPeriod } from '../../../lib/utils';\nimport { AppContext } from '../../AppContext';\n/**\n * Card representing an activity.\n * @param activity Activity object.\n * @returns {JSX.Element|null}\n */\nexport function SttActivityCard({ activity }) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n const classes = useStyles();\n\n const theme = useTheme();\n const mdUp = useMediaQuery(theme.breakpoints.up('sm'));\n\n if (!activity) {\n return null;\n }\n\n // Is the activity \"in time\"?\n const inTime =\n moment().isAfter(moment(activity.ini)) &&\n moment().isBefore(moment(activity.end));\n const inIscTime =\n moment().isAfter(moment(activity.inscIni)) &&\n moment().isBefore(moment(activity.inscEnd));\n\n const dateFormat = mdUp ? 'D MMMM YYYY' : 'DD/MM/YYYY';\n const [period, , periodLabel] = formatPeriod(\n activity.ini,\n activity.end,\n { dateFormat },\n cxt.t,\n );\n const [inscPeriod] = formatPeriod(\n activity.inscIni,\n activity.inscEnd,\n { dateFormat },\n cxt.t,\n );\n\n return (\n \n \n \n
\n \n history.push(\n getPath('activityPublic', {\n id: activity.id,\n }),\n )\n }\n >\n \n {activity.name}\n \n \n
\n
\n \n history.push(\n getPath('timetable', {\n id: activity.sc.id,\n }),\n )\n }\n >\n \n {activity.sc.name}\n \n \n
\n
\n \n \n \n {activity.sport.name}\n \n \n \n \n \n \n {periodLabel}:{' '}\n \n \n {period}\n {' '}\n {/* Change the color based on wether the activity is \"in time\" */}\n \n \n \n {cxt.t('Inscription')}:{' '}\n \n \n {inscPeriod}\n {' '}\n {/* Change the color based on wether the inscription period is \"in time\" */}\n \n \n \n \n \n \n {cxt.t('Price')}\n \n {`${cxt.t(\n 'From',\n )} ${formatPriceByLocale(\n activity.price,\n activity?.priceShape?.currency,\n activity?.priceShape?.locale,\n )}`}\n \n \n \n {cxt.t('Students')}\n \n {`${\n activity.numStudents\n } / ${\n activity.maxStudents > 0\n ? activity.maxStudents\n : '∞'\n }`}\n \n \n \n
\n
\n );\n}\n\nconst useStyles = makeStyles(() => ({\n green: {\n color: 'green',\n },\n red: {\n color: 'red',\n },\n}));\n","import React, { useRef } from 'react';\nimport { Box, Divider, CircularProgress } from '@material-ui/core';\nimport { useInfiniteQuery } from 'react-query';\nimport { SttActivityCard } from '../../all';\nimport { useOnViewport, useTranslations } from '../../../lib/hooks';\nimport useSearchService from '../../../services/SearchService';\nimport { USER_SEARCH_ACTIVITIES } from '../../../lib/queryKeys';\n\n/**\n * List of activities cards. Use the infinite scroll.\n * @param params Parameters that are sent to the API.\n * @returns {JSX.Element}\n */\nexport function SttActivityCardList({ params = {} }) {\n const ROWS_PER_PAGE = 15;\n const { translate } = useTranslations();\n const searchService = useSearchService();\n const ref = useRef();\n const { data, status, isFetchingNextPage, fetchNextPage, hasNextPage } =\n useInfiniteQuery(\n [\n USER_SEARCH_ACTIVITIES,\n {\n ...params,\n },\n ],\n ({ pageParam = 1 }) =>\n searchService\n .getList({\n page: pageParam,\n rows: ROWS_PER_PAGE,\n kind: 3,\n ...params,\n })\n .then((response) => {\n response.activities.page = pageParam;\n return response;\n }),\n {\n getNextPageParam: (lastPage) =>\n lastPage?.activities?.page < lastPage?.activities?.pages\n ? lastPage?.activities?.page + 1\n : undefined,\n },\n );\n useOnViewport(ref, '-100px', fetchNextPage);\n\n return (\n <>\n {status === 'loading' ? (\n \n \n \n ) : status === 'error' ? (\n <>Error\n ) : (\n <>\n \n {data?.pages[0]?.activities?.count}{' '}\n {translate('activities')}\n \n {data.pages.map((page, i) => (\n \n {page.activities.rows.map(\n (activity, activityKey) => (\n \n {activityKey > 0 && (\n \n \n \n )}\n \n \n ),\n )}\n \n ))}\n {isFetchingNextPage && (\n \n \n \n )}\n {!hasNextPage && (\n \n No hay más resultados.\n \n )}\n \n )}\n {/* Este div es para detectar el final de la página, cuando sea visible se van a pedir datos a la API para realizar el scroll infinito. */}\n
\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { IconButton } from '@material-ui/core';\nimport FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder';\nimport FavoriteIcon from '@material-ui/icons/Favorite';\nimport { AppContext } from '../all';\n\n/**\n *\tButton following\n *\t================\n *\n * Props\n *\n * \t* boolean isFollowing\n *\t* function onToggleFollowing(boolean)\n */\nexport function SttButtonFollow({ isFollowing, onToggleFollowing }) {\n const cxt = useContext(AppContext);\n\n // -----| Render |-----\n return (\n onToggleFollowing(!isFollowing)}\n style={{\n color: '#a800ff8a',\n }}\n >\n {isFollowing ? (\n \n ) : (\n \n )}\n \n );\n}\n","import { withStyles } from '@material-ui/core/styles';\nimport colors from './Colors';\n\n/**\n * Global CSS\n *\n * \t@global is handled by jss-plugin-global.\n */\nexport default withStyles({\n '@global': {\n // Table\n '.MuiTableCell-sizeSmall': {\n paddingLeft: 10,\n paddingRight: 10,\n },\n\n // AppBar\n '.MuiAppBar-colorPrimary': {\n backgroundColor: '#9eb319',\n },\n\n // Links\n '.MuiTypography-colorPrimary': {\n color: '#788a08',\n },\n '.MuiTypography-colorPrimary:hover': {\n color: '#687a02',\n },\n 'a:hover': {\n cursor: 'pointer',\n },\n\n // Buttons\n '.MuiButton-label': {\n color: '#495e0b',\n },\n '.MuiButton-outlinedPrimary': {\n borderColor: colors.A8,\n },\n '.MuiButton-outlinedPrimary:hover': {\n borderColor: colors.A7,\n },\n '.MuiButton-containedPrimary': {\n backgroundColor: colors.A8,\n },\n '.MuiButton-containedPrimary .MuiButton-label': {\n color: '#fff',\n },\n '.MuiButton-contained.button-delete': {\n backgroundColor: '#f33',\n },\n '.MuiButton-contained.button-delete:hover': {\n backgroundColor: '#ca0e22',\n },\n '.MuiButton-contained.button-delete:disabled': {\n backgroundColor: '#e0e0e0',\n },\n '.MuiButton-contained.button-delete .MuiButton-label': {\n color: '#fff',\n },\n '.MuiButton-containedPrimary:hover': {\n backgroundColor: colors.A9,\n },\n\n // Form input\n '.MuiInputBase-root': {\n backgroundColor: 'white',\n },\n\n // Dialogs\n '.MuiDialogContent-root': {\n backgroundColor: '#f7f7f7',\n },\n\n // Tooltips\n '.MuiTooltip-tooltip': {\n fontSize: 14,\n },\n\n '.MuiFab-primary': {\n backgroundColor: colors.A7,\n },\n '.MuiFab-primary:hover': {\n backgroundColor: colors.A8,\n },\n },\n})(() => null);\n","import React, { useState } from 'react';\nimport { Box, Link } from '@material-ui/core';\nimport { Close } from '@material-ui/icons';\nimport moment from 'moment';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Mship from '../../pages/sc/mships/Mship';\nimport userImage from '../../images/user.svg';\n\nconst useStyles = makeStyles({\n container: {\n position: 'fixed',\n right: 32,\n bottom: 32,\n },\n item: {\n position: 'relative',\n backgroundColor: '#e9f6e9',\n border: '1px solid #7fcb7f',\n borderRadius: 6,\n padding: 16,\n display: 'flex',\n paddingRight: 32,\n marginTop: 8,\n marginBottom: 8,\n },\n close: {\n position: 'absolute',\n cursor: 'pointer',\n right: 8,\n top: 8,\n },\n img: {\n width: 96,\n height: 96,\n marginRight: 12,\n },\n});\n\nconst accessTypes = {\n BOOKING: 'BOOKING',\n CLASS: 'ACTIVITY',\n GROUP: 'GROUP',\n BONO: 'BONO',\n};\n\n/**\n * Componente que pinta los accesos de usuarios según van entrando por el torno, puerta, etc.\n * @param visible\n * @param messages array de mensajes de entrada (se van eliminando solos cada 10 segundos)\n * @param onDelete\n * @returns {JSX.Element|null}\n */\nexport default function UserAccessPopup({ visible, messages, onDelete }) {\n const [mshipOpen, setMshipOpen] = useState(null);\n\n const classes = useStyles();\n\n function accessTypeString(access) {\n if (!access) {\n return '';\n }\n\n switch (access?.type) {\n case accessTypes.BOOKING:\n return `${access?.booking?.field?.name} ${moment(\n access?.booking?.ini,\n ).format('HH:mm')} - ${moment(access?.booking?.end).format(\n 'HH:mm',\n )}`;\n break;\n case accessTypes.GROUP:\n return `${access?.group?.name}`;\n break;\n case accessTypes.CLASS:\n return `${access?.activity?.name} ${moment(\n access?.activity?.ini,\n ).format('HH:mm')} - ${moment(access?.activity?.end).format(\n 'HH:mm',\n )}`;\n break;\n case accessTypes.BONO:\n return `${access?.bono?.name} (${access?.bono?.consumed} / ${access?.bono?.amount})`;\n break;\n default:\n return 'Acceso concedido';\n break;\n }\n }\n\n if (visible || mshipOpen) {\n return mshipOpen ? (\n setMshipOpen(false)} />\n ) : (\n
\n {messages.map((message, i) => (\n
\n \n {message?.mship?.img?.url ? (\n \n ) : (\n \n )}\n \n \n setMshipOpen(message?.mship?.id)}\n style={{ fontSize: 18, marginBottom: 8 }}\n >\n {message?.mship?.fullName}\n \n \n {accessTypeString(message?.access)}\n \n
\n {message?.device?.name}\n
\n
\n onDelete(message)}\n className={classes.close}\n />\n
\n ))}\n
\n );\n }\n\n return null;\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport debounce from '../utils/debounce';\nimport { Transition } from 'react-transition-group';\nimport { elementAcceptingRef } from '@material-ui/utils';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { duration } from '../styles/transitions';\nimport { reflow, getTransitionProps } from '../transitions/utils'; // Translate the node so he can't be seen on the screen.\n// Later, we gonna translate back the node to his original location\n// with `none`.`\n\nfunction getTranslateValue(direction, node) {\n var rect = node.getBoundingClientRect();\n var transform;\n\n if (node.fakeTransform) {\n transform = node.fakeTransform;\n } else {\n var computedStyle = window.getComputedStyle(node);\n transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n }\n\n var offsetX = 0;\n var offsetY = 0;\n\n if (transform && transform !== 'none' && typeof transform === 'string') {\n var transformValues = transform.split('(')[1].split(')')[0].split(',');\n offsetX = parseInt(transformValues[4], 10);\n offsetY = parseInt(transformValues[5], 10);\n }\n\n if (direction === 'left') {\n return \"translateX(\".concat(window.innerWidth, \"px) translateX(\").concat(offsetX - rect.left, \"px)\");\n }\n\n if (direction === 'right') {\n return \"translateX(-\".concat(rect.left + rect.width - offsetX, \"px)\");\n }\n\n if (direction === 'up') {\n return \"translateY(\".concat(window.innerHeight, \"px) translateY(\").concat(offsetY - rect.top, \"px)\");\n } // direction === 'down'\n\n\n return \"translateY(-\".concat(rect.top + rect.height - offsetY, \"px)\");\n}\n\nexport function setTranslateValue(direction, node) {\n var transform = getTranslateValue(direction, node);\n\n if (transform) {\n node.style.webkitTransform = transform;\n node.style.transform = transform;\n }\n}\nvar defaultTimeout = {\n enter: duration.enteringScreen,\n exit: duration.leavingScreen\n};\n/**\n * The Slide transition is used by the [Drawer](/components/drawers/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n var children = props.children,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'down' : _props$direction,\n inProp = props.in,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n style = props.style,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? defaultTimeout : _props$timeout,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n other = _objectWithoutProperties(props, [\"children\", \"direction\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n\n var theme = useTheme();\n var childrenRef = React.useRef(null);\n /**\n * used in cloneElement(children, { ref: handleRef })\n */\n\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n childrenRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n var handleRefIntermediary = useForkRef(children.ref, handleOwnRef);\n var handleRef = useForkRef(handleRefIntermediary, ref);\n\n var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n return function (isAppearing) {\n if (callback) {\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (isAppearing === undefined) {\n callback(childrenRef.current);\n } else {\n callback(childrenRef.current, isAppearing);\n }\n }\n };\n };\n\n var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n setTranslateValue(direction, node);\n reflow(node);\n\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n var handleEntering = normalizedTransitionCallback(function (node, isAppearing) {\n var transitionProps = getTransitionProps({\n timeout: timeout,\n style: style\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps, {\n easing: theme.transitions.easing.easeOut\n }));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps, {\n easing: theme.transitions.easing.easeOut\n }));\n node.style.webkitTransform = 'none';\n node.style.transform = 'none';\n\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n var handleEntered = normalizedTransitionCallback(onEntered);\n var handleExiting = normalizedTransitionCallback(onExiting);\n var handleExit = normalizedTransitionCallback(function (node) {\n var transitionProps = getTransitionProps({\n timeout: timeout,\n style: style\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps, {\n easing: theme.transitions.easing.sharp\n }));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps, {\n easing: theme.transitions.easing.sharp\n }));\n setTranslateValue(direction, node);\n\n if (onExit) {\n onExit(node);\n }\n });\n var handleExited = normalizedTransitionCallback(function (node) {\n // No need for transitions when the component is hidden\n node.style.webkitTransition = '';\n node.style.transition = '';\n\n if (onExited) {\n onExited(node);\n }\n });\n var updatePosition = React.useCallback(function () {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current);\n }\n }, [direction]);\n React.useEffect(function () {\n // Skip configuration where the position is screen size invariant.\n if (inProp || direction === 'down' || direction === 'right') {\n return undefined;\n }\n\n var handleResize = debounce(function () {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current);\n }\n });\n window.addEventListener('resize', handleResize);\n return function () {\n handleResize.clear();\n window.removeEventListener('resize', handleResize);\n };\n }, [direction, inProp]);\n React.useEffect(function () {\n if (!inProp) {\n // We need to update the position of the drawer when the direction change and\n // when it's hidden.\n updatePosition();\n }\n }, [inProp, updatePosition]);\n return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n nodeRef: childrenRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n appear: true,\n in: inProp,\n timeout: timeout\n }, other), function (state, childProps) {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n ref: handleRef,\n style: _extends({\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, style, children.props.style)\n }, childProps));\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n\n /**\n * Direction the child node will enter from.\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n\n /**\n * If `true`, show the component; triggers the enter or exit animation.\n */\n in: PropTypes.bool,\n\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Slide;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport Modal from '../Modal';\nimport Backdrop from '../Backdrop';\nimport withStyles from '../styles/withStyles';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport { duration } from '../styles/transitions';\nimport useTheme from '../styles/useTheme';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {},\n\n /* Styles applied to the root element if `variant=\"permanent or persistent\"`. */\n docked: {\n flex: '0 0 auto'\n },\n\n /* Styles applied to the `Paper` component. */\n paper: {\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: theme.zIndex.drawer,\n WebkitOverflowScrolling: 'touch',\n // Add iOS momentum scrolling.\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"left\"`. */\n paperAnchorLeft: {\n left: 0,\n right: 'auto'\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"right\"`. */\n paperAnchorRight: {\n left: 'auto',\n right: 0\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"top\"`. */\n paperAnchorTop: {\n top: 0,\n left: 0,\n bottom: 'auto',\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"bottom\"`. */\n paperAnchorBottom: {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"left\"` and `variant` is not \"temporary\". */\n paperAnchorDockedLeft: {\n borderRight: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"top\"` and `variant` is not \"temporary\". */\n paperAnchorDockedTop: {\n borderBottom: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"right\"` and `variant` is not \"temporary\". */\n paperAnchorDockedRight: {\n borderLeft: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"bottom\"` and `variant` is not \"temporary\". */\n paperAnchorDockedBottom: {\n borderTop: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Modal` component. */\n modal: {}\n };\n};\nvar oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor(theme, anchor) {\n return theme.direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\nvar defaultTransitionDuration = {\n enter: duration.enteringScreen,\n exit: duration.leavingScreen\n};\n/**\n * The props of the [Modal](/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\n\nvar Drawer = /*#__PURE__*/React.forwardRef(function Drawer(props, ref) {\n var _props$anchor = props.anchor,\n anchorProp = _props$anchor === void 0 ? 'left' : _props$anchor,\n BackdropProps = props.BackdropProps,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$elevation = props.elevation,\n elevation = _props$elevation === void 0 ? 16 : _props$elevation,\n _props$ModalProps = props.ModalProps;\n _props$ModalProps = _props$ModalProps === void 0 ? {} : _props$ModalProps;\n\n var BackdropPropsProp = _props$ModalProps.BackdropProps,\n ModalProps = _objectWithoutProperties(_props$ModalProps, [\"BackdropProps\"]),\n onClose = props.onClose,\n _props$open = props.open,\n open = _props$open === void 0 ? false : _props$open,\n _props$PaperProps = props.PaperProps,\n PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,\n SlideProps = props.SlideProps,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Slide : _props$TransitionComp,\n _props$transitionDura = props.transitionDuration,\n transitionDuration = _props$transitionDura === void 0 ? defaultTransitionDuration : _props$transitionDura,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'temporary' : _props$variant,\n other = _objectWithoutProperties(props, [\"anchor\", \"BackdropProps\", \"children\", \"classes\", \"className\", \"elevation\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"]);\n\n var theme = useTheme(); // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n\n var mounted = React.useRef(false);\n React.useEffect(function () {\n mounted.current = true;\n }, []);\n var anchor = getAnchor(theme, anchorProp);\n var drawer = /*#__PURE__*/React.createElement(Paper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, classes[\"paperAnchor\".concat(capitalize(anchor))], PaperProps.className, variant !== 'temporary' && classes[\"paperAnchorDocked\".concat(capitalize(anchor))])\n }), children);\n\n if (variant === 'permanent') {\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes.docked, className),\n ref: ref\n }, other), drawer);\n }\n\n var slidingDrawer = /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchor],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps), drawer);\n\n if (variant === 'persistent') {\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes.docked, className),\n ref: ref\n }, other), slidingDrawer);\n } // variant === temporary\n\n\n return /*#__PURE__*/React.createElement(Modal, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration: transitionDuration\n }),\n BackdropComponent: Backdrop,\n className: clsx(classes.root, classes.modal, className),\n open: open,\n onClose: onClose,\n ref: ref\n }, other, ModalProps), slidingDrawer);\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * Side from which the drawer will appear.\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n\n /**\n * The contents of the drawer.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The elevation of the drawer.\n */\n elevation: PropTypes.number,\n\n /**\n * Props applied to the [`Modal`](/api/modal/) element.\n */\n ModalProps: PropTypes.object,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n\n /**\n * If `true`, the drawer is open.\n */\n open: PropTypes.bool,\n\n /**\n * Props applied to the [`Paper`](/api/paper/) element.\n */\n PaperProps: PropTypes.object,\n\n /**\n * Props applied to the [`Slide`](/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiDrawer',\n flip: false\n})(Drawer);","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nvar useEnhancedEffect = typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' ? React.useLayoutEffect : React.useEffect;\n/**\n * NoSsr purposely removes components from the subject of Server Side Rendering (SSR).\n *\n * This component can be useful in a variety of situations:\n * - Escape hatch for broken dependencies not supporting SSR.\n * - Improve the time-to-first paint on the client by only rendering above the fold.\n * - Reduce the rendering time on the server.\n * - Under too heavy server load, you can turn on service degradation.\n */\n\nfunction NoSsr(props) {\n var children = props.children,\n _props$defer = props.defer,\n defer = _props$defer === void 0 ? false : _props$defer,\n _props$fallback = props.fallback,\n fallback = _props$fallback === void 0 ? null : _props$fallback;\n\n var _React$useState = React.useState(false),\n mountedState = _React$useState[0],\n setMountedState = _React$useState[1];\n\n useEnhancedEffect(function () {\n if (!defer) {\n setMountedState(true);\n }\n }, [defer]);\n React.useEffect(function () {\n if (defer) {\n setMountedState(true);\n }\n }, [defer]); // We need the Fragment here to force react-docgen to recognise NoSsr as a component.\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, mountedState ? children : fallback);\n}\n\nprocess.env.NODE_ENV !== \"production\" ? NoSsr.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * You can wrap a node.\n */\n children: PropTypes.node,\n\n /**\n * If `true`, the component will not only prevent server-side rendering.\n * It will also defer the rendering of the children into a different screen frame.\n */\n defer: PropTypes.bool,\n\n /**\n * The fallback content to display.\n */\n fallback: PropTypes.node\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n NoSsr['propTypes' + ''] = exactProp(NoSsr.propTypes);\n}\n\nexport default NoSsr;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nimport { isHorizontal } from '../Drawer/Drawer';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'fixed',\n top: 0,\n left: 0,\n bottom: 0,\n zIndex: theme.zIndex.drawer - 1\n },\n anchorLeft: {\n right: 'auto'\n },\n anchorRight: {\n left: 'auto',\n right: 0\n },\n anchorTop: {\n bottom: 'auto',\n right: 0\n },\n anchorBottom: {\n top: 'auto',\n bottom: 0,\n right: 0\n }\n };\n};\n/**\n * @ignore - internal component.\n */\n\nvar SwipeArea = /*#__PURE__*/React.forwardRef(function SwipeArea(props, ref) {\n var anchor = props.anchor,\n classes = props.classes,\n className = props.className,\n width = props.width,\n other = _objectWithoutProperties(props, [\"anchor\", \"classes\", \"className\", \"width\"]);\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes[\"anchor\".concat(capitalize(anchor))], className),\n ref: ref,\n style: _defineProperty({}, isHorizontal(anchor) ? 'width' : 'height', width)\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? SwipeArea.propTypes = {\n /**\n * Side on which to attach the discovery area.\n */\n anchor: PropTypes.oneOf(['left', 'top', 'right', 'bottom']).isRequired,\n\n /**\n * @ignore\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The width of the left most (or right most) area in pixels where the\n * drawer can be swiped open from.\n */\n width: PropTypes.number.isRequired\n} : void 0;\nexport default withStyles(styles, {\n name: 'PrivateSwipeArea'\n})(SwipeArea);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport { elementTypeAcceptingRef } from '@material-ui/utils';\nimport { getThemeProps } from '@material-ui/styles';\nimport Drawer, { getAnchor, isHorizontal } from '../Drawer/Drawer';\nimport ownerDocument from '../utils/ownerDocument';\nimport useEventCallback from '../utils/useEventCallback';\nimport { duration } from '../styles/transitions';\nimport useTheme from '../styles/useTheme';\nimport { getTransitionProps } from '../transitions/utils';\nimport NoSsr from '../NoSsr';\nimport SwipeArea from './SwipeArea'; // This value is closed to what browsers are using internally to\n// trigger a native scroll.\n\nvar UNCERTAINTY_THRESHOLD = 3; // px\n// We can only have one node at the time claiming ownership for handling the swipe.\n// Otherwise, the UX would be confusing.\n// That's why we use a singleton here.\n\nvar nodeThatClaimedTheSwipe = null; // Exported for test purposes.\n\nexport function reset() {\n nodeThatClaimedTheSwipe = null;\n}\n\nfunction calculateCurrentX(anchor, touches) {\n return anchor === 'right' ? document.body.offsetWidth - touches[0].pageX : touches[0].pageX;\n}\n\nfunction calculateCurrentY(anchor, touches) {\n return anchor === 'bottom' ? window.innerHeight - touches[0].clientY : touches[0].clientY;\n}\n\nfunction getMaxTranslate(horizontalSwipe, paperInstance) {\n return horizontalSwipe ? paperInstance.clientWidth : paperInstance.clientHeight;\n}\n\nfunction getTranslate(currentTranslate, startLocation, open, maxTranslate) {\n return Math.min(Math.max(open ? startLocation - currentTranslate : maxTranslate + startLocation - currentTranslate, 0), maxTranslate);\n}\n\nfunction getDomTreeShapes(element, rootNode) {\n // Adapted from https://github.com/oliviertassinari/react-swipeable-views/blob/7666de1dba253b896911adf2790ce51467670856/packages/react-swipeable-views/src/SwipeableViews.js#L129\n var domTreeShapes = [];\n\n while (element && element !== rootNode) {\n var style = window.getComputedStyle(element);\n\n if ( // Ignore the scroll children if the element is absolute positioned.\n style.getPropertyValue('position') === 'absolute' || // Ignore the scroll children if the element has an overflowX hidden\n style.getPropertyValue('overflow-x') === 'hidden') {\n domTreeShapes = [];\n } else if (element.clientWidth > 0 && element.scrollWidth > element.clientWidth || element.clientHeight > 0 && element.scrollHeight > element.clientHeight) {\n // Ignore the nodes that have no width.\n // Keep elements with a scroll\n domTreeShapes.push(element);\n }\n\n element = element.parentElement;\n }\n\n return domTreeShapes;\n}\n\nfunction findNativeHandler(_ref) {\n var domTreeShapes = _ref.domTreeShapes,\n start = _ref.start,\n current = _ref.current,\n anchor = _ref.anchor;\n // Adapted from https://github.com/oliviertassinari/react-swipeable-views/blob/7666de1dba253b896911adf2790ce51467670856/packages/react-swipeable-views/src/SwipeableViews.js#L175\n var axisProperties = {\n scrollPosition: {\n x: 'scrollLeft',\n y: 'scrollTop'\n },\n scrollLength: {\n x: 'scrollWidth',\n y: 'scrollHeight'\n },\n clientLength: {\n x: 'clientWidth',\n y: 'clientHeight'\n }\n };\n return domTreeShapes.some(function (shape) {\n // Determine if we are going backward or forward.\n var goingForward = current >= start;\n\n if (anchor === 'top' || anchor === 'left') {\n goingForward = !goingForward;\n }\n\n var axis = anchor === 'left' || anchor === 'right' ? 'x' : 'y';\n var scrollPosition = shape[axisProperties.scrollPosition[axis]];\n var areNotAtStart = scrollPosition > 0;\n var areNotAtEnd = scrollPosition + shape[axisProperties.clientLength[axis]] < shape[axisProperties.scrollLength[axis]];\n\n if (goingForward && areNotAtEnd || !goingForward && areNotAtStart) {\n return shape;\n }\n\n return null;\n });\n}\n\nvar iOS = typeof navigator !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar transitionDurationDefault = {\n enter: duration.enteringScreen,\n exit: duration.leavingScreen\n};\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar SwipeableDrawer = /*#__PURE__*/React.forwardRef(function SwipeableDrawer(inProps, ref) {\n var theme = useTheme();\n var props = getThemeProps({\n name: 'MuiSwipeableDrawer',\n props: _extends({}, inProps),\n theme: theme\n });\n var _props$anchor = props.anchor,\n anchor = _props$anchor === void 0 ? 'left' : _props$anchor,\n _props$disableBackdro = props.disableBackdropTransition,\n disableBackdropTransition = _props$disableBackdro === void 0 ? false : _props$disableBackdro,\n _props$disableDiscove = props.disableDiscovery,\n disableDiscovery = _props$disableDiscove === void 0 ? false : _props$disableDiscove,\n _props$disableSwipeTo = props.disableSwipeToOpen,\n disableSwipeToOpen = _props$disableSwipeTo === void 0 ? iOS : _props$disableSwipeTo,\n hideBackdrop = props.hideBackdrop,\n _props$hysteresis = props.hysteresis,\n hysteresis = _props$hysteresis === void 0 ? 0.52 : _props$hysteresis,\n _props$minFlingVeloci = props.minFlingVelocity,\n minFlingVelocity = _props$minFlingVeloci === void 0 ? 450 : _props$minFlingVeloci,\n _props$ModalProps = props.ModalProps;\n _props$ModalProps = _props$ModalProps === void 0 ? {} : _props$ModalProps;\n\n var BackdropProps = _props$ModalProps.BackdropProps,\n ModalPropsProp = _objectWithoutProperties(_props$ModalProps, [\"BackdropProps\"]),\n onClose = props.onClose,\n onOpen = props.onOpen,\n open = props.open,\n _props$PaperProps = props.PaperProps,\n PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,\n SwipeAreaProps = props.SwipeAreaProps,\n _props$swipeAreaWidth = props.swipeAreaWidth,\n swipeAreaWidth = _props$swipeAreaWidth === void 0 ? 20 : _props$swipeAreaWidth,\n _props$transitionDura = props.transitionDuration,\n transitionDuration = _props$transitionDura === void 0 ? transitionDurationDefault : _props$transitionDura,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'temporary' : _props$variant,\n other = _objectWithoutProperties(props, [\"anchor\", \"disableBackdropTransition\", \"disableDiscovery\", \"disableSwipeToOpen\", \"hideBackdrop\", \"hysteresis\", \"minFlingVelocity\", \"ModalProps\", \"onClose\", \"onOpen\", \"open\", \"PaperProps\", \"SwipeAreaProps\", \"swipeAreaWidth\", \"transitionDuration\", \"variant\"]);\n\n var _React$useState = React.useState(false),\n maybeSwiping = _React$useState[0],\n setMaybeSwiping = _React$useState[1];\n\n var swipeInstance = React.useRef({\n isSwiping: null\n });\n var swipeAreaRef = React.useRef();\n var backdropRef = React.useRef();\n var paperRef = React.useRef();\n var touchDetected = React.useRef(false); // Ref for transition duration based on / to match swipe speed\n\n var calculatedDurationRef = React.useRef(); // Use a ref so the open value used is always up to date inside useCallback.\n\n useEnhancedEffect(function () {\n calculatedDurationRef.current = null;\n }, [open]);\n var setPosition = React.useCallback(function (translate) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$mode = options.mode,\n mode = _options$mode === void 0 ? null : _options$mode,\n _options$changeTransi = options.changeTransition,\n changeTransition = _options$changeTransi === void 0 ? true : _options$changeTransi;\n var anchorRtl = getAnchor(theme, anchor);\n var rtlTranslateMultiplier = ['right', 'bottom'].indexOf(anchorRtl) !== -1 ? 1 : -1;\n var horizontalSwipe = isHorizontal(anchor);\n var transform = horizontalSwipe ? \"translate(\".concat(rtlTranslateMultiplier * translate, \"px, 0)\") : \"translate(0, \".concat(rtlTranslateMultiplier * translate, \"px)\");\n var drawerStyle = paperRef.current.style;\n drawerStyle.webkitTransform = transform;\n drawerStyle.transform = transform;\n var transition = '';\n\n if (mode) {\n transition = theme.transitions.create('all', getTransitionProps({\n timeout: transitionDuration\n }, {\n mode: mode\n }));\n }\n\n if (changeTransition) {\n drawerStyle.webkitTransition = transition;\n drawerStyle.transition = transition;\n }\n\n if (!disableBackdropTransition && !hideBackdrop) {\n var backdropStyle = backdropRef.current.style;\n backdropStyle.opacity = 1 - translate / getMaxTranslate(horizontalSwipe, paperRef.current);\n\n if (changeTransition) {\n backdropStyle.webkitTransition = transition;\n backdropStyle.transition = transition;\n }\n }\n }, [anchor, disableBackdropTransition, hideBackdrop, theme, transitionDuration]);\n var handleBodyTouchEnd = useEventCallback(function (event) {\n if (!touchDetected.current) {\n return;\n }\n\n nodeThatClaimedTheSwipe = null;\n touchDetected.current = false;\n setMaybeSwiping(false); // The swipe wasn't started.\n\n if (!swipeInstance.current.isSwiping) {\n swipeInstance.current.isSwiping = null;\n return;\n }\n\n swipeInstance.current.isSwiping = null;\n var anchorRtl = getAnchor(theme, anchor);\n var horizontal = isHorizontal(anchor);\n var current;\n\n if (horizontal) {\n current = calculateCurrentX(anchorRtl, event.changedTouches);\n } else {\n current = calculateCurrentY(anchorRtl, event.changedTouches);\n }\n\n var startLocation = horizontal ? swipeInstance.current.startX : swipeInstance.current.startY;\n var maxTranslate = getMaxTranslate(horizontal, paperRef.current);\n var currentTranslate = getTranslate(current, startLocation, open, maxTranslate);\n var translateRatio = currentTranslate / maxTranslate;\n\n if (Math.abs(swipeInstance.current.velocity) > minFlingVelocity) {\n // Calculate transition duration to match swipe speed\n calculatedDurationRef.current = Math.abs((maxTranslate - currentTranslate) / swipeInstance.current.velocity) * 1000;\n }\n\n if (open) {\n if (swipeInstance.current.velocity > minFlingVelocity || translateRatio > hysteresis) {\n onClose();\n } else {\n // Reset the position, the swipe was aborted.\n setPosition(0, {\n mode: 'exit'\n });\n }\n\n return;\n }\n\n if (swipeInstance.current.velocity < -minFlingVelocity || 1 - translateRatio > hysteresis) {\n onOpen();\n } else {\n // Reset the position, the swipe was aborted.\n setPosition(getMaxTranslate(horizontal, paperRef.current), {\n mode: 'enter'\n });\n }\n });\n var handleBodyTouchMove = useEventCallback(function (event) {\n // the ref may be null when a parent component updates while swiping\n if (!paperRef.current || !touchDetected.current) {\n return;\n } // We are not supposed to handle this touch move because the swipe was started in a scrollable container in the drawer\n\n\n if (nodeThatClaimedTheSwipe != null && nodeThatClaimedTheSwipe !== swipeInstance.current) {\n return;\n }\n\n var anchorRtl = getAnchor(theme, anchor);\n var horizontalSwipe = isHorizontal(anchor);\n var currentX = calculateCurrentX(anchorRtl, event.touches);\n var currentY = calculateCurrentY(anchorRtl, event.touches);\n\n if (open && paperRef.current.contains(event.target) && nodeThatClaimedTheSwipe == null) {\n var domTreeShapes = getDomTreeShapes(event.target, paperRef.current);\n var nativeHandler = findNativeHandler({\n domTreeShapes: domTreeShapes,\n start: horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY,\n current: horizontalSwipe ? currentX : currentY,\n anchor: anchor\n });\n\n if (nativeHandler) {\n nodeThatClaimedTheSwipe = nativeHandler;\n return;\n }\n\n nodeThatClaimedTheSwipe = swipeInstance.current;\n } // We don't know yet.\n\n\n if (swipeInstance.current.isSwiping == null) {\n var dx = Math.abs(currentX - swipeInstance.current.startX);\n var dy = Math.abs(currentY - swipeInstance.current.startY); // We are likely to be swiping, let's prevent the scroll event on iOS.\n\n if (dx > dy) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n\n var definitelySwiping = horizontalSwipe ? dx > dy && dx > UNCERTAINTY_THRESHOLD : dy > dx && dy > UNCERTAINTY_THRESHOLD;\n\n if (definitelySwiping === true || (horizontalSwipe ? dy > UNCERTAINTY_THRESHOLD : dx > UNCERTAINTY_THRESHOLD)) {\n swipeInstance.current.isSwiping = definitelySwiping;\n\n if (!definitelySwiping) {\n handleBodyTouchEnd(event);\n return;\n } // Shift the starting point.\n\n\n swipeInstance.current.startX = currentX;\n swipeInstance.current.startY = currentY; // Compensate for the part of the drawer displayed on touch start.\n\n if (!disableDiscovery && !open) {\n if (horizontalSwipe) {\n swipeInstance.current.startX -= swipeAreaWidth;\n } else {\n swipeInstance.current.startY -= swipeAreaWidth;\n }\n }\n }\n }\n\n if (!swipeInstance.current.isSwiping) {\n return;\n }\n\n var maxTranslate = getMaxTranslate(horizontalSwipe, paperRef.current);\n var startLocation = horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY;\n\n if (open && !swipeInstance.current.paperHit) {\n startLocation = Math.min(startLocation, maxTranslate);\n }\n\n var translate = getTranslate(horizontalSwipe ? currentX : currentY, startLocation, open, maxTranslate);\n\n if (open) {\n if (!swipeInstance.current.paperHit) {\n var paperHit = horizontalSwipe ? currentX < maxTranslate : currentY < maxTranslate;\n\n if (paperHit) {\n swipeInstance.current.paperHit = true;\n swipeInstance.current.startX = currentX;\n swipeInstance.current.startY = currentY;\n } else {\n return;\n }\n } else if (translate === 0) {\n swipeInstance.current.startX = currentX;\n swipeInstance.current.startY = currentY;\n }\n }\n\n if (swipeInstance.current.lastTranslate === null) {\n swipeInstance.current.lastTranslate = translate;\n swipeInstance.current.lastTime = performance.now() + 1;\n }\n\n var velocity = (translate - swipeInstance.current.lastTranslate) / (performance.now() - swipeInstance.current.lastTime) * 1e3; // Low Pass filter.\n\n swipeInstance.current.velocity = swipeInstance.current.velocity * 0.4 + velocity * 0.6;\n swipeInstance.current.lastTranslate = translate;\n swipeInstance.current.lastTime = performance.now(); // We are swiping, let's prevent the scroll event on iOS.\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n setPosition(translate);\n });\n var handleBodyTouchStart = useEventCallback(function (event) {\n // We are not supposed to handle this touch move.\n // Example of use case: ignore the event if there is a Slider.\n if (event.defaultPrevented) {\n return;\n } // We can only have one node at the time claiming ownership for handling the swipe.\n\n\n if (event.muiHandled) {\n return;\n } // At least one element clogs the drawer interaction zone.\n\n\n if (open && !backdropRef.current.contains(event.target) && !paperRef.current.contains(event.target)) {\n return;\n }\n\n var anchorRtl = getAnchor(theme, anchor);\n var horizontalSwipe = isHorizontal(anchor);\n var currentX = calculateCurrentX(anchorRtl, event.touches);\n var currentY = calculateCurrentY(anchorRtl, event.touches);\n\n if (!open) {\n if (disableSwipeToOpen || event.target !== swipeAreaRef.current) {\n return;\n }\n\n if (horizontalSwipe) {\n if (currentX > swipeAreaWidth) {\n return;\n }\n } else if (currentY > swipeAreaWidth) {\n return;\n }\n }\n\n event.muiHandled = true;\n nodeThatClaimedTheSwipe = null;\n swipeInstance.current.startX = currentX;\n swipeInstance.current.startY = currentY;\n setMaybeSwiping(true);\n\n if (!open && paperRef.current) {\n // The ref may be null when a parent component updates while swiping.\n setPosition(getMaxTranslate(horizontalSwipe, paperRef.current) + (disableDiscovery ? 20 : -swipeAreaWidth), {\n changeTransition: false\n });\n }\n\n swipeInstance.current.velocity = 0;\n swipeInstance.current.lastTime = null;\n swipeInstance.current.lastTranslate = null;\n swipeInstance.current.paperHit = false;\n touchDetected.current = true;\n });\n React.useEffect(function () {\n if (variant === 'temporary') {\n var doc = ownerDocument(paperRef.current);\n doc.addEventListener('touchstart', handleBodyTouchStart);\n doc.addEventListener('touchmove', handleBodyTouchMove, {\n passive: false\n });\n doc.addEventListener('touchend', handleBodyTouchEnd);\n return function () {\n doc.removeEventListener('touchstart', handleBodyTouchStart);\n doc.removeEventListener('touchmove', handleBodyTouchMove, {\n passive: false\n });\n doc.removeEventListener('touchend', handleBodyTouchEnd);\n };\n }\n\n return undefined;\n }, [variant, handleBodyTouchStart, handleBodyTouchMove, handleBodyTouchEnd]);\n React.useEffect(function () {\n return function () {\n // We need to release the lock.\n if (nodeThatClaimedTheSwipe === swipeInstance.current) {\n nodeThatClaimedTheSwipe = null;\n }\n };\n }, []);\n React.useEffect(function () {\n if (!open) {\n setMaybeSwiping(false);\n }\n }, [open]);\n var handleBackdropRef = React.useCallback(function (instance) {\n // #StrictMode ready\n backdropRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Drawer, _extends({\n open: variant === 'temporary' && maybeSwiping ? true : open,\n variant: variant,\n ModalProps: _extends({\n BackdropProps: _extends({}, BackdropProps, {\n ref: handleBackdropRef\n })\n }, ModalPropsProp),\n PaperProps: _extends({}, PaperProps, {\n style: _extends({\n pointerEvents: variant === 'temporary' && !open ? 'none' : ''\n }, PaperProps.style),\n ref: paperRef\n }),\n anchor: anchor,\n transitionDuration: calculatedDurationRef.current || transitionDuration,\n onClose: onClose,\n ref: ref\n }, other)), !disableSwipeToOpen && variant === 'temporary' && /*#__PURE__*/React.createElement(NoSsr, null, /*#__PURE__*/React.createElement(SwipeArea, _extends({\n anchor: anchor,\n ref: swipeAreaRef,\n width: swipeAreaWidth\n }, SwipeAreaProps))));\n});\nprocess.env.NODE_ENV !== \"production\" ? SwipeableDrawer.propTypes = {\n /**\n * @ignore\n */\n anchor: PropTypes.oneOf(['left', 'top', 'right', 'bottom']),\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Disable the backdrop transition.\n * This can improve the FPS on low-end devices.\n */\n disableBackdropTransition: PropTypes.bool,\n\n /**\n * If `true`, touching the screen near the edge of the drawer will not slide in the drawer a bit\n * to promote accidental discovery of the swipe gesture.\n */\n disableDiscovery: PropTypes.bool,\n\n /**\n * If `true`, swipe to open is disabled. This is useful in browsers where swiping triggers\n * navigation actions. Swipe to open is disabled on iOS browsers by default.\n */\n disableSwipeToOpen: PropTypes.bool,\n\n /**\n * @ignore\n */\n hideBackdrop: PropTypes.bool,\n\n /**\n * Affects how far the drawer must be opened/closed to change his state.\n * Specified as percent (0-1) of the width of the drawer\n */\n hysteresis: PropTypes.number,\n\n /**\n * Defines, from which (average) velocity on, the swipe is\n * defined as complete although hysteresis isn't reached.\n * Good threshold is between 250 - 1000 px/s\n */\n minFlingVelocity: PropTypes.number,\n\n /**\n * @ignore\n */\n ModalProps: PropTypes.shape({\n BackdropProps: PropTypes.shape({\n component: elementTypeAcceptingRef\n })\n }),\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func.isRequired,\n\n /**\n * Callback fired when the component requests to be opened.\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func.isRequired,\n\n /**\n * If `true`, the drawer is open.\n */\n open: PropTypes.bool.isRequired,\n\n /**\n * @ignore\n */\n PaperProps: PropTypes.shape({\n component: elementTypeAcceptingRef,\n style: PropTypes.object\n }),\n\n /**\n * The element is used to intercept the touch events on the edge.\n */\n SwipeAreaProps: PropTypes.object,\n\n /**\n * The width of the left most (or right most) area in pixels where the\n * drawer can be swiped open from.\n */\n swipeAreaWidth: PropTypes.number,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * @ignore\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default SwipeableDrawer;","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'ChevronLeft');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"\n}), 'Menu');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.67 13.13C18.04 14.06 19 15.32 19 17v3h4v-3c0-2.18-3.57-3.47-6.33-3.87z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"9\",\n cy: \"8\",\n r: \"4\",\n fillRule: \"evenodd\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24C14.5 5.27 15 6.58 15 8s-.5 2.73-1.33 3.76c.42.14.86.24 1.33.24zM9 13c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n})), 'PeopleAlt');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z\"\n}), 'MailOutline');","import React, { useContext, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Avatar, Tooltip } from '@material-ui/core';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport PowerSettingsNewIcon from '@material-ui/icons/PowerSettingsNew';\nimport SpeedIcon from '@material-ui/icons/Speed';\nimport HelpOutlineIcon from '@material-ui/icons/HelpOutline';\nimport PersonOutlineIcon from '@material-ui/icons/PersonOutline';\nimport PeopleOutlineIcon from '@material-ui/icons/PeopleOutline';\nimport { getPath } from '../../pages/Pages';\nimport { AppContext, SttMenu } from '../../sporttia/all';\n\nexport default function SCHeaderAvatar() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n /**\n * Logout\n */\n const logout = () => {\n cxt.api('POST', '/logout', {\n confirmation: true,\n success: () => {\n cxt.setLoggedUser(false);\n cxt.setHeader(null);\n },\n });\n };\n\n /**\n * If \"cxt.logged\" change and is false, we will redirect to login page.\n */\n useEffect(() => {\n if (!cxt.logged) history.push(getPath('loadingSporttia'));\n }, [cxt.logged, history]);\n\n return (\n \n \n {cxt &&\n cxt.user &&\n cxt.user.name &&\n cxt.user.name.substring(0, 1)}\n \n \n }\n items={[\n {\n caption: cxt.user.name,\n onClick: () => history.push(getPath('account')),\n },\n {\n show: !!(cxt.privileges && cxt.privileges.includes(11)),\n divider: true,\n caption: cxt.t('Configuration'),\n icon: ,\n onClick: () => history.push(getPath('scConfiguration')),\n },\n {\n show: !!(cxt.privileges && cxt.privileges.includes(11)),\n caption: cxt.t('Administrators'),\n icon: ,\n onClick: () => history.push(getPath('scRoles')),\n },\n {\n divider: true,\n caption: cxt.t('MyAccount'),\n icon: ,\n onClick: () => history.push(getPath('account')),\n },\n {\n caption: cxt.t('Subscription'),\n icon: ,\n onClick: () => history.push(getPath('subscriptions')),\n },\n {\n divider: true,\n caption: cxt.t('Help'),\n icon: ,\n onClick: () => history.push(getPath('help')),\n },\n {\n divider: true,\n caption: cxt.t('Exit'),\n icon: ,\n onClick: () => logout(),\n },\n ]}\n />\n );\n}\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { getPath } from '../pages/Pages';\n\nconst useStyles = makeStyles((theme) => ({\n link: {\n color: 'rgba(0, 0, 0, 0.87)',\n '&:hover': {\n textDecoration: 'none',\n },\n },\n}));\n\n/**\n * LinkWrapper creates a style-less tag which will run 'callback' when clicked with the left mouse button, but operate normally for other buttons.\n * ReactNode children\n * String href - the url to open when operating as a link\n * String target - \"_new\", \"_blank\", etc\n * Function callback - function to run when clicked with the left mouse button\n */\nexport default function LinkWrapper({\n children,\n href,\n target = '_blank',\n callback,\n}) {\n const classes = useStyles();\n\n return (\n e.preventDefault()}\n onMouseUp={(e) => {\n if (callback && e.button === 0) {\n e.preventDefault();\n callback();\n }\n }}\n >\n {children}\n \n );\n}\n","/* eslint-disable no-nested-ternary */\nimport React, { useState, useContext } from 'react';\nimport {\n Box,\n CircularProgress,\n Grid,\n Paper,\n Typography,\n} from '@material-ui/core';\nimport { AppContext, SttDialog } from '../../sporttia/all';\nimport DeviceSpace from '../../types/models/DeviceSpace';\nimport useScsService from '../../services/ScsService';\nimport { useTranslations } from '../../lib/hooks';\nimport translations from '../../translations';\nimport DeviceSpaceDialog from './DeviceSpaceDialog';\n\ntype CapacityMonitorDialogProps = {\n onClose: () => void;\n};\n\nfunction getDeviceSpaceColor(currentCapacity: number, maximumCapacity: number) {\n const percentageFilled = currentCapacity / maximumCapacity;\n return percentageFilled < 0.5\n ? '#067502'\n : percentageFilled < 0.8\n ? '#c79200'\n : percentageFilled < 1.0\n ? '#730121'\n : '#730121';\n}\n\nexport default function CapacityMonitorDialog({\n onClose,\n}: CapacityMonitorDialogProps) {\n const cxt = useContext(AppContext)!;\n const scsService = useScsService();\n const { translate } = useTranslations();\n const [deviceSpace, setDeviceSpace] = useState(null);\n const devicesSpacesQuery = scsService.useGetScsDevicesCapacities(\n // @ts-expect-error hay prisa\n cxt?.sc?.id,\n {},\n {\n refetchInterval: 300000, // milliseconds\n },\n );\n if (devicesSpacesQuery.isLoading) {\n return (\n \n \n \n }\n title={undefined}\n onClose={undefined}\n buttons={undefined}\n />\n );\n }\n\n return (\n <>\n \n {devicesSpacesQuery?.data?.rows.map(\n (item: DeviceSpace) => (\n \n \n setDeviceSpace(item)}\n >\n {`${item?.name}: ${item?.currentCapacity} / ${item?.maximumCapacity}`}\n \n \n \n ),\n )}\n \n }\n buttons={undefined}\n />\n {deviceSpace && (\n {\n setDeviceSpace(null);\n devicesSpacesQuery.refetch();\n }}\n onClose={() => {\n setDeviceSpace(null);\n }}\n />\n )}\n \n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport clsx from 'clsx';\nimport {\n Hidden,\n SwipeableDrawer,\n makeStyles,\n Drawer,\n Box,\n AppBar,\n Toolbar,\n List,\n Typography,\n ListItemIcon,\n ListItemText,\n ListItem,\n Divider,\n IconButton,\n Collapse,\n Avatar,\n Tooltip,\n} from '@material-ui/core';\nimport Link from '@material-ui/core/Link';\nimport {\n Menu as MenuIcon,\n ChevronLeft as ChevronLeftIcon,\n ExpandMore as ExpandMoreIcon,\n ExpandLess as ExpandLessIcon,\n MailOutline as MailOutlineIcon,\n Euro as EuroIcon,\n Apps as AppsIcon,\n PeopleAlt as PeopleAltIcon,\n Visibility,\n} from '@material-ui/icons';\nimport AccountBalanceIcon from '@material-ui/icons/AccountBalance';\nimport PeopleIcon from '@material-ui/icons/People';\nimport EmojiEventsIcon from '@material-ui/icons/EmojiEvents';\nimport SchoolIcon from '@material-ui/icons/School';\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\nimport HelpOutlineIcon from '@material-ui/icons/HelpOutline';\nimport SportsIcon from '@material-ui/icons/Sports';\nimport ListAltIcon from '@material-ui/icons/ListAlt';\nimport PublicIcon from '@material-ui/icons/Public';\nimport GolfIcon from '@material-ui/icons/GolfCourse';\nimport { getPath } from '../../pages/Pages';\nimport SCHeaderAvatar from './SCHeaderAvatar';\nimport sporttiaSVG from '../../images/sporttia.svg';\nimport SalePoint from '../../pages/sc/salePoint/SalePoint';\nimport LinkWrapper from '../LinkWrapper';\nimport { AppContext } from '../../sporttia/all';\nimport CapacityMonitorDialog from '../../components/dialogs/CapacityMonitorDialog';\nimport translations from '../../translations';\nimport { useTranslations } from '../../lib/hooks';\n\n// Style\nconst drawerWidth = 240;\n\nconst useStyles = makeStyles((theme) => ({\n toolbar: {\n paddingRight: 24, // keep right padding when drawer closed\n backgroundColor: '#9eb319',\n },\n toolbarIcon: {\n display: 'flex',\n alignItems: 'center',\n ...theme.mixins.toolbar,\n },\n appBar: {\n zIndex: theme.zIndex.drawer + 1,\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n [theme.breakpoints.up('md')]: {\n width: `calc(100% - ${drawerWidth}px)`,\n },\n },\n fullAppBar: {\n zIndex: theme.zIndex.drawer + 1,\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n [theme.breakpoints.up('md')]: {\n width: '100%',\n },\n },\n menuButton: {\n marginRight: 24,\n },\n title: {\n flexGrow: 1,\n },\n drawerPaper: {\n position: 'relative',\n whiteSpace: 'nowrap',\n width: drawerWidth,\n },\n fixedDrawer: {\n height: '100%',\n },\n noFixedDrawer: {\n display: 'none',\n },\n submenu: {\n paddingLeft: theme.spacing(4),\n },\n sporttiaTitle: {\n fontSize: 25,\n width: '100%',\n marginLeft: 10,\n textAlign: 'left',\n },\n}));\n\nexport default function SCHeader() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const classes = useStyles();\n const [open, setOpen] = React.useState(false);\n const [openFixed, setOpenFixed] = React.useState(true);\n const [activeMenu, setActiveMenu] = useState(null);\n const [openedSalePoint, setOpenedSalePoint] = useState(false);\n const [openedCapacityMonitor, setOpenedCapacityMonitor] = useState(false);\n const { translate } = useTranslations();\n const location = useLocation();\n\n const handleDrawerOpen = () => {\n setOpen(true);\n };\n const handleDrawerClose = () => {\n setOpen(false);\n };\n // Find the parent menu of the submenu corresponding to the current url, and expand it (used when directly opening a url like /scs/facilities)\n useEffect(() => {\n if (location && location.pathname) {\n // Nothing to do at home page\n if (location.pathname === getPath('home')) {\n return;\n }\n\n // Find a parent menu which contains the submenu corresponding to this path\n const newActiveMenu = cxt.menus.sc\n .filter(\n (menu) =>\n (!menu.privilege ||\n cxt.privileges?.includes(menu.privilege)) &&\n menu.submenus,\n )\n .find(\n (menu) =>\n menu.submenus.find(\n (submenu) =>\n getPath(submenu.path) === location.pathname,\n ) !== undefined,\n );\n\n // couldn't find it for some reason, abort\n if (!newActiveMenu) {\n return;\n }\n\n if (!activeMenu || newActiveMenu.id !== activeMenu.id) {\n setActiveMenu(newActiveMenu);\n }\n }\n }, [location]);\n\n /**\n * Go to the old page\n */\n const go = (menu) => {\n // 'url' means its an old url (should be deprecated now)\n if (menu.url) {\n history.push(menu.url);\n }\n\n // react-navigation path\n if (menu.path) {\n history.push(getPath(menu.path, menu.params));\n handleDrawerClose();\n }\n };\n\n /**\n * Select menu\n */\n const selectMenu = (menu) => {\n setActiveMenu(menu);\n if (menu.path) {\n go(menu);\n }\n };\n\n /**\n * Render menu\n */\n const renderMenu = (menu, idx) => {\n if (\n !menu.module ||\n (menu.module && cxt.sc.modules.includes(menu.module))\n ) {\n return (\n
\n selectMenu(menu)}\n >\n \n {getMenuIcon(menu)}\n \n\n {menu.submenus && (\n <>\n {activeMenu && activeMenu === menu ? (\n \n ) : (\n \n )}\n \n )}\n \n \n {activeMenu && menu.submenus && (\n \n \n {activeMenu &&\n menu.submenus.map((sm, idx2) =>\n renderSubmenu(sm, idx2),\n )}\n \n \n )}\n
\n );\n }\n };\n\n /**\n * Render sub-menu\n */\n const renderSubmenu = (sm, idx) => {\n if (!sm.module || (sm.module && cxt.sc.modules.includes(sm.module))) {\n return (\n go(sm)}\n >\n \n \n \n \n );\n }\n };\n\n /**\n * Get menu icon\n */\n const getMenuIcon = (menu) => {\n switch (menu.id) {\n case 'home':\n return ;\n case 'users':\n return ;\n case 'bookings':\n return ;\n case 'events':\n return ;\n case 'activities':\n return ;\n case 'accountability':\n return ;\n case 'help':\n return ;\n case 'scReports':\n return ;\n case 'golf':\n return ;\n default:\n return null;\n }\n };\n\n let menus = [];\n if (cxt.menus) {\n menus = cxt.menus.sc.filter(\n (menu) =>\n !menu.privilege || cxt.privileges?.includes(menu.privilege),\n );\n }\n\n let submenus = null;\n if (activeMenu && activeMenu.submenus) {\n submenus = activeMenu.submenus.filter(\n (submenu) =>\n !submenu.privilege ||\n cxt.privileges?.includes(submenu.privilege),\n );\n activeMenu.submenus = submenus;\n }\n\n // Drawer\n const drawer = (\n <>\n \n \n \n \n \n \n \n history.push('/')}\n style={{\n color:\n localStorage.getItem('environment') === 'PRE'\n ? 'white'\n : 'default',\n textDecoration: 'none',\n }}\n >\n SPORTTIA\n \n \n {openFixed && (\n \n \n {\n setOpenFixed(false);\n }}\n >\n \n \n \n \n )}\n {open && (\n \n \n \n \n \n )}\n \n\n \n\n \n {menus.map(\n (menu, idx) => cxt.sc.modules && renderMenu(menu, idx),\n )}\n \n \n );\n\n const renderHeader = () => (\n \n \n {cxt.header && cxt.header.title}\n \n \n );\n\n // -----| Render |-----\n return (\n <>\n \n \n \n \n \n {!openFixed && (\n {\n setOpenFixed(true);\n }}\n className={classes.menuButton}\n >\n \n \n )}\n \n \n \n \n \n \n {renderHeader()}\n \n {cxt.sc &&\n cxt.sc.modules &&\n cxt.sc.modules.includes('salePoint') && (\n \n \n setOpenedSalePoint(true)\n }\n >\n {cxt.sc?.city?.country\n ?.currency &&\n cxt.sc?.city?.country\n ?.currency !== 'EUR' ? (\n cxt.sc?.city?.country\n ?.currency\n ) : (\n \n )}\n \n \n )}\n {cxt.sc &&\n cxt.sc.modules &&\n cxt.sc.modules.includes('device') && (\n \n \n setOpenedCapacityMonitor(\n true,\n )\n }\n >\n {cxt.sc?.city?.country\n ?.currency &&\n cxt.sc?.city?.country\n ?.currency !== 'EUR' ? (\n cxt.sc?.city?.country\n ?.currency\n ) : (\n \n )}\n \n \n )}\n \n \n go({\n url: getPath('timetable', {\n id: cxt.sc.id,\n }),\n })\n }\n >\n \n \n \n\n \n \n history.push(getPath('mships'))\n }\n >\n \n \n \n\n \n \n go({ path: 'scMessages' })\n }\n >\n \n \n \n\n \n \n go({\n url: getPath('scProfile', {\n id: cxt.sc.id,\n }),\n })\n }\n >\n \n \n \n\n \n \n \n {renderHeader()}\n \n \n \n \n \n {drawer}\n \n \n \n \n {drawer}\n \n \n\n {openedSalePoint && (\n setOpenedSalePoint()}\n />\n )}\n {openedCapacityMonitor && (\n setOpenedCapacityMonitor(false)}\n />\n )}\n \n );\n}\n","import React, { useState, useContext, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport {\n Drawer,\n Box,\n AppBar,\n Toolbar,\n List,\n Typography,\n ListItemText,\n ListItem,\n IconButton,\n Collapse,\n} from '@material-ui/core';\nimport {\n Menu as MenuIcon,\n ExpandMore as ExpandMoreIcon,\n ExpandLess as ExpandLessIcon,\n} from '@material-ui/icons';\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\nimport { AppContext } from '../../sporttia/all';\nimport { getPath } from '../../pages/Pages';\nimport LinkWrapper from '../LinkWrapper';\n\nexport default function AdminHeader() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const [openDrawer, setOpenDrawer] = React.useState(false);\n const [activeMenu, setActiveMenu] = useState(null);\n\n /**\n * Go to the old page\n */\n const go = (sm) => {\n if (sm.url) history.push(sm.url);\n if (sm.path) {\n history.push(getPath(sm.path, sm.params));\n setOpenDrawer(false);\n }\n };\n\n /**\n * Render sub-menu\n */\n const renderSubmenu = (sm, idx) => {\n if (\n !sm.privilege ||\n (sm.privilege && cxt.privileges.includes(sm.privilege))\n ) {\n return (\n go(sm)}\n >\n \n \n \n \n );\n }\n };\n\n /**\n * Logout\n */\n const logout = () => {\n cxt.api('POST', '/logout', {\n confirmation: true,\n success: (r) => {\n cxt.setLoggedUser(false);\n cxt.setHeader(null);\n },\n });\n };\n\n /**\n * If \"cxt.logged\" change and is false, we will redirect to login page.\n */\n useEffect(() => {\n if (!cxt.logged) history.push(getPath('loadingSporttia'));\n }, [cxt.logged]);\n\n /**\n * Select menu\n */\n const selectMenu = (menu) => {\n setActiveMenu(menu);\n if (menu.path) {\n go(menu);\n }\n };\n\n /**\n * Drawer\n */\n const drawer = (\n \n {cxt.menus &&\n cxt.menus.admin.map((menu, idx) => (\n
\n selectMenu(menu)}\n >\n \n \n\n {menu.submenus && (\n <>\n {activeMenu && activeMenu === menu ? (\n \n ) : (\n \n )}\n \n )}\n \n \n\n \n \n {activeMenu &&\n activeMenu.submenus &&\n activeMenu.submenus.map((sm, idx2) =>\n renderSubmenu(sm, idx2),\n )}\n \n \n
\n ))}\n
\n );\n\n /**\n * Render header title\n */\n const renderHeaderTitle = () => (\n \n \n {cxt.header && cxt.header.title}\n \n \n );\n\n // -----| Render |-----\n return (\n <>\n \n \n \n \n setOpenDrawer(true)}\n >\n \n \n\n {renderHeaderTitle()}\n\n \n logout()}\n >\n \n \n \n \n \n \n \n\n setOpenDrawer(false)}>\n {drawer}\n \n \n );\n}\n","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');","import * as React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z\"\n}), 'Settings');","import React, { useState, useContext, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { IconButton, Avatar, Tooltip } from '@material-ui/core';\nimport {\n ExitToApp,\n Settings,\n PowerSettingsNew,\n Speed,\n HelpOutline,\n PersonOutline,\n PostAdd,\n BallotOutlined,\n FamilyRestroom,\n} from '@material-ui/icons';\nimport PaymentIcon from '@material-ui/icons/Payment';\nimport SupervisorAccountIcon from '@material-ui/icons/SupervisorAccount';\nimport HelpOutlineIcon from '@material-ui/icons/HelpOutline';\nimport { paths, getPath } from '../../pages/Pages';\nimport { AppContext, SttMenu } from '../../sporttia/all';\n\nexport default function UserHeaderAvatar() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n /**\n * Logout\n */\n const logout = () => {\n cxt.api('POST', '/logout', {\n confirmation: true,\n success: () => {\n cxt.setLoggedUser(false);\n cxt.setHeader(null);\n },\n });\n };\n\n /**\n * If \"cxt.logged\" change and is false, we will redirect to login page.\n */\n useEffect(() => {\n if (!cxt.logged) history.push(getPath('loadingSporttia'));\n }, [cxt.logged]);\n\n return (\n \n \n {cxt &&\n cxt.user &&\n cxt.user.name &&\n cxt.user.name.substring(0, 1)}\n \n \n }\n items={[\n {\n caption: cxt.user.name,\n onClick: () => history.push(getPath('userConfiguration')),\n },\n {\n divider: true,\n caption: cxt.t('Configuration'),\n icon: ,\n onClick: () => history.push(getPath('userConfiguration')),\n },\n {\n caption: cxt.t('Bonos'),\n icon: ,\n onClick: () => history.push(getPath('userBonos')),\n },\n {\n caption: cxt.t('Abonos'),\n icon: ,\n onClick: () => history.push(getPath('userAbonos')),\n },\n {\n caption: cxt.t('Payments'),\n icon: ,\n onClick: () => history.push(getPath('userPayments')),\n },\n {\n caption: cxt.t('Pupils'),\n icon: ,\n onClick: () => history.push(getPath('userPupils')),\n },\n {\n caption: cxt.t('Help'),\n icon: ,\n onClick: () => history.push(getPath('contact')),\n },\n {\n divider: true,\n caption: cxt.t('Exit'),\n icon: ,\n onClick: () => logout(),\n },\n ]}\n />\n );\n}\n","import Link from '@material-ui/core/Link';\nimport React, { useContext } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport { AppContext } from './AppContext';\nimport constants from '../config/constants';\n\nfunction SttAppStoresLogos() {\n const cxt = useContext(AppContext)!;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default SttAppStoresLogos;\n","import React, { useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport Collapse from '@material-ui/core/Collapse';\nimport Container from '@material-ui/core/Container';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport AppStoresLogos from '../../sporttia/SttAppStoresLogos';\nimport { SttButtonClose } from '../../sporttia/all';\nimport { useTranslations } from '../../lib/hooks';\n\nfunction UserHeaderTopBanner() {\n const { translate } = useTranslations();\n const [open, setOpen] = useState(true);\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n \n \n \n \n \n \n {translate('usersWebToApp')}\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default UserHeaderTopBanner;\n","import React, { useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport {\n Container,\n Box,\n AppBar,\n Toolbar,\n Typography,\n IconButton,\n Link,\n Avatar,\n Tooltip,\n} from '@material-ui/core';\nimport EventNoteIcon from '@material-ui/icons/EventNote';\nimport { MailOutline as MailOutlineIcon, VpnKey } from '@material-ui/icons';\nimport { AppContext } from '../../sporttia/all';\nimport { getPath } from '../../pages/Pages';\nimport UserHeaderAvatar from './UserHeaderAvatar';\nimport sporttiaSVG from '../../images/sporttia.svg';\nimport UserHeaderTopBanner from './UserHeaderTopBanner';\n\nexport default function AdminHeader() {\n const cxt = useContext(AppContext)!;\n const history = useHistory();\n\n return (\n \n \n \n \n \n \n \n \n \n \n history.push('/')}\n style={{\n color: 'white',\n textDecoration: 'none',\n }}\n >\n SPORTTIA\n \n \n\n \n \n \n history.push(getPath('userKeys'))\n }\n >\n \n \n \n\n \n \n history.push(getPath('userAgenda'))\n }\n >\n \n \n \n\n \n \n history.push(getPath('userMessages'))\n }\n >\n \n \n \n\n \n \n \n \n \n );\n}\n","import React, { useContext } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport {\n Container,\n Box,\n AppBar,\n Toolbar,\n Typography,\n IconButton,\n LinearProgress,\n Link,\n Avatar,\n} from '@material-ui/core';\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport { AppContext } from '../sporttia/all';\nimport { getPath } from '../pages/Pages';\nimport sporttiaSVG from '../images/sporttia.svg';\n\nexport default function PublicHeader() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n // -----| Render |-----\n return (\n \n \n \n \n \n \n \n \n \n\n \n history.push('/')}\n style={{\n color: 'white',\n textDecoration: 'none',\n }}\n >\n {\n /* cxt?.header?.title || 'SPORTTIA' */ 'SPORTTIA'\n }\n \n \n\n \n \n \n \n history.push(getPath('login'))\n }\n >\n \n \n \n {cxt.t('page.login.Enter')}\n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport { matchPath, useLocation } from 'react-router-dom';\nimport { AppContext } from '../sporttia/all';\nimport SCHeader from './sc/SCHeader';\nimport AdminHeader from './admin/AdminHeader';\nimport UserHeader from './user/UserHeader';\nimport PublicHeader from './PublicHeader';\nimport { paths } from '../pages/Pages';\nimport constants from '../config/constants';\n\nexport default function Header() {\n const cxt = useContext(AppContext)!;\n const location = useLocation();\n const [, setLocationRoute] = useState();\n\n /**\n * When \"pathname\" was change we will update \"locationRoute\".\n */\n useEffect(() => {\n setLocationRoute(\n paths.find((route) => matchPath(location.pathname, route)),\n );\n }, [location.pathname]);\n\n /**\n * Render header.\n * Existen 4 tipos de header:\n * - Usuario conectado con rol \"SPORTCENTER\".\n * - Usuario conectado con rol \"USER\" o \"TEACHER\".\n * - Usuario conectado con rol \"ADMIN\".\n * - Usuario no conectado.\n *\n * Destacar que en el caso de que la ruta tenga el parámetro \"common\" activado se renderizará\n * el header correspondiente al usuario conectado (si lo está), en caso contrario se renderizará\n * el header publico.\n */\n if (cxt.user && cxt.user.role === constants.roles.sportcenter) {\n // TODO: Left menu rendering (included in SCHeader) is gated behind user data loading, this shouldn't be the case (the menu visibly pops in)\n return ;\n }\n if (\n cxt.user &&\n (cxt.user.role === constants.roles.user ||\n cxt.user.role === constants.roles.teacher)\n ) {\n return ;\n }\n if (cxt.user && cxt.user.role === constants.roles.admin) {\n return ;\n }\n return ;\n}\n","import React, { useState, useContext } from 'react';\nimport { Box, Typography, Dialog, List, ListItem } from '@material-ui/core';\nimport Link from '@material-ui/core/Link';\nimport { AppContext } from '../sporttia/all';\n\nexport default function LanguageSelector() {\n const cxt = useContext(AppContext);\n const [dialogOpen, setDialogOpen] = useState(false);\n\n /**\n * Open language dialog\n */\n const openDialog = () => {\n setDialogOpen(true);\n };\n\n /**\n * Select language\n */\n const selectLangage = (lg) => {\n cxt.setLang(lg);\n setDialogOpen(false);\n };\n\n // -----| Render |-----\n return (\n
\n {cxt.lang && (\n \n openDialog()}\n style={{ color: 'black' }}\n >\n \n {cxt.lang.caption}\n \n \n \n )}\n\n setDialogOpen(false)}>\n \n {cxt.config &&\n cxt.config.languages.map((lg) => (\n selectLangage(lg)}\n >\n {lg.caption}\n \n ))}\n \n \n
\n );\n}\n","import React from 'react';\nimport { Box, Typography } from '@material-ui/core';\nimport Link from '@material-ui/core/Link';\n\ntype FooterMenuItemProps = {\n caption: string;\n onClick: () => void;\n};\n\nexport default function FooterMenuItem({\n caption,\n onClick,\n}: FooterMenuItemProps) {\n return (\n \n \n {caption}\n \n \n );\n}\n","import React, { useContext } from 'react';\nimport { Box, makeStyles, Typography } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport Link from '@material-ui/core/Link';\nimport { AppContext } from '../sporttia/all';\nimport LanguageSelector from '../components/LanguageSelector';\nimport FooterMenuItem from './FooterMenuItem';\nimport { getPath } from '../pages/Pages';\n\nconst useStyles = makeStyles(() => ({\n footer: {\n flexShrink: 0,\n color: 'white',\n textAlign: 'center',\n },\n}));\n\nexport default function Footer() {\n const cxt = useContext(AppContext);\n const history = useHistory();\n const classes = useStyles();\n\n function goContactPage() {\n history.push(getPath('contact'));\n }\n\n // -----| Render |-----\n return (\n \n \n \n {(!cxt.logged ||\n (cxt?.logged && cxt?.user?.role === 'ADMIN')) && (\n <>\n \n \n \n )}\n \n {\n history.push(getPath('privacy'));\n }}\n />\n \n \n \n \n Cond. Generales de Contratación\n \n \n \n \n \n © {new Date().getFullYear()} Sporttia ({cxt.config.version}{' '}\n - {cxt.backendVersion}). All rights reserved\n \n \n \n );\n}\n","import React, { useContext } from 'react';\nimport { Box } from '@material-ui/core';\nimport HomeIcon from '@material-ui/icons/Home';\nimport { useHistory } from 'react-router-dom';\nimport { AppContext, SttButton } from '../sporttia/all';\nimport coffeeImage from '../images/coffee.svg';\nimport { getPath } from './Pages';\n\nexport default function Page401(props) {\n const cxt = useContext(AppContext);\n const history = useHistory();\n\n return (\n \n \n\n

Página protegida

\n

\n Lo sentimos pero no tienes permisos para acceder a esta página.\n

\n \n }\n onClick={() => history.push(getPath('loadingSporttia'))}\n />\n \n
\n );\n}\n","export default {\n paths: {\n '/scs/files': 11,\n '/scs/devices': 11,\n '/scs/busy/schedules': 11,\n '/scs/facilities': 11,\n '/scs/rates': 11,\n '/scs/frees/schedules': 11,\n '/scs/discounts': 11,\n '/scs/events': 14,\n '/scs/activities': 15,\n '/scs/teachers': 15,\n '/scs/waitingLists': 15,\n '/scs/payments': 12,\n '/scs/tickets': 12,\n '/scs/remittences': 16,\n '/scs/roles': 11,\n '/scs/configurations': 11,\n },\n};\n","import React, { ComponentType, useContext, useEffect, useState } from 'react';\nimport {\n BrowserRouter,\n Route,\n Switch,\n Redirect,\n useLocation,\n} from 'react-router-dom';\nimport { Container, makeStyles, CssBaseline, Box } from '@material-ui/core';\nimport MomentUtils from '@date-io/moment';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport { QueryClient, QueryClientProvider } from 'react-query';\nimport { ReactQueryDevtools } from 'react-query/devtools';\nimport clsx from 'clsx';\nimport { CheckOutlined } from '@material-ui/icons';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { AppProvider, AppContext } from './sporttia/all';\nimport { getPath, paths } from './pages/Pages';\nimport GlobalCSS from './styles/GlobalCSS';\nimport UserAccessPopup from './components/popups/UserAccessPopup';\nimport Header from './layout/Header';\nimport Footer from './layout/Footer';\nimport Page401 from './pages/Page401';\nimport { AlertDialog } from './components/dialogs/AlertDialog';\nimport constants from './config/constants';\nimport generalConfig from './config/general';\nimport SttFullPageError from './components/error/SttFullPageError';\nimport privilegedPaths from './config/SporttiaPrivilegedPaths';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n height: '100vh',\n },\n content: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n overflowX: 'hidden',\n },\n paddingTopContent: {\n [theme.breakpoints.down('xs')]: {\n paddingTop: 64,\n },\n [theme.breakpoints.up('sm')]: {\n paddingTop: 64,\n },\n },\n headerlessContent: {\n flexGrow: 1,\n overflowX: 'hidden',\n },\n container: {\n paddingTop: theme.spacing(3),\n paddingBottom: theme.spacing(4),\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 'auto',\n },\n fullScreenContainer: {\n padding: 0,\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 'auto',\n },\n plainContent: {\n flex: 1,\n },\n}));\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n },\n },\n});\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\n// Implementación cristiana de lo de arriba: comparamos con window.location.href y\n// además con location (useLocation) cuando no se cambia window.location.href.\nfunction matchRoutes(array: string[], location: { pathname: string }) {\n return array.reduce((result, route) => {\n const regExp = new RegExp(\n `${escapeRegex(route).replace(':id', '[0-9]+')}$`,\n 'gi',\n );\n return (\n result ||\n regExp.test(window.location.href) ||\n (location && route === location.pathname)\n );\n }, false);\n}\n\ntype ProtectedRouteProps = {\n path: string;\n component: ComponentType;\n routeRole?: string;\n userRole?: string;\n exact: boolean;\n};\n\ntype PrivilegedSporttiaPaths = {\n [key: string]: number;\n};\n\n/* Función para comprobar que el administrador de centro accede a una pagina (a traves de la ruta o del menu) para la\n que tiene privilegios de acceso e interacción.\n\n*/\n\nfunction checkPrivilegesForPath(\n path: string,\n privileges: Array,\n): boolean {\n const privilegedPathsToCheck: PrivilegedSporttiaPaths =\n privilegedPaths.paths as PrivilegedSporttiaPaths;\n\n if (Object.prototype.hasOwnProperty.call(privilegedPathsToCheck, path)) {\n // Ruta privilegiada\n if (\n privileges.length > 0 &&\n privilegedPathsToCheck[path] !== undefined &&\n privileges.includes(privilegedPathsToCheck[path] as number)\n ) {\n return true;\n }\n\n return false;\n }\n\n // Ruta no privilegiada\n return true;\n}\n\n/**\n * Protected route.\n * En una ruta protegida pueden ocurrir dos cosas:\n * 1. Si el usuario está logueado y tanto la ruta como el usuario tienen el mismo rol le carga dicha ruta. La excepción\n * es para el caso en el que el rol sea SPORTCENTER. En ese caso se hace un segundo filtrado en base a los privilegios del\n * administrador (para evitar el bypass del menu lateral escribiendo la ruta directamente en el navegador)\n * 2. Si el usuario está logueado, pero la ruta y el usuario no tienen el mismo rol se le muestra la página\n * de acceso no autorizado.\n * 3. Si el usuario no está logueado y quiere acceder a una ruta protegida primero se lleva a la página de\n * login y luego se le redirige a la página que había pedido.\n */\nfunction ProtectedRoute({ path, component, ...rest }: ProtectedRouteProps) {\n const cxt = useContext(AppContext)!;\n if (\n cxt.logged &&\n 'routeRole' in rest &&\n 'userRole' in rest &&\n rest.routeRole === rest.userRole\n ) {\n if (rest.userRole === constants.roles.sportcenter) {\n if (\n checkPrivilegesForPath(\n path,\n cxt?.privileges ? cxt.privileges : [],\n )\n )\n return ;\n } else {\n return ;\n }\n\n return (\n \n \n \n );\n }\n\n if (\n cxt.logged &&\n 'routeRole' in rest &&\n 'userRole' in rest &&\n rest.routeRole !== rest.userRole\n ) {\n return (\n \n \n \n );\n }\n\n return (\n (\n \n )}\n />\n );\n}\n\nlet logoutTimeout: ReturnType;\n\nfunction SporttiaContent() {\n const cxt = useContext(AppContext)!;\n const classes = useStyles();\n const location = useLocation();\n\n const [sessionExpired, setSessionExpired] = useState(false);\n\n useEffect(() => {\n if (sessionExpired === true) {\n cxt.setLoggedUser(false);\n cxt.setHeader(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sessionExpired]);\n\n // Load pages from Pages\n const routes = paths.map((path) => {\n if ('protected' in path && path.protected) {\n const roleProps = {\n ...('role' in path && { routeRole: path.role }),\n ...('role' in path &&\n cxt.user &&\n cxt.user.role && { userRole: cxt.user.role }),\n };\n\n return (\n \n );\n }\n\n return (\n \n );\n });\n\n // Tenemos que interceptar ciertas rutas para evitar pintar header y footer.\n // Existen 4 opciones (en Page.js, el valor de true no tiene sentido ponerlo por que solo se tiene en cuenta si es false):\n // - Que la ruta lleve solo el valor de \"header\" (header: true o header: false).\n // - Que la ruta lleve solo el valor de \"footer\" (footer: true o footer: false).\n // - Que la ruta lleve el valor de \"header\" y \"footer\" (header: true o header: false y footer: true o footer: false).\n // - Que la ruta no lleve ni \"header\" ni \"footer\" entonces el valor de ambos es true (header: true y footer: false).\n\n // Con las siguientes dos líneas conseguimos todas aquellas rutas que no queremos que tengan header. (header: false en Pages.js)\n const routesNoHeader = paths\n .filter((path) => 'header' in path && !path.header)\n .map((r) => r.path);\n\n // Con las siguientes dos líneas conseguimos todas aquellas rutas que no queremos que tengan footer. (footer: false en Pages.js)\n const routesNoFooter = paths\n .filter((path) => 'footer' in path && !path.footer)\n .map((r) => r.path);\n\n // Con las siguientes dos líneas conseguimos todas aquellas rutas que queremos que sean fullScreen. (fullScreen: true en Pages.js)\n const routesFullScreen = paths\n .filter((path) => 'fullScreen' in path && path.fullScreen)\n .map((r) => r.path);\n\n const interceptRouteMatchNoHeader = matchRoutes(routesNoHeader, location);\n const interceptRouteMatchNoFooter = matchRoutes(routesNoFooter, location);\n const interceptRouteMatchFullScreen = matchRoutes(\n routesFullScreen,\n location,\n );\n\n const header = interceptRouteMatchNoHeader ? null :
;\n const footer = interceptRouteMatchNoFooter ? null :
;\n const fullScreen = interceptRouteMatchFullScreen;\n\n // ¿tenemos que mostrar el popup de acceso por dispositivos?\n // Este valor se actualizará al recibir mensajes del socket abierto contra v7\n const socketMessages = cxt.getSocketMessages();\n const userAccessPopup = (\n 0}\n onDelete={cxt.deleteReceivedMessage}\n messages={socketMessages}\n />\n );\n\n // Resetea el timer de logout, pero solo si existe un usuario y no es un centro (para evitar llamadas diarias porque 'da error')\n const resetLogoutTimeout = () => {\n clearTimeout(logoutTimeout);\n if (\n cxt?.user?.id &&\n cxt.user.role === constants.roles.user &&\n generalConfig.sessionTimeout.isEnabled\n ) {\n logoutTimeout = setTimeout(() => {\n setSessionExpired(true);\n }, generalConfig.sessionTimeout.timeoutMs);\n }\n };\n\n // Cuando el usuario toca una tecla, reseteamos el timeout\n const handleKeyUp = () => {\n resetLogoutTimeout();\n };\n\n // Cuando el usuario mueve el ratón, reseteamos el timeout\n const handleMouseMove = () => {\n resetLogoutTimeout();\n };\n\n // Cuando el usuario pulsa un botón del ratón, reseteamos el timeout\n const handleMouseUp = () => {\n resetLogoutTimeout();\n };\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n \n {cxt.logged ? (\n <>\n {header}\n \n \n \n \n {/* Nota: estas rutas sobreescriben las definidas en Pages/paths, de forma que redireccionamos a / */}\n {/* */}\n {/* {(cxt?.user?.role === 'SPORTCENTER' || cxt?.user?.role === 'ADMIN') ? : (cxt?.user?.role === 'USER' || cxt?.user?.role === 'TEACHER') && } */}\n {/* */}\n \n {cxt.user?.role ===\n constants.roles.sportcenter ||\n cxt.user?.role ===\n constants.roles.admin ? (\n \n ) : (\n (cxt.user?.role ===\n constants.roles.user ||\n cxt.user?.role ===\n constants.roles\n .teacher) && (\n \n )\n )}\n \n \n {cxt.user?.role ===\n constants.roles.sportcenter ||\n cxt.user?.role ===\n constants.roles.admin ? (\n \n ) : (\n (cxt.user?.role ===\n constants.roles.user ||\n cxt.user?.role ===\n constants.roles\n .teacher) && (\n \n )\n )}\n \n {routes}\n \n \n {userAccessPopup}\n \n {footer}\n
\n \n ) : (\n <>\n {header}\n \n \n \n \n \n \n \n {routes}\n \n \n \n {footer}\n
\n \n )}\n\n ,\n caption: cxt.t('Close'),\n onClick: () => {\n setSessionExpired(false);\n clearTimeout(logoutTimeout);\n },\n },\n ]}\n subtitle={cxt.t('sessionExpired.message')}\n />\n
\n );\n}\n\n/**\n * Main App component\n */\nexport default function App() {\n // Load the tawk script but only in PRO and not using the embed widget.\n useEffect(() => {\n if (\n generalConfig.environment === 'PRO' &&\n !window.location.href.match(/\\/[\\d]+\\/widget$/)\n ) {\n const script = document.createElement('script');\n script.src =\n 'https://embed.tawk.to/56cd89c76cb3a9164247a9fb/default';\n script.charset = 'UTF-8';\n script.async = true;\n script.setAttribute('crossorigin', '*');\n script.setAttribute('id', 'tawk-script');\n document.body.appendChild(script);\n\n // Return a callback to offload the script (this is called on component unmount, which should be never, but just in case...)\n return () => {\n const tawkScript = document.getElementById('tawk-script');\n if (tawkScript?.parentNode) {\n tawkScript.parentNode.removeChild(tawkScript);\n }\n };\n }\n }, []);\n\n return (\n \n \n \n \n }>\n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport '@fontsource/roboto';\nimport './index.css';\nimport { createTheme, ThemeProvider } from '@material-ui/core/styles';\nimport { esES } from '@material-ui/core/locale';\nimport moment from 'moment';\nimport * as serviceWorker from './serviceWorker';\nimport App from './App';\nimport 'moment/locale/es';\n\n// Set moment in Spanish (TODO)\nmoment.locale('es');\n\nconst theme = createTheme({}, esES);\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root'),\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"names":["Object","defineProperty","exports","value","_default","A100","A200","A400","A700","black","white","SvgIcon","React","props","ref","children","classes","className","_props$color","color","_props$component","component","Component","_props$fontSize","fontSize","htmlColor","titleAccess","_props$viewBox","viewBox","other","_objectWithoutProperties","_extends","clsx","root","concat","capitalize","focusable","undefined","role","muiName","withStyles","theme","userSelect","width","height","display","fill","flexShrink","typography","pxToRem","transition","transitions","create","duration","shorter","colorPrimary","palette","primary","main","colorSecondary","secondary","colorAction","action","active","colorError","error","colorDisabled","disabled","fontSizeInherit","fontSizeSmall","fontSizeLarge","name","clamp","min","arguments","length","max","Math","decomposeColor","type","charAt","substr","re","RegExp","colors","match","map","n","index","parseInt","round","join","hexToRgb","marker","indexOf","substring","Error","_formatMuiErrorMessage","values","split","parseFloat","recomposeColor","i","getContrastRatio","foreground","background","lumA","getLuminance","lumB","rgb","h","s","l","a","f","k","push","hslToRgb","val","pow","Number","toFixed","emphasize","coefficient","darken","lighten","fade","alpha","keys","createBreakpoints","breakpoints","_breakpoints$values","xs","sm","md","lg","xl","_breakpoints$unit","unit","_breakpoints$step","step","up","key","between","start","end","endIndex","down","upperbound","only","createMixins","spacing","mixins","_toolbar","gutters","styles","console","warn","paddingLeft","paddingRight","_defineProperty","toolbar","minHeight","light","text","hint","divider","paper","common","default","grey","hover","hoverOpacity","selected","selectedOpacity","disabledBackground","disabledOpacity","focus","focusOpacity","activatedOpacity","dark","icon","addLightOrDark","intent","direction","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","hasOwnProperty","roundWithDeprecationWarning","caseAllCaps","textTransform","defaultFontFamily","createTypography","_ref","_ref$fontFamily","fontFamily","_ref$fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","coef","size","buildVariant","fontWeight","lineHeight","letterSpacing","casing","variants","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","deepmerge","clone","createShadow","borderRadius","createTheme","options","_options$breakpoints","breakpointsInput","_options$mixins","mixinsInput","_options$palette","paletteInput","spacingInput","_options$typography","typographyInput","_palette$primary","indigo","_palette$secondary","pink","_palette$error","red","_palette$warning","warning","orange","_palette$info","info","blue","_palette$success","success","green","_palette$type","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","getContrastText","augmentColor","mainShade","lightShade","darkShade","JSON","stringify","contrastText","types","createPalette","mui","transform","createUnarySpacing","_len","args","Array","_key","argument","output","get","createSpacing","muiTheme","overrides","shadows","shape","zIndex","reduce","acc","easing","easeInOut","easeOut","easeIn","sharp","shortest","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","_options$duration","durationOption","_options$easing","easingOption","_options$delay","delay","isArray","animatedProp","getAutoHeightDuration","constant","stylesOrCreator","withStylesWithoutDefault","defaultTheme","mobileStepper","speedDial","appBar","drawer","modal","snackbar","tooltip","string","toUpperCase","slice","createChainedFunction","funcs","func","_len2","_key2","apply","this","createSvgIcon","path","displayName","debounce","timeout","wait","debounced","that","clearTimeout","setTimeout","clear","deprecatedPropType","validator","reason","requirePropFactory","componentNameInError","unsupportedProp","propName","componentName","location","propFullName","isMuiElement","element","muiNames","ownerDocument","node","document","ownerWindow","defaultView","window","setRef","current","useId","idOverride","_React$useState","defaultId","setDefaultId","id","random","useControlled","controlled","defaultProp","isControlled","state","valueState","setValue","newValue","useEnhancedEffect","useEventCallback","fn","useForkRef","refA","refB","refValue","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","search","url","tel","email","password","number","date","month","week","time","datetime","handleKeyDown","event","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","visibilityState","isFocusVisible","target","matches","tagName","readOnly","isContentEditable","focusTriggersKeyboardModality","handleBlurVisible","useIsFocusVisible","onBlurVisible","instance","doc","ReactDOM","addEventListener","esES","MuiBreadcrumbs","expandText","MuiTablePagination","backIconButtonText","labelRowsPerPage","labelDisplayedRows","_ref6","from","to","count","nextIconButtonText","MuiRating","getLabelText","emptyLabelText","MuiAutocomplete","clearText","closeText","loadingText","noOptionsText","openText","MuiAlert","MuiPagination","getItemAriaLabel","page","r","e","t","rgbToHex","int","hex","toString","intToHex","process","_utils","require","formatMuiErrorMessage","_interopRequireDefault","_objectWithoutProperties2","_extends2","_extends3","_defineProperty2","_indigo","_pink","_red","_orange","_blue","_green","_colorManipulator","_common","_grey","_system","createMuiTheme","_createBreakpoints","_createMixins","_createPalette","_createTypography","_shadows","_shape","_createSpacing","_transitions","_zIndex","_styles","_defaultTheme","makeStyles","_interopRequireWildcard","createElement","d","Fragment","cx","cy","fillRule","enumerable","injectFirstNode","jss","jssPreset","generateClassName","createGenerateClassName","sheetsManager","Map","defaultOptions","disableGeneration","sheetsCache","sheetsRegistry","StylesContext","StylesProvider","_props$injectFirst","injectFirst","_props$disableGenerat","localOptions","outerOptions","context","insertionPoint","head","createComment","insertBefore","firstChild","plugins","Provider","localTheme","outerTheme","useTheme","mergeOuterLocalTheme","nested","ThemeContext","Symbol","for","pseudoClasses","_options$disableGloba","disableGlobal","_options$productionPr","productionPrefix","_options$seed","seed","seedPrefix","ruleCounter","getNextCounterId","rule","styleSheet","link","prefix","createStyles","getThemeProps","params","defaultProps","ServerStyleSheets","_classCallCheck","_createClass","SheetsRegistry","serverGenerateClassName","dangerouslySetInnerHTML","__html","withThemeCreator","WithTheme","innerRef","hoistNonReactStatics","now","Date","fnValuesNs","fnRuleNs","onCreateRule","decl","createRule","onProcessStyle","style","fnValues","prop","onUpdate","data","sheet","styleRule","fnRule","_prop","at","atPrefix","GlobalContainerRule","selector","isProcessed","rules","RuleList","parent","add","_proto","prototype","getRule","addRule","onProcessRule","replaceRule","newRule","replace","GlobalPrefixedRule","separatorRegExp","addScope","scope","parts","scoped","trim","handleNestedGlobalContainerRule","handlePrefixedGlobalRule","parentRegExp","refRegExp","getReplaceRef","container","replaceParentRefs","nestedProp","parentProp","parentSelectors","nestedSelectors","result","j","getOptions","prevOptions","nestingLevel","replaceRef","isNested","isNestedConditional","uppercasePattern","msPattern","cache","toHyphenLower","toLowerCase","hName","test","convertCase","converted","hyphenate","fallbacks","onChangeValue","hyphenatedProp","px","hasCSSTOMSupport","CSS","ms","percent","addCamelCasedVersion","obj","regExp","str","newObj","units","border","margin","padding","bottom","left","top","right","inset","motion","outline","perspective","gap","grid","iterate","innerProp","_innerProp","isNaN","camelCasedOptions","js","css","vendor","browser","isTouch","isInBrowser","documentElement","jsCssMap","Moz","O","Webkit","appearence","noPrefill","supportedProperty","colorAdjust","toUpper","c","camelize","pascalize","el","mask","longhand","textOrientation","writingMode","breakPropsOld","inlineLogicalOld","newProp","unprefixed","prefixed","pascalized","scrollSnap","overscrollBehavior","propMap","order","flex2012","propMap$1","flex","propKeys","prefixCss","p","flex2009","multiple","propertyDetectors","filter","_toConsumableArray","computed","getComputedStyle","key$1","forEach","x","err","el$1","cache$1","transitionProperties","transPropsRegExp","prefixTransitionCallback","p1","p2","prefixedValue","supportedValue","property","cacheKey","prefixStyle","changeProp","supportedProp","changeValue","supportedValue$1","toCssValue","atRule","supportedKeyframes","sort","prop0","prop1","newStyle","functions","global","camelCase","defaultUnit","vendorPrefixer","propsSort","set","key1","key2","subCache","delete","indexCounter","classNamePrefixOption","classNamePrefix","_options$defaultTheme","noopTheme","stylesOptions2","stylesCreator","themingEnabled","stylesWithOverrides","getStylesCreator","meta","stylesOptions","shouldUpdate","currentKey","useSynchronousEffect","_ref2","sheetManager","multiKeyStore","refs","staticSheet","dynamicStyles","flip","generateId","createStyleSheet","attach","getDynamicStyles","dynamicSheet","update","mergeClasses","baseClasses","newClasses","_ref4","removeStyleSheet","remove","detach","_ref3","cacheClasses","lastProp","lastJSS","generate","getClasses","nextClasses","styled","filterProps","useStyles","propTypes","StyledComponent","classNameProp","ComponentProp","spread","input","fields","omit","FinalComponent","_options$withTheme","withTheme","WithStyles","more","getBorder","themeKey","borderTop","borderRight","borderBottom","borderLeft","borderColor","compose","defaultBreakpoints","handleBreakpoints","propValue","styleFromPropValue","themeBreakpoints","item","_typeof","_themeBreakpoints","breakpoint","styleFunction","newStyleFunction","base","extended","merge","displayPrint","cssProperty","displayRaw","overflow","textOverflow","visibility","whiteSpace","flexBasis","flexDirection","flexWrap","justifyContent","alignItems","alignContent","flexGrow","alignSelf","justifyItems","justifySelf","gridGap","gridColumnGap","gridRowGap","gridColumn","gridRow","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","bgcolor","position","maxWidth","minWidth","maxHeight","sizeWidth","sizeHeight","boxSizing","properties","m","directions","b","y","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","arg","memoize","_prop$split","_prop$split2","_slicedToArray","dir","spacingKeys","themeSpacing","abs","getStyleFromPropValue","cssProperties","transformer","transformed","getValue","getPath","_options$cssProperty","themeMapping","propValueFinal","styleFunctionSx","sx","fontStyle","textAlign","isPlainObject","constructor","source","code","encodeURIComponent","chainPropTypes","propType1","propType2","elementAcceptingRef","PropTypes","isRequired","exactProp","fnNameMatchRegex","getFunctionComponentName","fallback","getFunctionName","getWrappedName","outerType","innerType","wrapperName","functionName","getDisplayName","$$typeof","ForwardRef","render","Memo","HTMLElementType","self","Function","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","g","q","v","w","z","u","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","condition","format","argIndex","framesToPop","iterator","nodeType","arr","call","plainObjectConstrurctor","cloneStyle","declCopy","by","cssValue","getWhitespaceSymbols","linebreak","space","indentStr","indent","toCss","_options$indent","Infinity","_getWhitespaceSymbols","_value","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","escape","BaseStyleRule","Renderer","renderer","force","isEmpty","isDefined","renderable","removeProperty","setProperty","attached","StyleRule","_BaseStyleRule","_this","selectorText","_assertThisInitialized","_inheritsLoose","_proto2","applyTo","json","toJSON","opts","setSelector","pluginStyleRule","defaultToStringOptions","atRegExp","ConditionalRule","atMatch","query","keyRegExp","pluginConditionalRule","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","findReferencedKeyframe","keyframes","refKeyframe","pluginKeyframesRule","KeyframeRule","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","defaultUpdateOptions","forceUpdateOptions","raw","counter","ruleOptions","_this$options","register","splice","oldRule","oldIndex","nameOrSelector","unregister","updateOne","_this$options2","nextValue","_nextValue","_prevValue","StyleSheet","deployed","deploy","queue","insertRule","deleteRule","addRules","added","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","use","newPlugin","plugin","reset","_temp","_objectWithoutPropertiesLoose","sheets","globalThis$1","globalThis","ns","moduleId","createGenerateId","jssId","String","minify","getPropertyValue","cssRule","attributeStyleMap","indexOfImportantFlag","cssValueWithoutImportantFlag","getHead","querySelector","findPrevNode","findHigherSheet","parentNode","findHighestSheet","nextSibling","comment","childNodes","nodeValue","findCommentNode","getNonce","getAttribute","_insertRule","appendRule","cssRules","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","media","textContent","createStyle","setAttribute","nonce","nextNode","insertionPointElement","appendChild","insertStyle","Boolean","removeChild","insertRules","nativeParent","latestNativeParent","_insertionIndex","refCssRule","ruleStr","insertionIndex","nativeRule","getRules","instanceCounter","Jss","version","setup","createJss","extracted","moment","monthsShortDot","monthsShort","monthsParse","monthsRegex","defineLocale","months","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdays","weekdaysShort","weekdaysMin","weekdaysParseExact","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","hours","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","mm","hh","dd","ww","M","MM","yy","dayOfMonthOrdinalParse","ordinal","dow","doy","invalidDate","factory","hookCallback","some","hooks","setHookCallback","callback","isObject","hasOwnProp","isObjectEmpty","isUndefined","isNumber","isDate","res","arrLen","extend","valueOf","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","flags","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","NaN","fun","len","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","stack","deprecations","deprecateSimple","isFunction","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","mom","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","localeData","removeFormattingTokens","makeFormatFunction","array","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","diff","D","dates","days","day","weekday","E","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","hour","millisecond","minutes","minute","Q","quarters","quarter","seconds","second","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","weeks","W","isoweeks","isoweek","years","year","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","priority","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p3","p4","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getUTCMilliseconds","getMilliseconds","getUTCSeconds","getSeconds","getUTCMinutes","getMinutes","getUTCHours","getHours","getUTCDate","getDate","getUTCDay","getDay","getUTCMonth","getMonth","getUTCFullYear","getFullYear","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","daysInMonth","modMonth","o","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","next","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","exec","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","temp","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","preparse","configFromInput","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","tmp","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","th","assign","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","propIsEnumerable","propertyIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","TypeError","isarray","pathToRegexp","parse","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","capture","group","modifier","asterisk","partial","repeat","optional","pattern","prevText","escapeGroup","restrictBacktrack","escapeString","encodeURIComponentPretty","encodeURI","charCodeAt","encode","pretty","segment","attachKeys","sensitive","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","hr","uptime","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","secret","getShim","ReactPropTypes","bigint","bool","object","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","createContext","getStatus","getStatusStyle","buildStyleGetters","datums","getMultiAnchor","points","gridWidth","gridHeight","includes","getClosestPoint","boundingPoints","sqrt","normalizeGetter","isValidPoint","getAxisByAxisID","find","getAxisIndexByAxisID","findIndex","sumObjBy","translateX","translateY","translate","identity","shallowDiff","focused","otherFocused","seriesID","series","C","stroke","S","getBoundingClientRect","rect","callbacks","requestAnimationFrame","T","useLayoutEffect","useEffect","useState","parentElement","useRef","observe","has","hasRectChanged","unobserve","cancelAnimationFrame","N","R","P","U","I","V","F","B","H","cancelled","handle","Y","cancel","polyfill","strokeWidth","opacity","rx","ry","x1","y1","x2","y2","X","G","Z","$","_","K","J","tt","et","kt","rt","wt","halfedges","nt","it","ot","site","atan2","st","ut","insert","ct","lt","ht","arc","ft","At","pop","circle","Ct","dt","yt","pt","edge","gt","mt","Mt","_t","St","unshift","xt","vt","bt","Et","Tt","edges","cells","Dt","Nt","polygons","triangles","links","_found","Rt","Lt","Pt","Ot","Ut","It","Vt","reverse","log","LN10","zt","jt","range","domain","Ft","Bt","done","unknown","copy","Ht","rangeRound","bandwidth","paddingInner","paddingOuter","align","Yt","Wt","qt","Xt","Gt","Zt","$t","Kt","Jt","Qt","te","ee","ne","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","ie","formatHex","oe","formatRgb","ae","se","he","ue","pe","ce","le","fe","ye","de","me","ge","_e","xe","ve","displayable","formatHsl","brighter","darker","be","gamma","Me","we","De","Ce","ke","Se","Ae","Ee","Te","ArrayBuffer","isView","DataView","Ne","Re","Le","Pe","Oe","Ue","Ie","Ve","interpolate","ze","invert","je","Fe","toExponential","Be","He","Ye","We","qe","zero","comma","precision","Xe","Ge","toPrecision","Ze","$e","Ke","Je","Qe","tn","en","ticks","tickFormat","nice","nn","rn","on","exp","an","sn","un","cn","ln","log10","log2","grouping","thousands","currency","decimal","numerals","minus","nan","formatPrefix","hn","dn","every","yn","pn","gn","mn","_n","xn","vn","bn","Mn","wn","Cn","kn","Sn","An","En","Tn","Dn","Nn","Rn","Ln","Pn","On","Un","In","Vn","zn","jn","Fn","Bn","Hn","Yn","Wn","qn","Xn","Gn","Zn","$n","Kn","Jn","Qn","tr","er","nr","rr","ir","or","ar","sr","ur","cr","lr","fr","dr","yr","pr","gr","mr","_r","xr","vr","br","Mr","wr","Cr","kr","Sr","Ar","Er","Tr","Dr","Nr","Rr","Lr","Pr","Or","Ur","Ir","Vr","zr","jr","Fr","Br","Hr","Yr","Wr","qr","Xr","Gr","Zr","$r","Kr","Jr","Qr","dateTime","periods","shortDays","shortMonths","utcFormat","utcParse","ti","PI","ei","ni","ri","_x0","_y0","_x1","_y1","oi","ai","_context","si","ui","ci","li","lineStart","lineEnd","point","defined","curve","hi","fi","bezierCurveTo","di","yi","pi","gi","_basis","_beta","moveTo","closePath","lineTo","quadraticCurveTo","arcTo","acos","cos","sin","areaStart","_line","areaEnd","_point","_x2","_x3","_x4","_y2","_y3","_y4","_x","_y","mi","beta","_k","xi","vi","tension","bi","_x5","_y5","Mi","wi","Ci","ki","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","Si","_alpha","Ai","Ei","Ti","Di","Ni","Ri","Li","Pi","Oi","Ui","Ii","Vi","zi","ji","Fi","Bi","Hi","_t0","Yi","Wi","qi","Xi","Gi","useContext","stackData","primaryAxes","secondaryAxes","showVoronoi","onFocus","onClick","primaryCursor","secondaryCursor","useCallback","useMemo","datum","extent","onMouseEnter","onMouseLeave","Zi","$i","writable","configurable","Ki","Ji","Qi","forwardRef","eo","no","ro","io","oo","ao","so","line","tick","uo","tickSizeInner","tickSizeOuter","show","showGrid","showTicks","maxLabelRotation","labelRotationStep","tickPadding","tickCount","minTickCount","maxTickCount","scale","vertical","directionMultiplier","tickOffset","gridOffset","axisDimensions","querySelectorAll","_overflow","pointerEvents","dominantBaseline","textAnchor","co","lo","ho","gridX","gridY","latestFocused","getDatumStyle","alignPriority","tooltipArrowPadding","arrowPosition","body","overflowX","overflowY","horizontalPadding","verticalPadding","primaryAxisID","secondaryAxisID","getStyle","primaryAxis","secondaryAxis","fo","yo","po","showLine","showLabel","resolvedValue","snap","axis","siblingAxis","resolvedShow","cursorSize","formattedValue","stacked","totalValue","RTL","go","pointer","brush","dragging","sourceX","mo","renderSVG","seriesOptions","getSeriesOrder","clientX","clientY","removeEventListener","released","persist","onMouseMove","onMouseDown","sourceY","chartState","setChartState","_o","xo","getSeriesStyle","vo","bo","Mo","wo","Co","ko","showPoints","So","plotDatum","xAxis","yAxis","primaryCoord","secondaryCoord","xValue","yValue","baseValue","buildStyles","defaultColors","Ao","Eo","To","Do","No","Ro","showOrphans","x0","y0","lineX0","lineY0","lineY1","lineX1","area","Lo","all","Po","barOffset","Oo","rectangle","barSize","seriesBarSize","seriesBandScale","seriesTypeIndex","Uo","Io","bar","Vo","zo","jo","hardMin","hardMax","tickValues","innerPadding","outerPadding","materializedData","defaultMin","defaultMax","uniqueVals","stepSize","Fo","Bo","Ho","formatSecondary","formatTertiary","seriesIndex","marginBottom","seriesLabel","marginRight","paddingTop","backgroundColor","Yo","axisID","onChange","Wo","getDatums","getLabel","label","getSeriesID","getPrimary","getSecondary","getR","radius","getPrimaryAxisID","getSecondaryAxisID","originalSeries","onHover","qo","axes","originalDatum","xKey","yKey","xAxes","yAxes","negative","positive","axisValues","onSelect","onClickRef","Chart","alignAuto","alignBottom","alignBottomLeft","alignBottomRight","alignLeft","alignRight","alignTop","alignTopLeft","alignTopRight","anchorBottom","anchorCenter","anchorClosest","anchorGridBottom","anchorGridLeft","anchorGridRight","anchorGridTop","anchorLeft","anchorPointer","anchorRight","anchorTop","axisTypeLinear","axisTypeLog","axisTypeOrdinal","axisTypeTime","axisTypeUtc","curveBasis","curveBasisClosed","curveBasisOpen","curveBundle","curveCardinal","curveCardinalClosed","curveCardinalOpen","curveCatmullRom","curveCatmullRomClosed","curveCatmullRomOpen","curveLinear","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","focusAuto","focusClosest","focusElement","groupingPrimary","groupingSecondary","groupingSeries","groupingSingle","positionBottom","positionLeft","positionRight","positionTop","aa","ba","onError","da","ea","fa","ha","ia","ja","la","ma","na","oa","currentTarget","ka","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Xa","Sa","Ta","Ra","removeAttribute","setAttributeNS","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","_status","_result","qb","tag","_debugOwner","_debugSource","fileName","lineNumber","return","rb","sb","nodeName","xb","_valueTracker","stopTracking","tb","yb","checked","zb","defaultChecked","defaultValue","_wrapperState","initialChecked","Ab","initialValue","Bb","Cb","Db","Eb","activeElement","Gb","Children","Fb","Hb","defaultSelected","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","Rb","lastChild","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","animation","Xb","Yb","Zb","$b","ac","bc","WeakMap","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","child","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","unstable_UserBlockingPriority","ed","fd","gd","bind","hd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexPositive","flexNegative","flexOrder","gridRowEnd","gridRowSpan","gridRowStart","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","kd","ld","nd","menuitem","col","embed","img","keygen","param","track","wbr","od","pd","is","qd","rd","sd","td","ud","vd","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","contentWindow","href","yd","contentEditable","zd","Ad","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","destructor","getPooled","preventDefault","stopPropagation","cancelBubble","eventPhase","bubbles","cancelable","timeStamp","isTrusted","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","detail","which","char","change","detachEvent","attachEvent","_isInputEventSupported","view","Alt","Control","Meta","Shift","getModifierState","screenX","screenY","pageX","pageY","shiftKey","buttons","relatedTarget","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","parentWindow","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","of","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","rf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","hg","ig","jg","kg","mg","ng","og","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseState","baseQueue","shared","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","isMounted","_reactInternalFiber","enqueueSetState","Gg","Hg","Ig","enqueueReplaceState","enqueueForceUpdate","Kg","shouldComponentUpdate","isPureReactComponent","Lg","updater","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_owner","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","mode","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","destroy","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useImperativeHandle","useReducer","useDebugValue","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","ReactCurrentOwner","Zh","$h","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","pendingContext","retryTime","unstable_avoidThisFallback","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","wasMultiple","onclick","createElementNS","createTextNode","WeakSet","Set","__reactInternalSnapshotBeforeUpdate","componentWillUnmount","_reactRootContainer","then","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","vb","Uj","Vj","Wj","hidden","_ctor","ob","Xj","_calculateChangedBits","unstable_observedBits","Zj","isReactComponent","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","kk","jk","unmount","form","Lj","lk","Events","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","__esModule","toStringTag","containCrop","makeAspectCrop","setPrototypeOf","__proto__","ReferenceError","getOwnPropertyDescriptors","defineProperties","aspect","passive","Reflect","construct","sham","Proxy","crop","mediaDimensions","bindDocMove","componentRef","preventScroll","dataset","ord","evData","clientStartX","clientStartY","cropStartWidth","cropStartHeight","cropStartX","cropStartY","xInversed","yInversed","xCrossOver","yCrossOver","startXCrossOver","startYCrossOver","isResize","mouseDownOnCrop","setState","cropIsActive","locked","keepSelection","mediaWrapperRef","newCropIsBeingDrawn","onDragStart","dragStarted","xDiff","yDiff","resizeCrop","dragCrop","onComplete","keysDown","makeNewCrop","navigator","platform","nudgeStepLarge","nudgeStepMedium","nudgeStep","onDragEnd","unbindDocMove","createNewCrop","pixelCrop","percentCrop","onImageLoaded","imageRef","cropSelectRef","onMediaLoaded","docMoveBound","onDocPointerMove","onDocPointerDone","clientWidth","clientHeight","getNewSize","lastYCrossover","xyOrds","xOrds","yOrds","crossOverCheck","renderSelectionAddon","ruleOfThirds","getCropStyle","bindCropSelectionRef","onPointerDown","onCropPointerDown","defaultCrop","inversedXOrd","inversedYOrd","circularCrop","crossorigin","imageAlt","onImageError","renderComponent","src","imageStyle","createCropSelection","bindComponentRef","onComponentPointerDown","tabIndex","onKeyDown","onComponentKeyDown","onKeyUp","onComponentKeyUp","bindMediaWrapperRef","bindImageRef","crossOrigin","onLoad","onImageLoad","alt","PureComponent","ReactQueryDevtools","ReactQueryDevtoolsPanel","focusManager","_Subscribable","FocusManager","_window","isServer","listener","onSubscribe","cleanup","setEventListener","onUnsubscribe","_this$cleanup","hasListeners","_this$cleanup2","_this2","setFocused","listeners","isFocused","Subscribable","infiniteQueryBehavior","onFetch","fetchFn","_context$fetchOptions","_context$fetchOptions2","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","promise","refetchPage","fetchOptions","fetchMore","pageParam","isFetchingNextPage","isFetchingPreviousPage","oldPages","pages","oldPageParams","pageParams","abortController","getAbortController","abortSignal","signal","newPageParams","queryFn","Promise","reject","buildNewPages","previous","fetchPage","manual","resolve","queryFnContext","queryKey","queryFnResult","isCancelable","getNextPageParam","_manual","_param","getPreviousPageParam","shouldFetchFirstPage","_loop","_param2","finalPromise","abort","hasNextPage","nextPageParam","hasPreviousPage","previousPageParam","logger","getLogger","setLogger","newLogger","Mutation","mutationId","mutationCache","observers","getDefaultState","addObserver","observer","removeObserver","retryer","noop","catch","continue","execute","restored","status","variables","onMutate","executeMutation","onSuccess","onSettled","_this$options$retry","Retryer","mutationFn","onFail","onPause","onContinue","retry","retryDelay","_this3","failureCount","isPaused","reducer","notifyManager","batch","onMutationUpdate","notify","NotifyManager","transactions","notifyFn","batchNotifyFn","flush","schedule","scheduleMicrotask","batchCalls","setNotifyFunction","setBatchNotifyFunction","onlineManager","OnlineManager","onOnline","online","setOnline","isOnline","onLine","Query","abortSignalConsumed","hadObservers","setOptions","queryHash","initialState","scheduleGc","_this$options$cacheTi","cacheTime","setDefaultOptions","clearGcTimeout","isValidTimeout","gcTimeout","optionalRemove","isFetching","setData","_this$options$isDataE","prevData","functionalUpdate","isDataEqual","structuralSharing","replaceEqualDeep","dataUpdatedAt","updatedAt","setStateOptions","_this$retryer","silent","isActive","enabled","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","timeUntilStale","_this$retryer2","shouldFetchOnWindowFocus","refetch","_this$retryer3","shouldFetchOnReconnect","isTransportCancelable","revert","cancelRetry","getObserversCount","invalidate","fetch","_this$options$behavio","_abortController$abor","cancelRefetch","_this$retryer4","continueRetry","ensureQueryKeyArray","_this$options$behavio2","behavior","revertState","fetchMeta","isCancelledError","onQueryUpdate","initialData","initialDataUpdatedAt","hasData","dataUpdateCount","errorUpdateCount","errorUpdatedAt","fetchFailureCount","_action$meta","_action$dataUpdatedAt","QueryCache","queries","queriesMap","build","client","_options$queryHash","hashQueryKeyByOptions","defaultQueryOptions","getQueryDefaults","queryInMap","getAll","arg1","arg2","filters","parseFilterArgs","matchQuery","findAll","_this4","_this5","MutationCache","mutations","mutation","defaultMutationOptions","mutationKey","getMutationDefaults","matchMutation","resumePausedMutations","pausedMutations","QueryClient","queryCache","queryDefaults","mutationDefaults","mount","unsubscribeFocus","subscribe","unsubscribeOnline","_this$unsubscribeFocu","_this$unsubscribeOnli","fetching","isMutating","getQueryData","_this$queryCache$find","getQueriesData","queryKeyOrFilters","getQueryCache","setQueryData","parsedOptions","parseQueryArgs","defaultedOptions","setQueriesData","getQueryState","_this$queryCache$find2","removeQueries","resetQueries","arg3","_parseFilterArgs3","refetchFilters","refetchQueries","cancelQueries","_parseFilterArgs4","_parseFilterArgs4$","cancelOptions","promises","invalidateQueries","_filters$refetchActiv","_filters$refetchInact","_parseFilterArgs5","refetchActive","inactive","refetchInactive","_this6","_parseFilterArgs6","throwOnError","fetchQuery","prefetchQuery","fetchInfiniteQuery","prefetchInfiniteQuery","cancelMutations","_this7","getMutationCache","getDefaultOptions","setQueryDefaults","hashQueryKey","_this$queryDefaults$f","partialMatchKey","setMutationDefaults","_this$mutationDefault","_defaulted","defaultQueryObserverOptions","defaultRetryDelay","CancelledError","cancelFn","continueFn","promiseResolve","promiseReject","isResolved","outerResolve","outerReject","run","promiseOrValue","_unused","_config$retry","_config$retryDelay","shouldRetry","sleep","continueResolve","isQueryKey","parseMutationArgs","predicate","stale","queryStatusFilter","mapQueryStatusFilter","queryKeyHashFn","asArray","partialDeepEqual","aSize","bItems","bSize","equalItems","shallowEqualObjects","hasObjectPrototype","ctor","prot","AbortController","defaultContext","QueryClientSharingContext","getQueryClientContext","contextSharing","ReactQueryClientContext","useQueryClient","queryClient","QueryClientProvider","_ref$contextSharing","Context","MutationObserver","bindMethods","updateResult","mutate","_this$currentMutation","currentMutation","notifyOptions","currentResult","mutateOptions","isLoading","isSuccess","isError","isIdle","shouldThrowError","_useErrorBoundary","useMutation","mountedRef","forceUpdate","obsRef","unsubscribe","useErrorBoundary","mutateAsync","QueryObserver","trackedProps","selectError","currentQuery","shouldFetchOnMount","executeFetch","updateTimers","shouldFetchOn","refetchOnReconnect","refetchOnWindowFocus","clearTimers","prevQuery","updateQuery","mounted","shouldFetchOptionally","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","createResult","trackResult","trackedResult","trackProp","getNextResult","getCurrentQuery","fetchOptimistic","clearStaleTimeout","staleTimeoutId","_this$options$refetch","refetchInterval","nextInterval","clearRefetchInterval","refetchIntervalId","setInterval","refetchIntervalInBackground","clearInterval","prevResult","prevResultState","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","isPreviousData","isPlaceholderData","optimisticResults","fetchOnMount","fetchOptionally","keepPreviousData","selectFn","selectResult","placeholderData","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsExclusions","includedProps","typedKey","changed","isIncluded","isExcluded","defaultNotifyOptions","_this8","retryOnMount","shouldLoadOnMount","refetchOnMount","createValue","_isReset","clearReset","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","useBaseQuery","Observer","errorResetBoundary","useQuery","InfiniteQueryObserver","_QueryObserver","fetchNextPage","fetchPreviousPage","_options$cancelRefetc","_options$cancelRefetc2","_state$data","_state$data2","_state$fetchMeta","_state$fetchMeta$fetc","_state$fetchMeta2","_state$fetchMeta2$fet","useInfiniteQuery","Constructor","protoProps","staticProps","_propTypes2","_react2","_classnames2","_objectAssign2","_spinners","REACT_SPINKIT_NO_STYLES","Spinner","_React$Component","noFadeIn","_possibleConstructorReturn","subClass","superClass","_inherits","_cx","spinnerInfo","allSpinners","fadeIn","overrideSpinnerClassName","divCount","idx","spinkitSpinners","wave","pulse","wordpress","loadersCssSpinners","pacman","__WEBPACK_EXTERNAL_MODULE_react__","installedModules","__webpack_require__","modules","hasGetUserMedia","mediaDevices","getUserMedia","constraints","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","Webcam","_super","canvas","ctx","unmounted","hasUserMedia","__extends","requestUserMedia","onUserMediaError","nextProps","audioConstraintsChanged","audioConstraints","videoConstraintsChanged","videoConstraints","minScreenshotWidthChanged","minScreenshotWidth","minScreenshotHeightChanged","minScreenshotHeight","stopAndCleanup","stopMediaStream","stream","getVideoTracks","getAudioTracks","removeTrack","stop","URL","revokeObjectURL","getScreenshot","screenshotDimensions","getCanvas","toDataURL","screenshotFormat","screenshotQuality","video","videoHeight","canvasWidth","videoWidth","canvasHeight","forceScreenshotSourceSize","aspectRatio","getContext","mirrored","imageSmoothingEnabled","imageSmoothing","drawImage","sourceSelected","audio","handleUserMedia","optionalSource_1","sourceId","constraintToSourceId_1","constraint","deviceId","ideal","MediaStreamTrack","getSources","sources","audioSource","videoSource","kind","audioSourceId","videoSourceId","srcObject","createObjectURL","onUserMedia","_b","rest","__rest","videoStyle","__assign","react__WEBPACK_IMPORTED_MODULE_0__","autoPlay","muted","playsInline","__webpack_exports__","__self","__source","jsx","jsxs","keyPrefix","IsSomeRendererActing","cloneElement","_currentValue2","_threadCount","Consumer","createFactory","createRef","isValidElement","lazy","memo","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","toPropertyKey","_getRequireWildcardCache","objectWithoutPropertiesLoose","toPrimitive","hasOwn","classNames","appendClass","parseValue","newClass","_arrayLikeToArray","_defineProperties","_setPrototypeOf","unsupportedIterableToArray","arrayLikeToArray","_unsupportedIterableToArray","__webpack_module_cache__","cachedModule","loaded","__webpack_modules__","definition","nmd","paths","hostname","isAbsolute","pathname","spliceOne","list","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","part","valueEqual","aValue","bValue","invariant","message","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","resolvePathname","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","userAgent","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","MAX_SIGNED_31_BIT_INT","commonjsGlobal","calculateChangedBits","contextProp","getUniqueId","emitter","handlers","handler","off","changedBits","createEventEmitter","oldValue","_Provider$childContex","_React$Component2","_Consumer$contextType","createNamedContext","historyContext","Router","_isMounted","_pendingLocation","staticContext","computeRootMatch","isExact","Lifecycle","onMount","prevProps","onUnmount","cacheCount","generatePath","generator","compilePath","Redirect","computedMatch","_ref$push","method","cacheCount$1","matchPath","_options","_options$exact","_options$strict","_options$sensitive","pathCache","regexp","compilePath$1","_compilePath","Route","context$1","_this$props","isEmptyChildren","createURL","staticHandler","methodName","Switch","useHistory","useLocation","useParams","BrowserRouter","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","forwardedRef","navigate","_onClick","ex","isModifiedEvent","Link","_ref2$component","__RouterContext","isDuplicateNavigation","forwardRefShim$1","forwardRef$1","ariaCurrent","_ref$ariaCurrent","activeClassName","_ref$activeClassName","activeStyle","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","makeStylesWithoutDefault","Container","_props$disableGutters","disableGutters","_props$fixed","fixed","_props$maxWidth","marginLeft","maxWidthXs","maxWidthSm","maxWidthMd","maxWidthLg","maxWidthXl","componentCreator","styledWithoutDefault","borders","flexbox","positions","sizing","html","WebkitFontSmoothing","MozOsxFontSmoothing","_props$children","MomentUtils","yearFormat","yearMonthFormat","dateTime12hFormat","dateTime24hFormat","time12hFormat","time24hFormat","defaultMoment","isNull","getDiff","comparing","isAfterDay","isBeforeDay","isBeforeYear","isAfterYear","startOfDay","endOfDay","formatString","formatNumber","numberToFormat","addDays","isSameDay","isSameMonth","isSameYear","isSameHour","getMeridiemText","ampm","startOfMonth","endOfMonth","getNextMonth","getPreviousMonth","getMonthArray","monthArray","prevMonth","getYear","setYear","mergeDateAndTime","getWeekdays","isEqual","getWeekArray","nestedWeeks","weekNumber","getYearRange","startDate","endDate","getCalendarHeaderText","getYearText","getDatePickerHeaderText","getDateTimePickerHeaderText","getMonthText","getDayText","getHourText","getMinuteText","getSecondText","MuiPickersContext","MuiPickersUtilsProvider","Utils","utils","libInstance","useUtils","checkUtils","ErrorBoundaryContext","didCatch","ErrorBoundary","super","resetErrorBoundary","_this$props$onReset","onReset","_this$props$onError","_this$props2","prevState","resetKeys","_this$props$onReset2","_this$props3","hasArrayChanged","prev","fallbackRender","FallbackComponent","childToRender","TableCell","_props$align","paddingProp","scopeProp","sizeProp","sortDirection","variantProp","variant","table","TableContext","tablelvl2","Tablelvl2Context","isHeadCell","ariaSort","stickyHeader","verticalAlign","footer","sizeSmall","paddingCheckbox","paddingNone","alignCenter","alignJustify","Avatar","childrenProp","imgProps","sizes","srcSet","_props$variant","setLoaded","image","Image","onload","onerror","useLoaded","hasImg","hasImgNotFailing","Person","system","colorDefault","circular","rounded","square","objectFit","textIndent","getChildMapping","mapFn","mapper","getProp","getNextChildMapping","prevChildMapping","onExited","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","hasNext","prevChild","isLeaving","in","exit","enter","TransitionGroup","handleExited","contextValue","isMounting","firstRender","appear","currentChildMapping","childFactory","TransitionGroupContext","_props$pulsate","pulsate","rippleX","rippleY","rippleSize","inProp","_props$onExited","leaving","setLeaving","rippleClassName","ripple","rippleVisible","ripplePulsate","rippleStyles","childClassName","childLeaving","childPulsate","timeoutId","TouchRipple","_props$center","center","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","Ripple","_options$pulsate","_options$center","_options$fakeElement","fakeElement","sizeX","sizeY","animationDuration","ButtonBase","buttonRefProp","buttonRef","_props$centerRipple","centerRipple","_props$disabled","_props$disableRipple","disableRipple","_props$disableTouchRi","disableTouchRipple","_props$focusRipple","focusRipple","focusVisibleClassName","onBlur","onFocusVisible","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","onDragLeave","_props$tabIndex","TouchRippleProps","_props$type","rippleRef","focusVisible","setFocusVisible","_useIsFocusVisible","focusVisibleRef","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","keydownRef","handleKeyUp","buttonProps","handleUserRef","handleOwnRef","handleRef","_React$useState2","mountedState","setMountedState","enableTouchRipple","WebkitTapHighlightColor","cursor","textDecoration","borderStyle","isDeleteKeyboardEvent","keyboardEvent","Chip","avatarProp","avatar","clickableProp","clickable","deleteIconProp","deleteIcon","iconProp","onDelete","_props$size","chipRef","handleDeleteIconClick","small","moreProps","customClasses","deleteIconSmall","CancelIcon","avatarSmall","iconSmall","outlined","outlinedPrimary","outlinedSecondary","deletable","blur","labelSmall","deleteIconColor","boxShadow","clickableColorPrimary","clickableColorSecondary","deletableColorPrimary","deletableColorSecondary","avatarColorPrimary","avatarColorSecondary","iconColorPrimary","iconColorSecondary","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","forceReflow","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","initialStatus","appearStatus","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","nodeRef","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","useThemeWithoutDefault","reflow","getTransitionProps","_props$style","transitionDuration","transitionDelay","getScale","entering","entered","Grow","_props$disableStrictM","disableStrictModeCompat","_props$timeout","_props$TransitionComp","TransitionComponent","timer","autoTimeout","enableStrictModeCompat","unstable_strictMode","foreignRef","normalizedTransitionCallback","nodeOrAppearing","isAppearing","handleEntering","handleEnter","_getTransitionProps","handleEntered","handleExiting","handleExit","_getTransitionProps2","nodeOrNext","maybeNext","muiSupportAuto","isBrowser","timeoutDuration","longerTimeoutBrowsers","called","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","host","getScrollParent","_getStyleComputedProp","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","Node","DOCUMENT_POSITION_FOLLOWING","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","upperSide","scrollingElement","getBordersSize","sideA","sideB","getSize","computedStyle","getWindowSizes","getClientRect","offsets","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","includeScroll","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","modifiers","ends","cur","isDestroyed","positionFixed","originalPlacement","isCreated","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","isNumeric","setStyles","isFirefox","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","splitRegex","ops","op","mergeWithPrevious","toValue","index2","Defaults","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","transformProp","popperStyles","escapeWithReference","opSide","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","arrow","_data$offsets$arrow","flipped","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","bound","hide","attributes","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrowStyles","modifierOptions","Popper","jquery","PopperUtils","_props$disablePortal","disablePortal","onRendered","mountNode","setMountNode","getContainer","getAnchorEl","anchorEl","defaultPopperOptions","_props$keepMounted","keepMounted","open","_props$placement","initialPlacement","_props$popperOptions","popperOptions","popperRefProp","popperRef","_props$transition","tooltipRef","ownRef","handlePopperRef","handlePopperRefRef","exited","setExited","rtlPlacement","flipPlacement","setPlacement","handleOpen","handlePopperUpdate","PopperJs","preventOverflow","handleClose","TransitionProps","hystersisOpen","hystersisTimer","Tooltip","_props$arrow","_props$disableFocusLi","disableFocusListener","_props$disableHoverLi","disableHoverListener","_props$disableTouchLi","disableTouchListener","_props$enterDelay","enterDelay","_props$enterNextDelay","enterNextDelay","_props$enterTouchDela","enterTouchDelay","idProp","_props$interactive","interactive","_props$leaveDelay","leaveDelay","_props$leaveTouchDela","leaveTouchDelay","onClose","onOpen","openProp","_props$PopperComponen","PopperComponent","PopperProps","title","childNode","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","_useControlled","_useControlled2","openState","setOpenState","forward","childrenProps","onMouseOver","_React$useState3","childIsFocusVisible","setChildIsFocusVisible","handleLeave","detectTouchStart","handleUseRef","handleFocusRef","shouldShowNativeTitle","interactiveWrapperListeners","mergedPopperProps","popperInteractive","popperArrow","placementInner","TransitionPropsInner","touch","tooltipArrow","transformOrigin","wordWrap","content","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","IconButton","_props$edge","_props$disableFocusRi","disableFocusRipple","edgeStart","edgeEnd","colorInherit","formControlState","states","muiFormControl","FormControlContext","useFormControl","getStyleValue","rows","rowsMax","rowsMinProp","rowsMin","maxRowsProp","maxRows","_props$minRows","minRows","minRowsProp","inputRef","shadowRef","renders","syncHeight","inputShallow","placeholder","scrollHeight","singleRowHeight","outerHeight","outerHeightStyle","handleResize","hasValue","isFilled","SSR","InputBase","ariaDescribedby","autoComplete","endAdornment","_props$fullWidth","fullWidth","_props$inputComponent","inputComponent","_props$inputProps","inputProps","inputPropsProp","inputRefProp","_props$multiline","multiline","renderSuffix","startAdornment","valueProp","handleInputRefWarning","handleInputPropsRefProp","handleInputRefProp","handleInputRef","fcs","onFilled","onEmpty","checkDirty","InputComponent","TextareaAutosize","setAdornedStart","formControl","adornedStart","adornedEnd","marginDense","onAnimationStart","required","inputMultiline","hiddenLabel","inputHiddenLabel","inputAdornedStart","inputAdornedEnd","inputTypeSearch","inputMarginDense","placeholderHidden","placeholderVisible","font","resize","ListItem","_props$alignItems","_props$autoFocus","_props$button","componentProp","_props$ContainerCompo","ContainerComponent","_props$ContainerProps","ContainerProps","ContainerClassName","_props$dense","dense","_props$divider","_props$selected","ListContext","childContext","listItemRef","hasSecondaryAction","componentProps","alignItemsFlexStart","secondaryAction","paddingBottom","backgroundClip","MenuItem","ListItemClasses","_props$role","tabIndexProp","getScrollbarSize","scrollDiv","scrollbarSize","ariaHidden","getPaddingRight","ariaHiddenSiblings","currentNode","nodesToExclude","blacklistTagNames","findIndexOf","handleContainer","fixedNodes","restoreStyle","restorePaddings","disableScrollLock","isOverflowing","scrollContainer","ModalManager","modals","containers","modalIndex","modalRef","hiddenSiblingNodes","hiddenSiblings","getHiddenSiblings","containerIndex","restore","nextTop","_props$disableAutoFoc","disableAutoFocus","_props$disableEnforce","disableEnforceFocus","_props$disableRestore","disableRestoreFocus","getDoc","isEnabled","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","rootRef","prevOpenRef","contain","hasFocus","loopFocus","interval","invisible","_props$invisible","defaultManager","inProps","_props$BackdropCompon","BackdropComponent","SimpleBackdrop","BackdropProps","_props$closeAfterTran","closeAfterTransition","_props$disableBackdro","disableBackdropClick","_props$disableEscapeK","disableEscapeKeyDown","_props$disableScrollL","_props$hideBackdrop","hideBackdrop","_props$manager","manager","onBackdropClick","onEscapeKeyDown","mountNodeRef","hasTransition","getHasTransition","getModal","handleMounted","resolvedContainer","isTopModal","handlePortalRef","inlineStyle","TrapFocus","Paper","_props$square","_props$elevation","elevation","elevations","shadow","getOffsetTop","getOffsetLeft","horizontal","getTransformOriginValue","Popover","_props$anchorOrigin","anchorOrigin","anchorPosition","_props$anchorReferenc","anchorReference","containerProp","getContentAnchorEl","_props$marginThreshol","marginThreshold","_props$PaperProps","PaperProps","_props$transformOrigi","_props$transitionDura","transitionDurationProp","_props$TransitionProp","paperRef","getAnchorOffset","contentAnchorOffset","resolvedAnchorEl","anchorRect","anchorVertical","getContentAnchorOffset","contentAnchorEl","offsetTop","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","containerWindow","heightThreshold","widthThreshold","_diff","_diff2","_diff3","setPositioningStyles","positioning","handlePaperRef","updatePosition","Modal","List","_props$disablePadding","disablePadding","subheader","listStyle","nextItem","disableListWrap","previousItem","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","innerText","repeating","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","actions","_props$autoFocusItem","autoFocusItem","_props$disabledItemsF","_props$disableListWra","listRef","textCriteriaRef","previousKeyMatched","lastTime","adjustStyleForScrollbar","containerElement","noExplicitWidth","activeItemIndex","items","newChildProps","criteria","lowerKey","currTime","keepFocusOnCurrent","RTL_ORIGIN","LTR_ORIGIN","disableAutoFocusItem","_props$MenuListProps","MenuListProps","onEnteringProp","PopoverClasses","menuListActionsRef","contentAnchorRef","MenuList","WebkitOverflowScrolling","areEqualValues","ariaLabel","autoWidth","displayEmpty","IconComponent","labelId","_props$MenuProps","MenuProps","renderValue","_props$SelectDisplayP","SelectDisplayProps","displayNode","setDisplayNode","isOpenControlled","menuMinWidthState","setMenuMinWidthState","getElementById","isCollapsed","displaySingle","childrenArray","handleItemClick","itemIndex","displayMultiple","computeDisplay","menuMinWidth","buttonId","selectMenu","nativeInput","iconOpen","Input","disableUnderline","underline","bottomLineColor","borderBottomColor","borderBottomStyle","filled","iconFilled","iconOutlined","defaultInput","NativeSelect","_props$IconComponent","ArrowDropDownIcon","_props$input","NativeSelectInput","FilledInput","borderTopLeftRadius","borderTopRightRadius","WebkitBoxShadow","WebkitTextFillColor","caretColor","NotchedOutline","labelWidthProp","labelWidth","notched","legendLabelled","legendNotched","legend","borderWidth","OutlinedInput","_props$labelWidth","notchedOutline","nativeSelectStyles","Select","_props$autoWidth","_props$displayEmpty","_props$multiple","_props$native","native","variantProps","SelectInput","Toolbar","regular","defaultVariantMapping","Typography","_props$display","_props$gutterBottom","gutterBottom","_props$noWrap","noWrap","_props$paragraph","paragraph","_props$variantMapping","variantMapping","srOnly","colorTextPrimary","colorTextSecondary","displayInline","displayBlock","KeyboardArrowRight","KeyboardArrowLeft","backIconButtonProps","nextIconButtonProps","_props$onChangePage","onChangePage","_props$onPageChange","onPageChange","rowsPerPage","defaultLabelDisplayedRows","defaultRowsPerPageOptions","TablePagination","colSpan","_props$ActionsCompone","ActionsComponent","TablePaginationActions","_props$backIconButton","colSpanProp","_props$labelDisplayed","_props$labelRowsPerPa","_props$nextIconButton","onChangeRowsPerPageProp","onChangeRowsPerPage","onRowsPerPageChangeProp","onRowsPerPageChange","_props$rowsPerPageOpt","rowsPerPageOptions","_props$SelectProps","SelectProps","selectId","MenuItemComponent","spacer","selectIcon","selectRoot","rowsPerPageOption","menuItem","textAlignLast","TableRow","_props$hover","SwitchBase","checkedProp","checkedIcon","disabledProp","setCheckedState","hasLabelFor","newChecked","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","Checkbox","_props$checkedIcon","_props$icon","_props$indeterminate","indeterminate","_props$indeterminateI","indeterminateIcon","indeterminateIconProp","defaultComponent","Table","_props$padding","_props$stickyHeader","borderCollapse","borderSpacing","captionSide","TableBody","TableContainer","TableHead","LinearProgress","valueBuffer","rootProps","inlineStyles","bar1","bar2","_transform","determinate","buffer","dashed","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer","getColor","backgroundPrimary","backgroundSecondary","dashedColorPrimary","backgroundImage","backgroundSize","backgroundPosition","dashedColorSecondary","barColorPrimary","barColorSecondary","FormLabel","InputLabel","_props$disableAnimati","disableAnimation","shrinkProp","shrink","animated","singleMatcher","multiMatcher","decodeComponents","components","decodeURIComponent","decode","decodeUriComponent","encodedURI","replaceMap","entries","customDecodeURIComponent","splitOnFirst","separatorIndex","includeKeys","ownKeys","isNullOrUndefined","strictUriEncode","encodeFragmentIdentifier","validateArrayFormatSeparator","decodeComponent","keysSorter","removeHash","hashStart","parseNumbers","parseBooleans","extract","queryStart","arrayFormat","arrayFormatSeparator","formatter","accumulator","isEncodedArray","arrayValue","flat","parserForArrayFormat","parameter","parameter_","value2","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryString","getHash","urlObjectForFragmentEncode","pick","exclude","FormControl","_props$error","visuallyFocused","_props$hiddenLabel","_props$margin","_props$required","initialAdornedStart","isAdornedStart","initialFilled","setFilled","_focused","registerEffect","marginNormal","FormHelperText","contained","variantComponent","TextField","FormHelperTextProps","helperText","InputLabelProps","InputProps","_props$select","InputMore","_InputLabelProps$requ","displayRequired","helperTextId","inputLabelId","InputElement","htmlFor","SPACINGS","GRID_SIZES","getOffset","div","Grid","_props$alignContent","_props$container","_props$direction","_props$item","justify","_props$justifyContent","_props$lg","_props$md","_props$sm","_props$spacing","_props$wrap","wrap","_props$xl","_props$xs","_props$zeroMinWidth","zeroMinWidth","generateGutter","globalStyles","generateGrid","SttFormText","defVal","onEnterKey","validation","setValidationError","setError","messageError","setMessageError","_validation$map","arrayWithValidateData","errorValue","_jsx","SttFormTextarea","InputAdornment","_props$disablePointer","disablePointerEvents","_props$disableTypogra","disableTypography","positionEnd","positionStart","SttFormSelect","cleanable","mandatory","ev","Box","ClearIcon","_Fragment","createStylesOriginal","Button","_props$disableElevati","disableElevation","endIconProp","endIcon","startIconProp","startIcon","textPrimary","textSecondary","containedPrimary","containedSecondary","textSizeSmall","textSizeLarge","outlinedSizeSmall","outlinedSizeLarge","containedSizeSmall","containedSizeLarge","sizeLarge","iconSizeSmall","iconSizeMedium","iconSizeLarge","DialogActions","_props$disableSpacing","disableSpacing","DialogContent","_props$dividers","dividers","defaultTimeout","transitionProps","webkitTransition","Backdrop","Fade","defaultTransitionDuration","Dialog","_props$fullScreen","fullScreen","_props$PaperComponent","PaperComponent","_props$scroll","scroll","ariaLabelledby","mouseDownTarget","paperFullScreen","paperFullWidth","scrollPaper","scrollBody","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","arrayIncludes","itemOrItems","staticWrapperRoot","StaticWrapper","ModalDialog","onAccept","onDismiss","onClear","onSetToday","okLabel","cancelLabel","clearLabel","todayLabel","clearable","showTodayButton","wider","showTabs","dialogRoot","dialogRootWider","dialog","withAdditionalAction","ModalDialog$1","useIsomorphicEffect","runKeyHandler","keyHandlers","useKeyDown","keyHandlersRef","ModalWrapper","DialogProps","DateInputProps","Enter","InlineWrapper","PopoverProps","VariantContext","Wrapper","getWrapperFromVariant","Rifm","_state","_del","_handleChange","evt","stateValue","del","noOp","refuse","before","fv","_hKD","_hKU","daySelected","dayDisabled","Day","replaceClassName","origClass","classToRemove","removeClass","classList","baseVal","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","addClass","_this$resolveArgument2","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","doneClassName","phase","hasClass","_addClass","_this$appliedClasses$","SIZE","CircularProgress","_props$disableShrink","disableShrink","_props$thickness","thickness","_props$value","circleStyle","rootStyle","circumference","static","svg","circleDisableShrink","circleDeterminate","circleIndeterminate","circleStatic","isYearOnlyView","views","isYearAndMonthViews","DayWrapper","dayInCurrentMonth","handleClick","onKeyPress","slideTransition","transitionContainer","slideEnterActive","slideExit","SlideTransition","transKey","slideDirection","_ref$className","transitionClasses","enterActive","exitActive","useStyles$1","switchHeader","iconButton","daysHeader","dayLabel","CalendarHeader","currentMonth","onMonthChange","leftArrowIcon","rightArrowIcon","leftArrowButtonProps","rightArrowButtonProps","disablePrevMonth","disableNextMonth","rtl","React__default","KeyDownListener","Calendar","loadingQueue","pushToLoadingQueue","popFromLoadingQueue","handleChangeMonth","newMonth","returnVal","validateMinMaxDate","minDate","maxDate","disableFuture","disablePast","shouldDisablePrevMonth","firstEnabledMonth","shouldDisableNextMonth","lastEnabledMonth","shouldDisableDate","handleDaySelect","isFinish","_this$props4","moveToDay","_this$props5","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","renderWeeks","_this$props6","renderDays","_this$props7","renderDay","selectedDate","currentMonthNumber","isDayInCurrentMonth","dayComponent","_this$props8","closestEnabledDate","today","backward","findClosestEnabledDate","_this$state","_this$props9","allowKeyboardControl","loadingIndicator","loadingElement","progressContainer","nextDate","lastDate","nextMonth","lastMonth","ClockType","Calendar$1","WithUtils","withUtils","ClockType$1","ClockPointer","toAnimateTransform","previousType","getAngleStyle","isInner","angle","HOURS","hasSelected","animateTransform","thumb","noPoint","ClockPointer$1","getAngleValue","offsetX","offsetY","atan","deg","distance","getMeridiem","convertToMeridiem","Clock","isMoving","handleMove","SECONDS","MINUTES","minutesStep","_getAngleValue","isPointerInner","clock","squareMask","pin","Clock$1","touchActions","clockNumber","clockNumberSelected","ClockNumber","transformStyle","getHourNumbers","currentHours","hourNumbers","endHour","isSelected","getMinutesNumbers","ClockView","onHourChange","onMinutesChange","onSecondsChange","viewProps","currentMeridiem","updatedTimeWithMeridiem","minutesValue","updatedTime","secondsValue","timePickerDefaultProps","invalidDateMessage","datePickerDefaultProps","minDateMessage","maxDateMessage","_objectSpread","yearSelected","yearDisabled","Year","Year$1","YearSelection","onYearChange","animateYearScrolling","currentVariant","selectedYearRef","scrollIntoView","currentYear","onYearSelect","newDate","yearNumber","useStyles$2","monthSelected","monthDisabled","Month","handleSelection","useStyles$3","MonthSelection","shouldDisableMonth","utilMinDate","utilMaxDate","isBeforeFirstEnabled","isAfterLastEnabled","onMonthSelect","monthNumber","monthText","getOrientation","screen","orientation","viewsMap","useStyles$4","containerLandscape","pickerView","pickerViewLandscape","Picker","disableToolbar","openTo","unparsedMinDate","unparsedMaxDate","ToolbarComponent","isLandscape","customOrientation","setOrientation","eventHandler","useIsLandscape","openView","setOpenView","handleChangeAndOpenNext","nextViewToOpen","useViews","_useViews","_objectSpread$1","textColor","toolbarTxt","toolbarBtnSelected","ToolbarText","ToolbarButton","typographyClassName","toolbarBtn","ToolbarButton$1","toolbarLandscape","PickerToolbar","PureDateInput","inputValue","inputVariant","validationError","openPicker","TextFieldComponent","_ref$TextFieldCompone","PureDateInputProps","getDisplayDate","invalidLabel","emptyLabel","labelFunc","getComparisonMaxDate","strictCompareDates","getComparisonMinDate","KeyboardDateInput","KeyboardButtonProps","InputAdornmentProps","maskChar","_ref$maskChar","_ref$refuse","keyboardIcon","rifmFormatter","inputMask","numberMaskChar","makeMaskFromFormat","parsed","maskedDateFormatter","useDateValues","initialFocusedDate","nowRef","useValueToDate","getDefaultFormat","usePickerState","autoOk","_onChange","setIsOpenState","_useState2","isOpen","setIsOpen","newIsOpen","useOpenState","_useOpenState","_useDateValues","pickerDate","setPickerDate","acceptDate","acceptedDate","wrapperProps","pickerProps","parsedValue","validate","pickerState","useKeyboardPickerState","_props$format","displayDate","innerInputValue","setInnerInputValue","dateValue","parseInputString","innerInputProps","_usePickerState","makePickerWithState","useOptions","getCustomProps","DefaultToolbarComponent","dateRangeIcon","hideTabs","timeIcon","_props$ToolbarCompone","injectedProps","_useState","dateLandscape","DatePickerToolbar","isYearOnly","isYearAndMonth","getFormatByViews","DatePicker","KeyboardDatePicker","SttFormDate","cxt","AppContext","setOpen","FormControlLabel","control","_props$labelPlacement","labelPlacement","controlProps","labelPlacementStart","labelPlacementTop","labelPlacementBottom","SttFormCheck","Card","_props$raised","raised","CardActions","TypographyClasses","_props$underline","handlerRef","underlineNone","underlineHover","underlineAlways","isCheckBoxInput","isDateObject","isObjectType","getEventValue","isNameInFieldArray","getNodeParentName","isWeb","HTMLElement","cloneObject","Blob","FileList","tempObject","prototypeCopy","compact","isBoolean","isKey","stringToPath","tempPath","objValue","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","getProxyFormState","formState","localProxyFormState","isRoot","defaultValues","_defaultValues","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","currentName","startsWith","useSubscribe","subscription","subject","generateWatchOutput","_names","formValues","isGlobal","watch","fieldName","watchAll","useController","methods","shouldUnregister","isArrayField","_name","_subjects","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","dirtyFields","touchedFields","validatingFields","isValidating","errors","_updateFormState","_updateValid","useFormState","_registerProps","_shouldUnregisterField","updateMounted","_fields","_updateDisabledField","elm","setCustomValidity","reportValidity","fieldState","isTouched","Controller","appendErrors","validateAllFieldCriteria","getValidationModes","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fieldsNames","abortEarly","currentField","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isHTMLElement","owner","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","option","defaultReturn","getRadioValue","getValidateError","getValueAndMessage","validationData","validateField","async","shouldUseNativeValidation","isFieldArray","maxLength","minLength","valueAsNumber","isRadio","isCheckBox","isRadioOrCheckbox","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueDate","valueAsDate","convertTimeToDate","toDateString","isTime","isWeek","valueNumber","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","unset","childObject","updatePath","baseGet","isEmptyArray","createSubject","_observers","isPrimitive","deepEqual","object1","object2","keys1","keys2","val1","val2","isMultipleSelect","live","isConnected","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","getFieldValueAs","setValueAs","getFieldValue","files","selectedOptions","getRuleValue","ASYNC_FUNCTION","schemaErrorLookup","foundError","reValidateMode","shouldFocusError","createFormControl","delayErrorCallback","submitCount","isSubmitted","isSubmitting","isSubmitSuccessful","unMount","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","criteriaMode","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","previousFieldError","delayError","updateErrors","updatedFormState","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","isPromiseFunction","fieldReference","validateFunction","fieldError","getValues","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","shouldSkipValidation","skipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","executeSchemaAndUpdateState","shouldFocus","getFieldState","currentError","currentRef","restOfErrorTree","keepValue","keepError","keepDirty","keepTouched","keepIsValidating","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","fieldRef","radioOrCheckbox","_focusError","handleSubmit","onValid","onInvalid","onValidError","fieldValues","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","keepDefaultValues","keepValues","keepDirtyValues","fieldsToCheck","closest","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","_updateFieldArray","shouldSetValues","shouldUpdateFieldsAndState","argA","argB","unsetEmptyArray","_getFieldArray","_resetDefaultValues","resetOptions","_disableForm","_setErrors","resetField","clearErrors","inputName","setFocus","shouldSelect","useForm","_formControl","_values","mapEventPropToEvent","eventProp","_props$disableReactTr","disableReactTree","_props$mouseEvent","mouseEvent","onClickAway","_props$touchEvent","touchEvent","movedRef","activatedRef","syntheticEventRef","handleClickAway","insideReactTree","clickedRootScrollbar","insideDOM","composedPath","createHandleSynthetic","handlerName","childrenPropsHandler","mappedTouchEvent","mappedMouseEvent","SnackbarContent","emphasis","Snackbar","_props$autoHideDurati","autoHideDuration","ClickAwayListenerProps","ContentProps","_props$disableWindowB","disableWindowBlurListener","resumeHideDuration","timerAutoHide","setAutoHideTimer","autoHideDurationParam","handlePause","handleResume","ClickAwayListener","top1","bottom1","top3","bottom3","right3","left3","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","defaultIconMapping","SuccessOutlinedIcon","ReportProblemOutlinedIcon","ErrorOutlineIcon","InfoOutlinedIcon","CloseIcon","Alert","_props$closeText","_props$iconMapping","iconMapping","_props$severity","severity","getBackgroundColor","standardSuccess","standardInfo","standardWarning","standardError","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","filledSuccess","filledInfo","filledWarning","filledError","thisArg","kindOf","thing","kindOfTest","typeOfTest","isArrayBuffer","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","_global","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","setImmediate","asap","queueMicrotask","nextTick","isBuffer","isFormData","FormData","append","isArrayBufferView","isStream","pipe","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","forEachEntry","pair","matchAll","freezeMethods","toObjectSet","arrayOrString","define","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","AxiosError","request","response","captureStackTrace","description","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","convertValue","Buffer","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serialize","serializeFn","serializedParams","hashmarkIndex","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","normalize","normalized","formatHeader","targets","asStrings","first","accessor","accessors","defineAccessor","accessorName","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","samplesCount","bytes","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","freq","lastArgs","timestamp","invoke","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","throttle","lengthComputable","progressBytes","rate","progress","estimated","progressEventDecorator","throttled","asyncDecorator","isMSIE","protocol","port","write","expires","secure","cookie","toGMTString","read","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","username","unescape","isURLSameOrigin","xsrfValue","cookies","XMLHttpRequest","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","aborted","parseProtocol","send","composeSignals","signals","controller","streamChunk","chunk","chunkSize","byteLength","readStream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","highWaterMark","isFetchSupported","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","knownAdapters","http","xhr","xhrAdapter","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","formatMessage","opt","desc","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","isAxiosError","formToJSON","getAdapter","SttLoadingBar","visible","DialogTitle","ConfirmDialog","onConfirm","onCancel","_jsxs","spinnerContainer","spinnerImage","isErrorResponse","useToggle","ready","useTuples","initialObject","tuples","setTuples","useCrud","autoMessages","setItem","Get","Post","Put","Delete","api","showMessage","constants","resource","apiLock","confirmation","useCrudFuncs","useAPI","knownMigrationApis","additionalOptions","apiLocks","setApiLocks","migrationEndpoints","setMigrationEndpoints","apiCache","apiEnv","runtimeConfig","getEPVersion","generalization","endPointName","endPoint","apiIndex","localStorage","getItem","METHOD","Accept","Authorization","myResource","myParams","uri","redirect","tentativeResponse","_result$error","finally","lock","formatedMigrationEps","formatedMigrations","endpoint","parsedEndpoint","replaceAll","newFormatedMigrations","getQueryStrings","defaultSettings","enableHighAccuracy","maximumAge","useLoader","statusList","loading","setLoading","SttFullPageSpinner","usePageHeader","_cxt$header","titleTranslationKey","translationKey","useQueryFilters","filtersValue","setFiltersValues","updatedFilters","checkObjEqual","useTranslations","useInteractionsFiles","getResource","userToken","requestFile","bodyParams","req","fileUrl","getErrorMessage","blobType","blob","openFile","downloadFilename","dataUrl","download","click","downloadFile","uploadFile","metaData","file","uploadFileLegacyV6","fileContent","fileRowUploadingUrl","useEnvironment","environment","useOnViewport","rootMargin","onViewport","isIntersecting","setIntersecting","IntersectionObserver","entry","useSocketConnection","socket","setSocket","setReady","receivedMessages","setReceivedMessages","queuedDeletions","setQueuedDeletions","pseudoId","_message$access","_message$mship","access","mship","deleteMessage","newMessages","closeSocket","messages","queueMessageDeletion","openSocket","socketConf","newSocket","WebSocket","onopen","authorization","deviceIds","onclose","wasClean","usePOSConfig","POSType","ip","init","resultCode","resultMessage","transaction","amount","orderId","idTpv","concept","_input$ticket","ticket","Status","refund","transactionId","idPaycomet","_input$ticket2","printLastTransaction","ModalConfirmation","SttDialog","loadConstants","trans","tiny","dayIndex","testing","googleMapsApiKey","roleSC","roleUser","roleAdmin","roleTeacher","numFieldsToUserImport","RT_Individual","RT_Complete","contactPhone","contactWhatsApp","contactEmail","landingPage","appPlayStore","appAppleStore","sessionTimeoutMs","services","paymentForms","paymentStatuses","bookingSources","scheduleStatuses","freeLayers","remittenceStatus","unlockerTypes","fileTypes","fileFormats","bookingInAdvanceIniIntervals","bookingInAdvanceEndIntervals","bonoTypes","restrictionTypes","restrictionSpecificDays","eventKinds","eventDifficulties","testTypes","testStatuses","passwordExpirationIntervals","DIALOG_DEVICE","SUPERADMIN_CUSTOMERS","SUPERADMIN_CUSTOMER","SUPERADMIN_CUSTOMER_SUBSCRIPTIONS","SUPERADMIN_CUSTOMER_SUBSCRIPTION_LICENSES","SUPERADMIN_SCS","SUPERADMIN_SC","SUPERADMIN_SC_DEVICES","SUPERADMIN_PAYMENTS","SUPERADMIN_PAYMENT","SUPERADMIN_TPV","SUPERADMIN_TPV_CONFIGURATIONS","SUPERADMIN_TPV_CONFIGURATION","SUPERADMIN_TPV_RECORDS","SUPERADMIN_USERS","SUPERADMIN_USER","SUPERADMIN_REPORTS","SUPERADMIN_REPORT","SUPERADMIN_REPORT_COLUMNS","SUPERADMIN_REPORT_FILTERS","SUPERADMIN_TRANSLATIONS","SUPERADMIN_TRANSLATION","SUPERADMIN_CITIES","SUPERADMIN_APIS","SUPERADMIN_API","SUPERADMIN_API_PARAMETERS","SUPERADMIN_API_RESPONSES","SUPERADMIN_API_TESTS","SUPERADMIN_API_MODELS","SUPERADMIN_API_MODEL","SUPERADMIN_API_MODEL_PROPERTIES","SUPERADMIN_API_LOGS","SUPERADMIN_API_TRIGGERS_BY_SC","SUPERADMIN_API_TRIGGERS_EXECUTIONS","SUPERADMIN_TESTS","SUPERADMIN_TEST","SUPERADMIN_MIGRATION_ENDPOINTS","SPORTCENTER_GOLF_COURSE","SPORTCENTER_GOLF_COURSES","SPORTCENTER_GOLF_COURSE_SCHEDULES","SPORTCENTER_GOLF_COURSE_SCHEDULE","SPORTCENTER_USERS","GROUP_MEMBERS","SPORTCENTER_FREE_SCHEDULES","SPORTCENTER_ACTIVITY_TEACHERS","SPORTCENTER_ACTIVITIES","SPORTCENTER_ACTIVITIES_STUDENTS","USER_MESSAGES","SPORTCENTER_DISCOUNTS","translationConfKey","languages","sessionTimeout","REACT_APP_LOGOUT_TIMEOUT_ENABLED","testStripeTerminal","REACT_APP_TEST_STRIPE_TERMINAL","testCard","REACT_APP_POS_STRIPE_SIMULATED_TEST_CARD","preserveLocalStorageValues","getLanguageByKey","languageKey","generalConfig","AppProvider","_userData$user2","sendMessage","deleteReceivedMessage","migrationApis","setMigrationApis","v7DocInfoStatus","infoData","infoDataStatus","cachedLastTranslationUpdated","lastTranslationUpdated","language","setLanguage","getUserLanguage","storedLanguage","navigatorLanguage","translations","translationsStatus","web","_localStorage$getItem","_localStorage$getItem2","cachedTranslations","langTranslations","translation","removeItem","translationKeyLowerCase","confirmationDialog","setConfirmationDialog","setMsg","messageType","setConstants","userData","setUserData","user","userLogged","setUserLogged","apiHelper","setLoggedUser","localStorageKey","loggedUserDataStatus","_data$user","_data$sc","newScData","updatedScModules","moduleGolf","dataphoneConnected","cashdroConnected","addFieldToModules","reload","_userData$user","loader","privileges","licence","menus","backendVersion","curtesyMinutesForTPV","cortesyMinutesForTPV","setLang","logged","getSocketMessages","sendMessageToSocket","sarid","clipboard","writeText","FileCopyIcon","Divider","_props$absolute","absolute","_props$flexItem","flexItem","_props$light","_props$orientation","middle","ListItemIcon","AppBar","_props$position","backgroundColorDefault","positionAbsolute","positionSticky","positionStatic","positionRelative","colorTransparent","SttFullDialog","menu","bottomButtons","bottomContent","buttonMenuDOMObject","setButtonMenuDOMObject","renderButton","SttButtonDelete","SttButtonSave","SttButton","mx","renderMenu","MoreIcon","_item$onClick","ArrowBackIcon","ListItemAvatar","ListItemText","_props$inset","primaryProp","primaryTypographyProps","secondaryProp","secondaryTypographyProps","ButtonGroup","buttonClassName","grouped","groupedHorizontal","borderBottomLeftRadius","borderBottomRightRadius","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","borderRightColor","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","ListSubheader","_props$disableSticky","disableSticky","sticky","stripDiacritics","comp","defaultFilterOptions","_config$ignoreAccents","ignoreAccents","_config$ignoreCase","ignoreCase","_config$matchFrom","matchFrom","_config$trim","getOptionLabel","filteredOptions","candidate","createFilterOptions","useAutocomplete","_props$autoComplete","_props$autoHighlight","autoHighlight","_props$autoSelect","autoSelect","_props$blurOnSelect","blurOnSelect","_props$clearOnBlur","clearOnBlur","freeSolo","_props$clearOnEscape","clearOnEscape","_props$componentName","_props$debug","debug","_props$defaultValue","_props$disableClearab","disableClearable","_props$disableCloseOn","disableCloseOnSelect","_props$filterOptions","filterOptions","_props$filterSelected","filterSelectedOptions","_props$freeSolo","getOptionDisabled","_props$getOptionLabel","getOptionLabelProp","_props$getOptionSelec","getOptionSelected","groupBy","_props$handleHomeEndK","handleHomeEndKeys","_props$includeInputIn","includeInputInList","inputValueProp","onHighlightChange","onInputChange","_props$openOnFocus","openOnFocus","_props$selectOnFocus","selectOnFocus","ignoreFocus","firstFocus","listboxRef","setAnchorEl","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","_useControlled3","_useControlled4","setInputValue","resetInputValue","newInputValue","optionLabel","_useControlled5","_useControlled6","inputValueIsSelectedValue","popupOpen","focusTag","tagToFocus","setHighlightedIndex","_ref2$reason","listboxNode","scrollBottom","elementBottom","changeHighlightedIndex","_ref3$direction","_ref3$reason","nextIndex","validOptionIndex","newIndex","getNextIndex","setSelectionRange","syncHighlightedIndex","valueItem","currentOption","optionItem","handleListboxRef","handleValue","details","selectNewValue","handleFocusTag","nextTag","validTagIndex","handleClear","handleInputChange","handleOptionMouseOver","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","handleInputMouseDown","dirty","groupedOptions","getRootProps","getInputLabelProps","getInputProps","autoCapitalize","spellCheck","getClearProps","getPopupIndicatorProps","getTagProps","getListboxProps","getOptionProps","_ref5","DisablePortal","Autocomplete","ChipProps","_props$clearText","_props$closeIcon","closeIcon","_props$forcePopupIcon","forcePopupIcon","_props$getLimitTagsTe","getLimitTagsText","_props$limitTags","limitTags","_props$ListboxCompone","ListboxComponent","ListboxProps","_props$loading","_props$loadingText","_props$noOptionsText","_props$openText","PopperComponentProp","_props$popupIcon","popupIcon","renderGroupProp","renderGroup","renderInput","renderOptionProp","renderOption","renderTags","_useAutocomplete","getCustomizedTagProps","tagSizeSmall","groupLabel","groupUl","renderListOption","optionProps","hasClearIcon","hasPopupIcon","inputRoot","clearIndicator","clearIndicatorDirty","popupIndicator","popupIndicatorOpen","inputFocused","popperDisablePortal","noOptions","listbox","option2","_option","Skeleton","_props$animation","hasChildren","withChildren","fitContent","heightAuto","toolbarAmpmLeftPadding","hourMinuteLabel","hourMinuteLabelAmpmLandscape","hourMinuteLabelReverse","ampmSelection","ampmLandscape","ampmSelectionWithSeconds","ampmLabel","TimePickerToolbar","meridiemMode","handleMeridiemChange","timeWithMeridiem","useMeridiemMode","_useMeridiemMode","clockTypographyVariant","userFormat","pick12hOr24hFormat","TimePicker","KeyboardTimePicker","useRestService","getList","recover","useCitiesService","useCustomersService","getCustomerSubscriptions","updateCustomerSubscriptions","createCustomerSubscriptions","removeCustomerSubscriptions","createCustomerScs","useTpvsService","getTpvsConfigurations","createTpvConfirmations","getTpvsConfiguration","createTpvConfiguration","updateTpvConfiguration","removeTpvConfiguration","useCreateTpvReader","mutationOptions","useCreateTpvReaderConnection","useGetTpv","queryOptions","_queryOptions$queryKe","getGetTpvQueryKey","useCreateTpvPurchase","useCreateTPVConfirmationFix","useGetTpvsFromPaymentId","_queryOptions$queryKe2","useCreatePhysicalTpvPurchase","useSimulateTpvReaderPayment","SaveIcon","DeleteOutline","SttButtonAccept","DoneIcon","SttButtonRecover","useScsService","useGetSc","getGetScQueryKey","useGetScMe","getGetScMeQueryKey","useGetScsGroups","_queryOptions$queryKe3","getGetScsGroupsQueryKey","getScsMshipsPDF","getScsMshipsCSV","updateScsRecover","getScsDevices","createScsDevice","getScsFacilities","createScsCoreTrigger","triggerId","removeScsCoreTrigger","createScsRemittences","createScsGolfCourse","getScsGolfCourses","updateScsFollow","updateScsUnfollow","getScsMships","updateScsField","getFreeSchedules","getTeachers","getActivities","getScsDiscounts","useCreateDiscount","useGetScsDiscounts","_queryOptions$queryKe5","getGetScsDiscountsQueryKey","useUpdateScRate","rateId","useCreateScRate","scId","useGetScTpvConfs","_queryOptions$queryKe6","getGetScTpvConfsQueryKey","useGetSportcenterPrivileges","useGetScsDevicesCapacities","_queryOptions$queryKe4","getScsDevices2","generic","discounts","accept","textShort","saved","consumed","mobile","address","postalCode","city","via","street","avenue","buildingType","house","notes","tutor","birthday","dni","passport","nie","cif","certified","pupils","surname1","surname2","identificationType","recovered","purse","bookings","documents","invoice","collect","openParent","collector","price","receipts","created","print","nameAndDescription","completed","individual","bank","inscription","free","fee","noFees","signMeUp","users","fees","devices","maxUsers","beneficiaries","parentGroup","modify","generateFeesEvery","feePrice","anyGroup","mandatoryGroup","expiration","creator","facilities","lastVisit","rates","newRate","createRate","booking","events","activities","consents","unlockers","sports","ticketClosed","bono","bonos","assistences","participant","OperationSuccessful","student","paymentForm","refresh","iHaveReadAndAccept","youMustAcceptPrivacyPolicy","privacyPolicy","signedUsers","generateUnlockers","noUnlockers","deviceSpace","maximunCapacity","currentCapacity","devicesCapacityMonitor","discountDeleted","discountAdded","typeNormal","typeAbonados","typeSport","typeFamily","country","anyCountry","ibanEmptyOrValid","webcamCapture","mshipDeleted","payment","payments","paymentFormCash","paymentFormPurse","paymentFormTpv","paymentFormLater","paymentFormDataphone","paymentFormDataphoneConnected","paymentFormBank","paymentFormFree","paymentFormReceipt","paymentFormZitycard","paymentFormCashdro","statusPaid","refunded","isChild","payWithTpv","payWithPurse","payWithZitycard","renting","class","game","abonados","sporttiaControlPanel","report","updated","activity","uploadDocuments","currentNameToChange","duplicateActivities","newActivityName","inscriptionFrom","inscriptionUntil","durationFrom","durationUntil","selectActivityPoster","maxAge","minAge","tpv","errorPurseRefund","teams","teamName","QR","PIN","consumption","movement","label2FA","text2FA","resent2FASuccess","enabled2FA","userLabel2FA","orgt","feePass","feeRoomActivity","feeAquaticActivity","feeSchoolActivity","enrollment","feeSwimming","assurance","feeTaxConcept","signupTaxConcept","noOption","SttError","heading","imageSize","errorIcon","useCountriesService","useGetCountries","getCountriesQueryKey","SttSelectCountryDialog","_getCountriesQuery$da","searchForm","setSearchForm","getCountryPage","setGetCountryPage","getCountriesFilters","setGetCountriesFilters","getCountriesQuery","handleOnFilter","SttFormSearch","onClean","onClickSearch","SttList","objToSelect","SttNoResults","SttPagination","SttSelectCountry","isDialogOpen","setIsDialogOpen","SearchIcon","textHeight","SttAutocompleteCity","_citiesQuery$data","_citiesQuery$data2","idProvince","citiesService","queryParams","setQueryParams","citiesQuery","SttAutocompleteCustomer","_customersQuery$data","_customersQuery$data2","customersService","customersQuery","SttAutocompleteTpvConfiguration","_tpvsConfigurationsQu","_tpvsConfigurationsQu2","tpvsService","tpvsConfigurationsQuery","SttAutocompleteGroup","SttSelectGroup","SttAutocompleteCountry","defValue","SttAutocompleteMap","SttGoogleMap","latLng","lat","mapX","lng","mapY","searchEnabled","SttAutocompleteScsMships","_ref7","_scsMshipsQuery$data","_scsMshipsQuery$data2","scsService","scsMshipsQuery","fullName","checkOffTag","login","SttAutocompleteProvince","_ref8","_provincesQuery$data","_provincesQuery$data2","provincesService","idCountry","provincesQuery","_ref9","loadingData","containerProps","renderFormField","fieldIndex","renderTextInput","_ref10","renderNumberInput","_ref11","renderSelector","_ref12","renderTextArea","_ref13","renderDate","_ref14","renderCheckBox","renderCity","_ref15","renderPrice","_ref16","renderCustomer","_ref17","renderTpvConfiguration","_ref18","renderLabel","formatedText","_ref19","renderTime","_ref20","renderMultipleSelectorCheck","_ref21","_data$target","_options$find","renderMonths","tinyLabels","_ref22","updatedMonths","indexValue","renderWeekdays","_ref23","_ref24","renderMship","_ref27","renderProvince","_ref28","renderCountry","_ref25","renderMap","_ref26","onSubmit","renderFormFieldGridItem","buttonIndex","useCoresService","getCoresTriggersBySc","getCoresTriggersExecutions","requestParams","fromEntries","createCoresTriggersExecutionsRun","coresTriggersMaxExecutionRun","maxExecutions","AdminApiTriggerExecutionDialog","_triggerExecution$cor","_triggerExecution$cor2","_triggerExecution$cor3","_triggerExecution$cor4","_triggerExecution$cor5","_triggerExecution$cor6","_triggerExecution$cor7","_triggerExecution$cor8","triggerExecution","coresService","scName","coreTriggerSC","script","coreTrigger","answer","execution","createMutation","coreTriggerExecution","SttValidatedForm","SttForm","elements","onChangeForm","renderElement","ele","SttSelectCity","SttLabelForm","ConfigurationTriggerDialog","playButton","ConfigurationTriggersDialog","triggers","setTriggers","setParams","selectedAPITrigger","setSelectedAPITrigger","setFilter","loadApiTriggers","finalFilter","SttTopControls","iconButtons","AutorenewIcon","onFilter","SttTable","row","PlayArrowIcon","executeTrigger","ConfigurationMain","_cxt$user","setSc","setMship","openUploadPhoto","setOpenUploadPhoto","openConfigurationTriggersDialog","setOpenConfigurationTriggersDialog","guestUser","_cxt$user2","logo","sporttiaImage","PublishIcon","customer","numInvoiceFormat","finalSc","timezone","bulletin","emailPrivated","emailPublic","phonePublic","phonePrivated","mobileSMS","facebook","twitter","SttSelectMship","iban","termsAndConditions","saveSportcenter","subsetObject","idGuestUser","idTimezone","SttUploadDialog","onUploaded","ConsentDialog","onSave","consent","setConsent","forBooking","SttConsentList","onAdd","ConfigurationConsents","setConsents","viewConsent","setViewConsent","loadConsents","consentTemplate","csnt","deleteConsent","ConfigurationRechargingOptionDialog","chargingOption","internalChargingOption","setInternalChargingOption","bonus","ConfigurationRecharges","chargingOptions","setChargingOptions","selectedChargingOption","setSelectedChargingOption","loadChargingOptions","delChargingOption","chOpt","ConfigurationPrivileges","setPrivileges","privilegesToShow","SttPrivilegeList","priv","onToggle","idPrivilege","privilege","updateElementInArray","switchBase","ConfigurationNotifications","setDevices","registeredDevices","setRegisteredDevices","updatedNotifications","setUpdatedNotifications","notConfGroups","notifications","sms","HelpOutline","device","registerDevice","notConfGroup","not","ConfigurationMap","setMapX","setMapY","apiKey","searchValue","searchPosition","dialogOpened","setDialogOpened","handleClickSearch","SttSelectMshipDialog","onSelectMship","ConfigurationBilling","setCustomer","loadCustomer","trash","bic","idCreditor","scs","ConfigurationWeb","setWeb","slogan","phone","youtube","availability","saveSportCenterWebSite","highlight","maxWidthList","ConfigurationMandatoryData","setSC","mandatoryDataMutation","_cxt$sc","mandatoryFields","aField","aIndexField","zip","SttFormSwitch","updatePursesOnCascadeAllowed","useHighlight","ConfigurationPosDialog","setIp","forceInputFocus","setForceInputFocus","setTesting","tested","setTested","POSConfig","setPOSConfig","setupPOSConfig","testDevice","requestAdHoc","ml","Add","Search","ConfigurationPos","dialogOpen","setDialogOpen","cacharro","ConfigurationCashdro","setUser","pass","setPass","Save","SCAdminDialog","scAdmin","internalAdmin","setInternalAdmin","saveSCAdmin","AdminsTab","scAdmins","setScAdmins","selectedAdmin","setSelectedAdmin","SttSCAdminList","deleteElementFromArray","adminUpdated","RoleDialog","internalRole","setInternalRole","delRole","saveRole","RolesTab","roles","setRoles","selectedRole","setSelectedRole","roleDialog","setRoleDialog","CreateIcon","SttButtonNew","admins","admin","idAdmin","SttPrivilegePureList","newRole","scIds","taxCodes","feePassCode","pay","refundTPV","paymentStatus","pendingPaymentForm","dataphone","translationCode","cash","later","receipt","zitycard","cashdro","paid","notPaid","EUR","sporttiaConfigurations","logLevels","complete","sportcenter","teacher","datetimeISO8601","unlocker","card","noUnlocker","sport","normal","family","appStores","play","apple","tpvConf","modes","develop","production","banks","stripe","redsys","ccm","paycomet","banksWithManyCenters","results","errorPurse","tournament","gui","objectState","closed","bonoExpirationDefault","ACTIVE","INACTIVE","SALE","showHideWrap","showHideIcon","subRowIcon","prefetching","onClickRow","childrenEnabled","totals","hidePagination","selection","setSelectRows","selectRows","setCurrentPage","internalData","setInternalData","previousQueryParams","usePrevious","internalQueryParams","setInternalQueryParams","internalQueryOptions","setInternalQueryOptions","setPage","selectedRows","setSelectedRows","selectedAllRows","setSelectedAllRows","objectWithoutKeys","hasIdColumn","setChildVisibility","toggleAll","childrenVisible","setVisibility","shallowEqual","renderCell","_row$amountShape7","_row$amountShape8","_row$amountShape9","_row$amountShape10","depth","cls","old","checkOld","ini","_row$amountShape","_row$amountShape2","formatPriceByLocale","amountShape","_row$amountShape3","_row$amountShape4","_row$amountShape5","_row$amountShape6","priceShape","_row$priceShape","_row$priceShape2","SttLabelPeriod","CheckIcon","SttChipPForm","SttChipModule","SttLabelWeekdays","SttLabelDuration","CheckCircleOutline","HighlightOff","facility","wrappedContent","pl","SubdirectoryArrowRight","Remove","newPage","prefetchingPages","PaginationAdHoc","CachedIcon","LastPageIcon","FirstPageIcon","RecursiveTableRow","_row$status","toggleSelectedRow","foundItem","renderData","SttMenu","CallSplitIcon","idxCol","renderHeader","getColWidth","idxRow","_internalData$rows","usedColSpan","adornment","summary","span","renderTotalsRow","labelWrapper","chipContainer","chipContainerOutline","chip","chipOutline","SttSelectableChips","ChipComponent","chipSize","thisMonth","SttSelectMonth","firstMonth","SttFormSelectPeriod","selectCaption","selectName","selectValue","selectOptions","nameIni","nameEnd","valIni","valEnd","disableOnValue","FilterFields","handleChange","fieldCallback","renderField","formatedField","_formatedField$onEnte","subField","SttSelectMultiple","SttSelectAsync","labelField","valueField","SttSelectAutocomplete","SttFormPeriod","defValIni","defValEnd","SttSelectYear","startYear","pastYears","futureYears","SttSelectSport","SttFormTime","SttFormPrice","itemSizes","FilterDialog","onApply","FIELD_CHECKED_VALUES","RENDER_AFTER_CHANGE_FILTERS","fieldCheckedToValue","SttTopFilteringControls","extraFields","mainAction","menuIcon","filterButton","downloadButton","trashAction","skipFirstFiltering","buttonMenuDOMiObject","internalFields","setInternalFields","internalExtraFields","setInternalExtraFilters","toggleTrash","doFiltering","extra","updatedFields","updatedExtraFields","internalFieldsIndexToChange","internalExtraFieldsIndexToChange","fieldsParams","extraFieldsParams","doFilteringParams","selectIndex","dateIniIndex","dateEndIndex","renderMainAction","gridSizes","renderDefaultFields","FilterListIcon","CloudDownloadIcon","useUsersService","getUsersAgendas","usePost2FACode","useCreateMyScPupil","UserCreationDialog","usersService","lastUserCreated","setLastUserCreated","watchProvince","_data$error","formatedFormData","getObjectWithoutEmptyStrings","_formData$city","_formData$group","province","gender","idCity","idGroup","mutateUser","subtitle","buttonContent","SttButtonCancel","SttButtonClose","SttButtonUnsubscribe","SttButtonDownload","SttLinkList","viewContent","setViewContent","WacomGSS","QueryablePromise","isFulfilled","isPending","isRejected","STUConstructor","websocket","MaxChunkSize","ticketCount","streamCount","checkExists","STU","onDCAtimeout","receive","wsSend","myString","Reinitialize","isServiceReady","isDCAReady","getUsbDevices","VendorId","VendorId_Wacom","ProductId","ProductId_500","ProductId_300","ProductId_520A","ProductId_430","ProductId_530","ProductId_430V","ProductId_540","ProductId_541","ProductId_min","ProductId_max","sendNoReturn","setStream","functor","streamId","removeStream","getTlsDevices","isSupportedUsbDevice","idVendor","idProduct","getStringUsbDevice","usbDevice","get4DigitsHex","bcdDevice","SerialPort","Type","Unknown","Physical","Virtual","Remote","getSerialPorts","UsbInterface","connect","exclusiveLock","disconnect","queueNotifyAll","queueSetPredicateAll","base64Data","supportsWrite","getReportCountLengths","getProductId","Protocol","intf","PenDataOptionMode","PenDataOptionMode_None","PenDataOptionMode_TimeCount","PenDataOptionMode_SequenceNumber","PenDataOptionMode_TimeCountSequence","InkingMode","InkingMode_Off","InkingMode_On","ReportId","ReportId_PenData","ReportId_Status","ReportId_Reset","ReportId_HidInformation","ReportId_Information","ReportId_Capability","ReportId_Uid","ReportId_Uid2","ReportId_DefaultMode","ReportId_ReportRate","ReportId_RenderingMode","ReportId_Eserial","ReportId_PenDataEncrypted","ReportId_HostPublicKey","ReportId_DevicePublicKey","ReportId_StartCapture","ReportId_EndCapture","ReportId_DHprime","ReportId_DHbase","ReportId_ClearScreen","ReportId_InkingMode","ReportId_InkThreshold","ReportId_ClearScreenArea","ReportId_StartImageDataArea","ReportId_StartImageData","ReportId_ImageDataBlock","ReportId_EndImageData","ReportId_HandwritingThicknessColor","ReportId_BackgroundColor","ReportId_HandwritingDisplayArea","ReportId_BacklightBrightness","ReportId_ScreenContrast","ReportId_HandwritingThicknessColor24","ReportId_BackgroundColor24","ReportId_BootScreen","ReportId_PenDataOption","ReportId_PenDataEncryptedOption","ReportId_PenDataOptionMode","ReportId_PenDataTimeCountSequenceEncrypted","ReportId_PenDataTimeCountSequence","ReportId_EncryptionCommand","ReportId_EncryptionStatus","ReportId_GetReport","ReportId_SetResult","ReportId_PinPadData","ReportId_PinPadDataEncrypted","ReportId_PinOperationMode","ReportId_OperationMode","ReportId_RomStartImageData","ReportId_RomImageOccupancy","ReportId_RomImageHash","ReportId_RomImageDelete","ReportId_CurrentImageArea","ReportId_EventData","ReportId_EventDataEncrypted","ReportId_RomImageDisplay","ReportId_ReportSizeCollection","Decrypt","SigCaptX_Decrypt","SigCaptX_TabletDisconnected","DefaultMode","DefaultMode_HID","DefaultMode_Serial","StatusCode","StatusCode_Ready","StatusCode_Image","StatusCode_Capture","StatusCode_Calculation","StatusCode_Image_Boot","StatusCode_RomBusy","StatusCode_SystemReset","ErrorCode","ErrorCode_None","ErrorCode_WrongReportId","ErrorCode_WrongState","ErrorCode_CRC","ErrorCode_GraphicsWrongEncodingType","ErrorCode_GraphicsImageTooLong","ErrorCode_GraphicsZlibError","ErrorCode_GraphicsWrongParameters","ErrorCode_PadNotExist","ErrorCode_RomSizeOverflow","ErrorCode_RomInvalidParameter","ErrorCode_RomErrorCRC","Rectangle","upperLeftXpixel","upperLeftYpixel","lowerRightXpixel","lowerRightYpixel","InkThreshold","onPressureMark","offPressureMark","HandwritingThicknessColor","penColor","penThickness","HandwritingThicknessColor24","EncryptionCommandNumber","EncryptionCommandNumber_SetEncryptionType","EncryptionCommandNumber_SetParameterBlock","EncryptionCommandNumber_GetStatusBlock","EncryptionCommandNumber_GetParameterBlock","EncryptionCommandNumber_GenerateSymmetricKey","EncodingMode","EncodingMode_1bit","EncodingMode_1bit_Zlib","EncodingMode_16bit","EncodingMode_24bit","EncodingMode_1bit_Bulk","EncodingMode_16bit_Bulk","EncodingMode_24bit_Bulk","EndImageDataFlag","EndImageDataFlag_Commit","EndImageDataFlag_Abandon","ResetFlag","ResetFlag_Software","ResetFlag_Hardware","EncodingFlag","EncodingFlag_Zlib","EncodingFlag_1bit","EncodingFlag_16bit","EncodingFlag_24bit","StatusCodeRSA","StatusCodeRSA_Ready","StatusCodeRSA_Calculating","StatusCodeRSA_Even","StatusCodeRSA_Long","StatusCodeRSA_Short","StatusCodeRSA_Invalid","StatusCodeRSA_NotReady","ErrorCodeRSA","ErrorCodeRSA_None","ErrorCodeRSA_BadParameter","ErrorCodeRSA_ParameterTooLong","ErrorCodeRSA_PublicKeyNotReady","ErrorCodeRSA_PublicExponentNotReady","ErrorCodeRSA_SpecifiedKeyInUse","ErrorCodeRSA_SpecifiedKeyNotInUse","ErrorCodeRSA_BadCommandCode","ErrorCodeRSA_CommandPending","ErrorCodeRSA_SpecifiedKeyExists","ErrorCodeRSA_SpecifiedKeyNotExist","ErrorCodeRSA_NotInitialized","SymmetricKeyType","SymmetricKeyType_AES128","SymmetricKeyType_AES192","SymmetricKeyType_AES256","AsymmetricKeyType","AsymmetricKeyType_RSA1024","AsymmetricKeyType_RSA1536","AsymmetricKeyType_RSA2048","AsymmetricPaddingType","AsymmetricPaddingType_None","AsymmetricPaddingType_PKCS1","AsymmetricPaddingType_OAEP","EncryptionCommandParameterBlockIndex_RSAe","EncryptionCommandParameterBlockIndex_RSAn","EncryptionCommandParameterBlockIndex_RSAc","EncryptionCommandParameterBlockIndex_RSAm","RomImageDeleteMode","RomImageDeleteMode_All","RomImageDeleteMode_PinPad_All","RomImageDeleteMode_SlideShow_All","RomImageDeleteMode_KeyPad_All","RomImageDeleteMode_Signature_All","RomImageDeleteMode_MessageBox_All","RomImageDeleteMode_PinPad_Number","RomImageDeleteMode_SlideShow_Number","RomImageDeleteMode_KeyPad_Number","RomImageDeleteMode_Signature_Number","RomImageDeleteMode_MessageBox_Number","OperationModeType","OperationModeType_Normal","OperationModeType_PinPad","OperationModeType_SlideShow","OperationModeType_KeyPad","OperationModeType_Signature","OperationModeType_MessageBox","ImageDataBlock_maxLengthHID","ImageDataBlock_maxLengthSerial","ImageDataBlock_maxLength540","_intf","getInterface","getInformation","getPenDataOptionMode","setPenDataOptionMode","penDataOptionMode","OperationMode_Normal","operationMode","OperationMode_PinPad","screenSelect","pinBypass","minDigit","maxDigit","numberHiddenMode","idAfterEnter","idAfterCancel","OperationMode_SlideShow","workingMode","numberOfSlides","slideNumber","OperationMode_KeyPad","idAfterSelect","OperationMode_Signature","signatureScreen","keyDefinition","setOperationMode","getOperationMode","RomStartImageData_PinPad","encodingMode","imageType","imageNumber","padType","keyLayout","RomStartImageData_SlideShow","RomStartImageData_KeyPad","keyEnabled","RomStartImageData_Signature","RomStartImageData_MessageBox","setRomStartImageData","romStartImage","setRomImageHash","operationModeType","getRomImageHash","setRomImageDelete","romImageDeleteMode","getCurrentImageArea","setRomImageDisplay","getEserial","setClearScreen","setInkingMode","inkingMode","rebind","foo","setReset","flag","getHidInformation","getCapability","getUid","setUid","uid","getUid2","setDefaultMode","defaultMode","getDefaultMode","getHostPublicKey","setHostPublicKey","hostPublicKey","getDevicePublicKey","setStartCapture","sessionId","setEndCapture","getDHprime","setDHprime","prime","getDHbase","setDHbase","setClearScreenArea","getInkingMode","getInkThreshold","setInkThreshold","inkThreshold","setStartImageData","setStartImageDataArea","setImageDataBlock","imageDataBlock","setEndImageData","endImageDataFlag","getHandwritingThicknessColor","setHandwritingThicknessColor","handwritingThicknessColor","getHandwritingThicknessColor24","setHandwritingThicknessColor24","handwritingThicknessColor24","setBackgroundColor","getBackgroundColor24","setBackgroundColor24","backgroundColor24","BootScreenFlag","Disable","Enable","setBootScreen","bootScreenFlag","getBootScreen","getHandwritingDisplayArea","setHandwritingDisplayArea","handwritingDisplayArea","getBacklightBrightness","setBacklightBrightness","backlightBrightness","getScreenContrast","setScreenContrast","screenContrast","getEncryptionStatus","EncryptionCommand","copyData","encryptionCommandNumber","lengthOrIndex","initializeSetEncryptionType","symmetricKeyType","asymmetricPaddingType","asymmetricKeyType","initializeSetParameterBlock","initializeGenerateSymmetricKey","initializeGetParameterBlock","getEncryptionCommand","getReportSizeCollection","setReportRate","reportRate","getReportRate","RenderingMode","RenderingMode_Legacy","RenderingMode_WILL","setRenderingMode","renderingMode","getRenderingMode","ProtocolHelper","ReportHandler","onReportPenData","onReportPenDataOption","onReportPenDataTimeCountSequence","onReportPenDataEncrypted","onReportPenDataEncryptedOption","onReportPenDataTimeCountSequenceEncrypted","onReportDevicePublicKey","onReportEncryptionStatus","onReportEventDataPinPad","onReportEventDataKeyPad","onReportEventDataSignature","onReportEventDataPinPadEncrypted","onReportEventDataKeyPadEncrypted","onReportEventDataSignatureEncrypted","decrypt","tabletDisconnected","reportId","onEventData","onEventDataEncrypted","startReporting","_interfaceQueueHolder","tabletDecrypt","interfaceQueueHolder","stopReporting","InkState_isOff","InkState_isOn","InkState_isInk","InkState_isFirst","InkState_isLast","InkState","InkState_Up","InkState_Down","InkState_Inking","InkState_First","InkState_Last","OpDirection","OpDirection_Get","OpDirection_Set","statusCanSend","statusCode","opDirection","waitForStatusToSend","retries","sleepBetweenRetries","myLoop","canSend","waitForStatus","supportsEncryption","supportsEncryption_DHprime","dhPrime","setHostPublicKeyAndPollForDevicePublicKey","writeImage","imageData","maxImageBlockSize","writeImageCommon","flattenMonochrome","b64Data","screenWidth","screenHeight","dataStore","DataStore","setId","flatten","flattenColor24","flattenColor16","resizeAndFlatten","bitmapWidth","bitmapHeight","clip","encodingFlagSupportsColor","simulateEncodingFlag","encodingFlag","writeImageArea","writeRomImage","romStartImageData","Tablet","encryptionHandler","encryptionHandler2","hasIntf","SerialInterface","isSupported","startCapture","endCapture","endImageData","BaudRate_STU500","BaudRate_STU430_530_prerelease","BaudRate_STU430_530","baudRate","useCrc","TlsInterface","ConnectOption","ConnectOption_OOB","ConnectOption_SSL","connectOption","_id","getData","getRemove","SerialProtocol","getHeaderLength","isStartReport","_byte","byte","decodeHasCrc","header1","decodeEncodedDataLength","header2","calcEncodedDataLength","encodeHeader","encodedData","encodedDataLength","encodeReport","decodeData","checkCrcAndRemove","EncryptionHandler","m_impl","_impl","promiseId","clearKeys","requireDH","setDH","dhBase","generateHostPublicKey","computeSharedKey","EncryptionHandler2","getParameters","tuple","getPublicExponent","generatePublicKey","computeSessionKey","tablet","SigCapture","m_btns","m_usbDevices","m_capability","m_inkThreshold","m_imgData","m_encodingMode","m_penData","lastPoint","isDown","onCapture","m_clickBtn","serviceReady","setServiceReady","serviceFailure","setServiceFailure","tabletReady","setTabletReady","tabletFailure","setTabletFailure","tableWorking","setTabletWorking","tabletDone","setTableDone","imageSrc","setImageSrc","waitCounter","checkForSigCaptX","checkForTablet","Contains","VirtualButton","Bounds","Text","Click","DCANotReady","beginCaptureProcess","w2","w3","w1","btnOk_Click","btnClear_Click","btnCancel_Click","clearCanvas","drawButtons","addButtons","save","strokeStyle","words","word","phrase","xOffset","yOffset","predict","measureText","fillText","drawText","canvasImage","reportHandler","lineWidth","penData","shouldDrawPoint","in_canvas","nextPoint","tabletMaxX","tabletMaxY","isDown2","btn","derp","processButtons","processPoint","alert","setTransform","beginPath","fillStyle","fillRect","xPos","signatureCanvas","signatureCtx","generateImage","in_ctx","ignore","SttSelectConsentList","onSign","addModal","setAddModal","signing","setSigning","templates","setTemplates","captureImage","File","idUser","idTemplate","closeModal","template","selectTemplate","Consumption","available","slotsSizeDivisor","currentSetOfSlots","currentSlot","HandlePaymentsModal","warningText","setMode","SttLabelTitle","PosStatuses","POSPaymentDialog","paymentData","setStatus","errorMessage","setErrorMessage","setTimer","handShake","_err$error","requestPosPayment","latinize","returnParams","Colors","V1_URL","stripePromise","stripePromise$1","StripeTerminal","headOrBody","injectScript","loadCalled","useGetStripeTerminal","terminal","setTerminal","optionsRef","tpvService","createTpvReaderConnectionMutateAsync","_optionsRef$current$o","_optionsRef$current","stripeTerminal","_optionsRef$current$o2","_optionsRef$current2","terminalResult","onFetchConnectionToken","_optionsRef$current$o3","_optionsRef$current3","onConnection","connectionToken","onUnexpectedReaderDisconnect","useUnexpectedReaderDisconnect","_optionsRef$current$o4","_optionsRef$current4","onDisconnect","loadTerminal","useGetStripeReaders","locationId","discoveredReadersResult","discoverReaders","simulated","_optionsRef$current$o5","_optionsRef$current5","_optionsRef$current$o6","_optionsRef$current6","discoveredReaders","loadReaders","POSStripePaymentDialog","_cxt$sc2","connectStripeReaderStatus","setConnectStripeReaderStatus","simulateTpvReaderPaymentAsync","useSimulateReaderPayment","getStripeTerminal","getStripeReaders","sporttiaStripeLocationId","readerToConnect","readers","connectResult","connectReader","collectStripePayment","tpvId","setPaymentStatus","createPhysicalTpvPurchaseMutationAsync","createPhysicalTpvPurchaseSuccess","createPhysicalTpvPurchaseStatus","handleCollectPaymentError","_optionsRef$current$o7","_optionsRef$current7","_optionsRef$current$o9","_optionsRef$current9","purchaseData","setSimulatorConfiguration","testCardNumber","collectedMethod","collectPaymentMethod","stripeClientSecret","_optionsRef$current$o8","_optionsRef$current8","paymentResult","processPayment","paymentIntent","collectPayment","getPaymentStatus","cancelCollectPaymentMethod","useCollectStripePayment","PaymentIcon","CheckCircleIcon","_terminal$getConnecte","readerId","getConnectedReader","useBonosService","useGetBono","getGetBonoQueryKey","useGetBonoDevicesAuths","getGetBonoDevicesAuthsQueryKey","useUpdateBonoBoleto","useCreateBonoUser","bonoId","userId","useGetBonoBoletosMovs","localMessagingServiceUrl","OP_ERROR","Cashdro","deviceIp","deviceUrl","availablePieces","monedas","billetes","noRepeatkillSwitch","startOperation","operation","parameters","confirmOperation","operationId","whileQueryingOperation","onFinished","queryTimer","updateOnlyOnce","queryOperation","cancelOperation","finishOperation","importOperation","checkCurrencyLevels","currencyId","includeImages","levels","setAvailablePieces","pieza","startLevel","startlevelrecycler","finishLevel","finishlevelrecycler","level","calculateNecessaryPieces","amtRemaining","tries","billete","multiplier","remaining","checkPiecesToSubstract","moneda","piece","remainingAmt","pieceValue","validRefundPieces","pieces","amtToCheck","saleOperationSuccessful","totalin","totalout","amountchangenotavailable","withError","confirmRefund","opId","Piezas","valor","nivel","isBillete","EXCUTE_WITHDRAWAL","CashdroControlDialog","setOperationId","operationOngoing","setOperationOngoing","noChange","setnoChange","setDisabled","cashdroService","setCashdroService","service","_err$error2","_err$error3","_err$error8","REFUND","_err$error4","refundOpId","_err$error5","_err$error6","_devices$find","_devices$find2","refundPieces","_err$error7","CANCEL_WITHDRAWAL","renderMessage","formatPrice","renderActions","LuxonError","InvalidDateTimeError","toMessage","InvalidIntervalError","InvalidDurationError","ConflictingSpecificationError","InvalidUnitError","InvalidArgumentError","ZoneIsAbstractError","DATE_SHORT","DATE_MED","DATE_MED_WITH_WEEKDAY","DATE_FULL","DATE_HUGE","TIME_SIMPLE","TIME_WITH_SECONDS","TIME_WITH_SHORT_OFFSET","timeZoneName","TIME_WITH_LONG_OFFSET","TIME_24_SIMPLE","hourCycle","TIME_24_WITH_SECONDS","TIME_24_WITH_SHORT_OFFSET","TIME_24_WITH_LONG_OFFSET","DATETIME_SHORT","DATETIME_SHORT_WITH_SECONDS","DATETIME_MED","DATETIME_MED_WITH_SECONDS","DATETIME_MED_WITH_WEEKDAY","DATETIME_FULL","DATETIME_FULL_WITH_SECONDS","DATETIME_HUGE","DATETIME_HUGE_WITH_SECONDS","Zone","ianaName","isUniversal","offsetName","ts","formatOffset","equals","otherZone","singleton","SystemZone","Intl","DateTimeFormat","resolvedOptions","timeZone","parseZoneInfo","dtfCache","typeToPos","ianaZoneCache","IANAZone","resetCache","isValidSpecifier","isValidZone","dtf","hour12","adOrBc","formatToParts","formatted","partsOffset","fMonth","fDay","fYear","fadOrBc","fHour","fMinute","fSecond","hackyOffset","asTS","over","objToLocalTS","intlLFCache","intlDTCache","getCachedDTF","locString","intlNumCache","intlRelCache","sysLocaleCache","weekInfoCache","listStuff","loc","englishFn","intlFn","listingMode","PolyNumberFormatter","intl","forceSimple","padTo","otherOpts","intlOpts","useGrouping","minimumIntegerDigits","inf","NumberFormat","getCachedINF","padStart","roundTo","PolyDateFormatter","originalZone","gmtOffset","offsetZ","setZone","plus","toJSDate","PolyRelFormatter","isEnglish","hasRelative","rtf","cacheKeyOpts","RelativeTimeFormat","getCachedRTF","numeric","lastable","isDay","isInPast","fmtValue","singular","lilUnits","fmtUnit","English","fallbackWeekSettings","firstDay","minimalDays","weekend","fromOpts","numberingSystem","outputCalendar","weekSettings","defaultToEN","specifiedLocale","Settings","defaultLocale","localeR","numberingSystemR","defaultNumberingSystem","outputCalendarR","defaultOutputCalendar","weekSettingsR","validateWeekSettings","defaultWeekSettings","fromObject","numbering","parsedLocale","parsedNumberingSystem","parsedOutputCalendar","localeStr","xIndex","uIndex","selectedStr","smaller","parseLocaleString","intlConfigString","weekdaysCache","standalone","monthsCache","meridiemCache","eraCache","fastNumbersCached","fastNumbers","isActuallyEn","hasNoWeirdness","alts","redefaultToEN","redefaultToSystem","formatStr","DateTime","mapMonths","mapWeekdays","meridiems","matching","dtFormatter","numberFormatter","relFormatter","listFormatter","ListFormat","getCachedLF","getWeekSettings","hasLocaleWeekInfo","getWeekInfo","getCachedWeekInfo","getStartOfWeek","getMinDaysInFirstWeek","getWeekendDays","FixedOffsetZone","utcInstance","parseSpecifier","signedOffset","InvalidZone","normalizeZone","defaultZone","lowered","numberingSystems","arab","arabext","bali","beng","deva","fullwide","gujr","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","latn","numberingSystemsUTF16","hanidecChars","digitRegexCache","digitRegex","throwOnInvalid","twoDigitCutoffYear","cutoffYear","resetCaches","Invalid","explanation","nonLeapLadder","leapLadder","unitOutOfRange","dayOfWeek","computeOrdinal","uncomputeOrdinal","month0","isoWeekdayToLocal","startOfWeek","gregorianToWeek","gregObj","minDaysInFirstWeek","timeObject","weekToGregorian","weekData","weekdayOfJan4","yearInDays","gregorianToOrdinal","gregData","ordinalToGregorian","ordinalData","usesLocalWeekValues","localWeekday","localWeekNumber","localWeekYear","hasInvalidGregorianData","validYear","isInteger","validMonth","integerBetween","validDay","hasInvalidTimeData","validHour","validMinute","validSecond","validMillisecond","bestBy","best","settings","parseInteger","parseFloating","parseMillis","fraction","digits","factor","trunc","offsetFormat","modified","offHourStr","offMinuteStr","offHour","offMin","asNumber","numericValue","normalizeObject","normalizer","RangeError","monthsLong","monthsNarrow","weekdaysLong","weekdaysNarrow","erasLong","erasShort","stringifyTokens","splits","tokenToString","literal","macroTokenToFormatOpts","Formats","DD","DDDD","ttt","tttt","TT","TTT","TTTT","fff","ffff","FF","FFF","FFFF","Formatter","parseFormat","fmt","currentFull","bracketed","formatOpts","systemLoc","formatWithSystemDefault","formatDateTime","formatDateTimeParts","formatInterval","formatRange","num","formatDateTimeFromString","knownEnglish","useDateTimeFormatter","isOffsetFixed","allowZ","maybeMacro","formatDurationFromString","dur","tokenToField","realTokens","found","lildur","shiftTo","ianaRegex","combineRegexes","full","combineExtractors","extractors","mergedVals","mergedZone","_len3","patterns","_key3","extractor","simpleParse","_len4","_key4","offsetRegex","isoTimeBaseRegex","isoTimeRegex","isoTimeExtensionRegex","extractISOWeekData","extractISOOrdinalData","sqlTimeRegex","sqlTimeExtensionRegex","extractISOTime","extractISOOffset","fullOffset","extractIANAZone","isoTimeOnly","isoDuration","extractISODuration","weekStr","millisecondsStr","hasNegativePrefix","negativeSeconds","maybeNegate","fromStrings","extractRFC2822","milOffset","rfc1123","rfc850","ascii","extractRFC1123Or850","extractASCII","isoYmdWithTimeExtensionRegex","isoWeekWithTimeExtensionRegex","isoOrdinalWithTimeExtensionRegex","isoTimeCombinedRegex","extractISOYmdTimeAndOffset","extractISOWeekTimeAndOffset","extractISOOrdinalDateAndTime","extractISOTimeAndOffset","extractISOTimeOnly","sqlYmdWithTimeExtensionRegex","sqlTimeCombinedRegex","extractISOTimeOffsetAndIANAZone","INVALID","lowOrderMatrix","casualMatrix","daysInYearAccurate","daysInMonthAccurate","accurateMatrix","orderedUnits","reverseUnits","conf","conversionAccuracy","matrix","durationToMillis","vals","sum","normalizeValues","reduceRight","previousVal","conv","rollUp","accurate","isLuxonDuration","fromMillis","normalizeUnit","fromDurationLike","durationLike","fromISO","fromISOTime","toFormat","fmtOpts","toHuman","unitDisplay","toISO","toISOTime","millis","toMillis","suppressMilliseconds","suppressSeconds","includePrefix","includeOffset","invalidReason","negate","mapUnits","reconfigure","rescale","newVals","removeZeroes","shiftToAll","built","accumulated","lastUnit","own","negated","invalidExplanation","v1","v2","Interval","isLuxonInterval","fromDateTimes","builtStart","friendlyDateTime","builtEnd","validateStartEnd","after","startIsValid","endIsValid","isInterval","toDuration","useLocaleWeeks","hasSame","splitAt","dateTimes","sorted","splitBy","divideEqually","numberOfParts","overlaps","abutsStart","abutsEnd","engulfs","intersection","union","intervals","final","sofar","xor","currentCount","difference","toLocaleString","toISODate","mapEndpoints","Info","hasDST","isValidIANAZone","locObj","getMinimumDaysInFirstWeek","getWeekendWeekdays","monthsFormat","weekdaysFormat","features","relative","dayDiff","earlier","utcDayStart","toUTC","highWater","lowestOrder","differs","differ","highOrderDiffs","remainingMillis","lowerOrderUnits","intUnit","post","deser","parseDigits","spaceOrNBSP","spaceOrNBSPRegExp","fixListRegex","stripInsensitivities","strings","startIndex","simple","partTypeStyleToTokenVal","long","dayperiod","dayPeriod","hour24","dummyDateTimeCache","expandMacroTokens","formatOptsToTokens","maybeExpandMacroToken","TokenParser","one","two","three","four","six","oneOrTwo","oneToThree","oneToSix","oneToNine","twoToFour","fourToSix","unitate","unitForToken","disqualifyingUnit","regexString","explainFromTokens","rawMatches","matchIndex","specificOffset","toField","dateTimeFromMatches","resolvedOpts","isSpace","actualType","tokenForPart","MAX_DATE","unsupportedZone","possiblyCachedWeekData","possiblyCachedLocalWeekData","localWeekData","inst","fixOffset","localTS","tz","utcGuess","o2","o3","tsToObj","objToTS","adjustTime","oPre","millisToAdd","parseDataToDateTime","parsedZone","interpretationZone","toTechFormat","longFormat","extendedZone","defaultUnitValues","defaultWeekUnitValues","defaultOrdinalUnitValues","orderedWeekUnits","orderedOrdinalUnits","normalizeUnitWithLocalWeeks","weeknumber","weeksnumber","weeknumbers","quickDT","offsetProvis","zoneOffsetGuessCache","zoneOffsetTs","guessOffsetForZone","diffRelative","calendary","lastOpts","argList","_zone","isLuxonDateTime","fromJSDate","zoneToUse","fromSeconds","tsNow","containsOrdinal","containsGregorYear","containsGregorMD","containsGregor","definiteWeekDef","useWeekData","objNow","foundFirst","higherOrderInvalid","validWeek","validWeekday","hasInvalidWeekData","validOrdinal","hasInvalidOrdinalData","gregorian","tsFinal","offsetFinal","fromRFC2822","fromHTTP","fromFormat","localeToUse","parseFromTokens","fromString","fromSQL","isDateTime","parseFormatForOpts","localeOpts","tokenList","isWeekend","monthShort","monthLong","weekdayShort","weekdayLong","offsetNameShort","offsetNameLong","isInDST","getPossibleOffsets","dayMs","minuteMs","oEarlier","oLater","o1","ts1","ts2","c1","c2","isInLeapYear","weeksInLocalWeekYear","resolvedLocaleOptions","toLocal","keepCalendarTime","newTS","offsetGuess","asObj","setLocale","settingWeekStuff","mixed","normalizedUnit","toLocaleParts","ext","toISOWeekDate","toRFC2822","toHTTP","toSQLDate","toSQLTime","includeZone","includeOffsetSpace","toSQL","toSeconds","toUnixInteger","toBSON","includeConfig","otherDateTime","durOpts","otherIsLater","diffed","diffNow","adjustedToZone","toRelative","toRelativeCalendar","fromFormatExplain","fromStringExplain","buildFormatParser","fromFormatParser","formatParser","dateTimeish","DateBuilder","ymd","setZeroTime","setLastTimeOfDay","toDefaultFormat","ymdhms","ymdhm","hms","ym","dmy","dmyhm","cdlhm","getLastDayMonth","isLessThan","isLessOrEqualThan","isGreaterThan","isGreaterOrEqualThan","timeIsLessThan","firstDate","secondDate","timeIsLessOrEqualThan","timeIsGreaterThan","timeIsGreaterOrEqualThan","setTimeZone","BoletoDialog","_cxt$sc4","boleto","setBoleto","movements","setMovements","setPrice","setPaymentForm","openAskingPaymentProcedure","setOpenAskingPaymentProcedure","posPaymentParams","setPosPaymentParams","pageAndRows","setPageAndRows","getBonoBoletoMovsQuery","cashdroPayment","setCashdroPayment","cashdroPaymentAmount","setCashdroPaymentAmount","CASHDRO","saveAndClose","bonosService","updateBonoBoletoMutation","createBonoUserMutation","_tpv$payment","_tpv$sc","_tpv$sc2","_tpv$sc3","_tpv$sc3$customer","_tpv$sc4","_tpv$sc5","_tpv$sc5$customer","_tpv$sc6","entityName","setupPayment","createPayment","deleteBoleto","deletingPaymentProcedure","managePayments","SttSelectUser","controlDisabled","returnMship","SttSelectPForm","activePFs","autoload","localPagination","perPage","_cxt$sc3","_cxt$sc3$timezone","_cxt$lang","refundBonoMov","movId","SttDropdownButton","CloudDownload","onSelected","openReceipt","CheckOutlined","consumptions","bonoMov","webcamContainer","borderLess","webcam","loadingContainer","WebcamCapture","webcamRef","cameraReady","setCameraReady","enumerateDevices","devicesDetected","mediaStream","MediaStreamError","DataReturnTypes","ImageCrop","cropWidth","cropHeight","targetWidth","targetHeight","onCrop","dataReturnType","setCrop","ReactCrop","newCrop","cropped","returnType","scaleX","naturalWidth","scaleY","naturalHeight","toBlob","getCroppedImg","Steps","SttWebcamCaptureDialog","setStep","imgSrc","setImgSrc","croppedImageUrl","setCroppedImageUrl","uploading","setUploading","dataURL","setCroppedImage","ArrowBack","idMship","ListItemSecondaryAction","confirmationDelete","numRows","handleOnDelete","pagination","AddIcon","getPaginatedData","idxIni","idxEnd","handleOnSelect","listItem","chips","confirmationModal","SttMshipDialog","_cxt$sc$timezone","_mship$amountShape","_mship$amountShape2","_mship$totalShape","_mship$totalShape2","_mship$debtShape","_mship$debtShape2","mshipId","fullProfileId","setFullProfileId","loadMship","totalShape","debt","debtShape","PersonOutlineOutlined","Mship","MshipPupils","setPupils","pupilChosen","setPupilChosen","loadPupils","pupil","MshipDetail","_mship$user","_mship$tutor","_mship$tutor$mship","_mship$tutor2","boletos","setBoletos","isCertified","setIsCertified","openedBoleto","setOpenedBoleto","openWebcamCapture","setOpenWebcamCapture","validateForm","setValidateForm","loadBoletos","mshipsService","useUpdateMship","useDeleteMship","useMshipsService","updateMshipMutation","deleteMshipMutation","handleForm","userImage","Videocam","Publish","FeaturedVideoOutlined","toggleCertification","SttSportChips","SttUnlockerChips","showCreatingButton","idSC","bl","helpertext","SttSelectGender","email2","mobile2","addrVia","addrType","addrNumber","addrLetter","mshipSelected","my","handleOnSave","idTutor","uploadParams","DiscountList","showEmptyMessage","showTitle","discount","discountPercentage","getGetPaymentQueryKey","usePaymentsService","updatePaymentsRefund","useGetPayment","useDeletePayment","useRecoverPayment","useCollectPayment","useRefundPayment","useUpdatePayment","PaymentModalDetail","_paymentForm$discount","updatePaymentMutation","rpt","remittence","parsePrice","PaymentModalChildren","_r$user","_r$user2","FaceIcon","PaymentFormDialog","pfs","CASH","PURSE","BANK","DATAFONO","DATAFONO_CONNECTED","TPV","RECEIPT","FREE","LATER","ZITYCARD","SttChipRate","unifyRate","_rate$priceShape","_rate$priceShape2","BookingDialogDetail","_booking$priceShape","_booking$priceShape2","_booking$totalPaidSha","_booking$totalPaidSha2","setBooking","viewUserId","setViewUserId","SttLabelDate","totalPaid","totalPaidShape","cancelator","SttLabelLink","PaymentCreationDialog","onPaymentSuccess","targetAPI","setPayment","_payment$mship","_payment$mship$user","_response$payment","_response$payment2","_response$payment2$pa","_response$payment$tpv","_response$payment$tpv2","_response$payment$tpv3","_response$payment$tpv4","_response$payment$tpv5","_response$payment$tpv6","_response$payment$tpv7","_response$payment$tpv8","_response$payment$tpv9","_response$payment$tpv10","_response$payment$tpv11","_response$payment$tpv12","_response$payment$tpv13","_response$payment$tpv14","selectedMship","startPayment","closeDialog","UseBonoDialog","defaultMship","bookingId","mshipChosen","setMshipChosen","userIndividualBonos","setUserIndividualBonos","userFullBonos","setUserFullBonos","selectedBono","setSelectedBono","loadBonos","idFacility","individualBonos","fullBonos","indvBono","fullBono","useBono","idBooking","BookingDialogPayments","setPayments","bonoMovs","setBonoMovs","creatingPayment","setCreatingPayment","useBoleto","setUseBoleto","loadPayments","loadBonoMovs","ConfirmationNumberIcon","AdjustIcon","SttPaymentList","_cxt$sc2$timezone","timezoneName","BookingDialogOccupants","onLastOccupantDeleted","occupants","setOccupants","renderRate","occupant","_price$priceShape","_price$priceShape2","cancelBookingOnLastOccupant","newRows","occ","_simulateDeviceResult","_simulateDeviceResult2","_simulateDeviceResult3","_simulateDeviceResult4","simulateResult","setSimulateResult","simulateDeviceResult","setSimulateDeviceResult","setForm","situation","mainLightsOn","cortesyLightsOn","simulatePass","DeviceDetails","setSimulateAccessOpen","simulateAccessOpen","checkIfUserSC","SttSelectUnlockerType","SttSelectDeviceStatus","signature","preLight","postLight","preCortesy","soundTime","pendingPaymentsMargin","antiPassback","checkDirectionOut","remoteOpening","SttFacilityList","addFacility","removeFacility","SimulateAccessDialog","getGetGroupsQueryKey","getGetGroupQueryKey","getGetGroupMembersQueryKey","getGetGroupDiscountsQueryKey","useGroupsService","useGetGroup","useGetGroups","getBeneficiaries","addBeneficiary","deleteBeneficiary","getGroupMembers","useGetGroupMembers","useGetGroupDiscounts","useCreateGroupDiscount","discountId","groupId","useDeleteGroupDiscount","useCreateGroupMember","useUpdateGroupMember","GroupDiscountsList","openDialog","setOpenDialog","groupsService","getGroupDiscountsQuery","getScDiscountsQuery","createGroupDiscountMutation","deleteGroupDiscountMutation","scDiscount","groupDiscount","SelectGroupParentDialog","_getScParentGroupsQue","getGroupsPage","setGetGroupsPage","getGroupsFilters","setGetGroupsFilters","getScParentGroupsQuery","numActiveUsers","SelectGroupParent","_groupParent$name","groupParent","onChangeGroupParent","selectedGroup","GroupDetails","_groupForm$feeInterva","_groupForm$feeTaxConc","_groupForm$signupTaxC","deleteModal","setDeleteModal","openConfirmDialog","confirmDialog","DialogComponent","useConfirmDialog","groupForm","setGroupForm","shouldUpdateDates","saveGroup","updateUserDates","_groupForm$mandatoryG","_groupForm$parent$id","_groupForm$parent","enrollmentPrice","idMandatoryGroup","idParent","feeInterval","updateUserPeriod","purchaseOnline","deleteGroup","paymentProcess","maxMembers","maxBeneficiaries","SttSelectFixedInterval","feeTaxConceptCode","signupTaxConceptCode","findNextFirstChar","firstChars","defaultExpandedDefault","defaultSelectedDefault","TreeView","defaultCollapseIcon","defaultEndIcon","_props$defaultExpande","defaultExpanded","defaultExpandIcon","defaultParentIcon","_props$defaultSelecte","_props$disableSelecti","disableSelection","_props$multiSelect","multiSelect","expandedProp","expanded","onNodeSelect","onNodeToggle","selectedProp","tabbable","setTabbable","focusedNodeId","setFocusedNodeId","nodeMap","firstCharMap","visibleNodes","setExpandedState","setSelectedState","isExpanded","getNextNode","nodeIndex","getPreviousNode","getLastNode","getFirstNode","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","handleRangeSelect","nodes","aIndex","bIndex","getNodesInRange","newSelected","selectRange","_nodes$start","handleRangeArrowSelect","getNodesToRemove","cleanUpFirstCharMap","newMap","removeNodeFromNodeMap","parentMap","parentChildren","oldFocusedNodeId","prevChildIds","childrenCalculated","setChildrenCalculated","childIds","nodeId","arrayDiff","buildVisible","childs","noopSelection","TreeViewContext","icons","focusFirstNode","focusLastNode","focusNextNode","focusPreviousNode","focusByFirstCharacter","lowercaseChar","firstCharIds","firstChar","expandAllSiblings","newExpanded","toggleExpansion","oldTabbable","selectNode","handleMultipleSelect","handleSingleSelect","selectNextNode","selectPreviousNode","rangeSelectToFirst","rangeSelectToLast","selectAllNodes","isTabbable","getParent","mapFirstChar","addNodeToNodeMap","childrenIds","currentMap","childId","currentChildMap","Collapse","collapsedHeight","_props$collapsedSize","collapsedSize","collapsedSizeProp","wrapperRef","autoTransitionDuration","wrapperHeight","duration2","wrapper","wrapperInner","TreeItem","collapseIcon","expandIcon","onLabelClick","onIconClick","_React$useContext","contextIcons","contentRef","expandable","ariaSelected","handleNextArrow","handlePreviousArrow","ctrlPressed","iconContainer","SttGroupMemberDialogDetail","_member$enrollment","_member$enrollment$pr","_member$enrollment2","_member$enrollment2$p","_member$enrollment3","_member$group","_member$group$feeShap","_member$group2","_member$group2$feeSha","_cxt$sc$modules","member","creating","handleChangeDiscounts","feeShape","paymentFormFee","TPVFeePayment","expirationCheck","mships","setMships","keywordSearch","setKewordSearch","loadMships","currPage","keyword","onSelectOnList","deleteButton","SttBeneficiariesList","setBeneficiaries","relation","setRelation","beneficiariesQuery","beneficiarios","groupMember","beneficiaryId","usuario","createdOn","holderRelation","DeleteIcon","SttGroupMemberDialog","idGroupMember","onUpdateMember","setMember","discountsForm","setDiscountsForm","setCreating","setHistory","currentMemberState","setCurrentMemberState","createGroupMemberMutation","updateGroupMemberMutation","isMutationsLoading","mutationsLoader","dialogContent","SttTabs","tabs","updatedName","updatedValue","dateWithTime","SttFeeList","paramsFilter","createObjectWithUpdatedFieldsOnly","discountsIdsToSend","paymentFormSignup","discountsIds","DiscountTooltip","infoButton","beneficiaryFont","filtersToApi","subscriptionEnd","subscriptionIni","subscriptionType","upToDateWithPayments","inscriptionIni","inscriptionEnd","unsubscriptionIni","unsubscriptionEnd","GroupMembers","haveFees","openGroupMemberDialog","setOpenGroupMemberDialog","groupMemberDialogId","setGroupMemberDialogId","groupMemberTrash","setGroupMemberTrash","idPayment","setIdPayment","openMshipDialog","setOpenMshipDialog","selectedMshipId","setSelectedMshipId","setFilters","SttCachedTable","_row$beneficiaries","_row$beneficiaries$ro","ExpandMore","ChevronRight","beneficiary","_cxt$sc$city","_cxt$sc$city$country","_cxt$sc2$city","_cxt$sc2$city$country","_row$enrollment2","Replay","_row$enrollment3","_row$group$type","_row$group","_row$user2","_row$user2$mship","PaymentModal","onPay","_row$enrollment","updatePayment","_row$user","_row$user$mship","GroupPrivileges","includeInactive","prv","privs","updateLocally","GroupFees","_getGroupMembersQuery","idPayModal","setIdPayModal","getGroupMembersPage","setGetGroupMembersPage","getGroupMembersFilters","setGetGroupMembersFilters","getGroupMembersQuery","updateFeeFromPayment","_payment$children","_payment$children$row","foundChildrenPayment","deleteFeeFromPayment","_payment$children2","_payment$children2$ro","SttFeeRow","onFeeClicked","onGenerated","indexFee","updatedFee","selectedMember","currentMembers","updatedMember","memberIndex","onFeeGenerated","onDeleted","onRecovered","onRefund","DeviceAuthDialog","setAuth","setDeviceIds","existingDeviceIds","setExistingDeviceIds","deviceIdsHaveChanged","setDeviceIdsHaveChanged","addDevice","authId","deviceAuth","removeDevice","saveDevices","ids","updateAuth","dateini","dateend","timeini","timeend","devicesToRemove","devicesToAdd","deleteDevices","errorWrapper","validationErrors","_error$errors","errorsFormatted","showErrors","_auth$devices","haveChanged","SttSelectWeekdays","DeviceList","auths","loaderFunction","_item$ini","_item$end","GROUP","ACTIVITIES","BONO","GroupDevices","setAuths","viewAuth","setViewAuth","loadAuths","deviceConstants","Group","activeFeeTab","setActiveFeeTab","getGroupQuery","savedGroup","deletedGroup","getGetActivityRateDiscountsQueryKey","useActivityRatesService","getActivityRateStudents","useGetActivityRateDiscounts","useCreateActivityRateDiscount","useDeleteActivityRateDiscount","ActivityRateDiscountList","activityRateService","getActivityRateDiscountsQuery","ActivityRateDialog","_rate$minAge","_rate$maxAge","_rate$feeTaxConceptCo2","_rate$signupTaxConcep2","activityId","deleteRateEnabled","setRate","saveAndBye","_rate$feeTaxConceptCo","_rate$signupTaxConcep","_rate$mandatory","maxStudents","onlyCertified","signupOnline","tpvEnabled","captionIni","onlyActive","ActivityRates","copyToClipboard","numStudents","skipSearchButton","onToggleTrash","renderExtra","NavigateBeforeIcon","NavigateNextIcon","generalTable","tableLayout","tableRightBorder","firstTableColumn","tableColumn","tableCell","tableCellData","tableCellNoData","tableCellAssit","tableCellMissed","tableCellRecoverable","tableCellRecovered","tableCellRecoverer","nameCell","SttAttendanceTable","_internalData$rows2","onChangePageCallback","onClickCell","setRowsPerPage","getLetterByAttendanceStatus","_data$rows","assistenceFound","assistence","assistenceLetter","SttSelectableItems","exclusive","_selected","btnGroup","defaultAttendanceDayChosen","AttendanceDialog","attendance","attendanceDay","attendanceChosen","setAttendanceChosen","attendanceDayChosen","setAttendanceDayChosen","assistanceID","assistance","classAssistence","saveAttendance","classId","idStudent","SttSelectActivityRate","activityRates","RecoverAttendanceDialog","recovery","setRecovery","setStudent","recoverableAssistences","setRecoverableAssistences","selectedRecoverableAssistence","setSelectedRecoverableAssistence","selectedActivityRateId","setSelectedActivityRateId","recoverAssistence","finalParams","idActivityRate","getActivityRateInscriptionsQueryKey","getActivityStudentsAssistencesQueryKey","getActivityClassesQueryKey","useActivitiesService","useGetActivityRateInscriptions","useCreateActivityRateStudent","idRate","useGetActivityStudentAssistences","useCreateDuplicationsActivities","useGetActivityClasses","SttFormAttendance","dayColumns","setDayColumns","selectedAttendance","setSelectedAttendance","selectedAttendanceDay","setSelectedAttendanceDay","openRecoverDialog","setOpenRecoverDialog","getActivityStudentsAssistencesQuery","getDayColumnsByMonthAndYear","ReplayIcon","handleCell","AttendancesDialog","ActivityClassDialog","availableTeachers","theClass","setTheClass","teachers","setTeachers","setFacilities","setDialog","idTeacher","idActivity","setFacility","setTeacher","ActivityClasses","setSelected","classesQueryParams","setClassesQueryParams","classesQuery","onChangePagination","Close","calls","SttChipUser","SttActivityFillForms","activityForms","forms","setForms","handleFormFieldChange","formsValues","question","generateFormField","formsParam","SttSelectClassAndRateDialog","studentId","setActivities","openListItem","setOpenListItem","setActivityForms","openActivityFillFormsDialog","setOpenActivityFillFormsDialog","selectedRateId","setSelectedRateId","loadActivities","changeStudentRate","newOpenListItem","newActivities","activityIndex","ExpandLess","changeStudentRateProccess","StudentDialog","_activity$rates$find","_activity$rates","_student$user","_student$user$mship","_selectedRate$enrollm","_selectedRate$enrollm2","_selectedRate$feeShap","_selectedRate$feeShap2","_student$form","defaultIdRate","setTitle","setIdRate","openChangeClassAndRateDialog","setOpenChangeClassAndRateDialog","selectedRate","loadStudent","feePaymentForm","studentsService","useUpdateStudent","useChangeRate","useGenerateStudentEnrollment","useStudentsService","updateStudentMutation","generateStudentEnrollmentMutation","createActivityRateStudentMutation","foundQuestion","cancelActivity","deletingPaymentAction","hasTutor","showDiscountsSelection","showDiscountsList","tabStudent","enrollmentShape","py","tabFees","tabForm","availableTabs","KeyboardReturnIcon","LoopIcon","upsertStudent","requestBody","enrollmentPaymentForm","composeFormData","ActivityStudents","_item$rates$0$id","_item$rates","_item$rates$","_item$rates2","_filters$rate","onPayment","onGenerateFee","viewStudentId","setViewStudentId","tableColumns","formatedFilters","inTime","onTime","PaymentOutlined","_row$form","rowFormItem","_rowFormItem$answer","_cxt$sc3$city","_cxt$sc3$city$country","generateEnrollment","PersonOutlineOutlinedIcon","showUntil","oldRow","oldRowFee","oldRowFeeIndex","activeFilter","currentFilter","restFilters","FormQuestionDialog","parentCategory","setQuestion","existingOptions","setExistingOptions","_item$options","setOption","removeOption","ActivityForm","questions","setQuestions","viewQuestion","setViewQuestion","currentQuestion","ActivityDevices","SttTagsList","openAddingTag","setOpenAddingTag","scTags","setScTags","tags","setTags","newTag","setNewTag","getSportCenterTags","getActivityTags","_response$activity","deleteActivityTag","tagId","addSportCenterTag","scTag","addActivityTag","LocalOfferIcon","ActivityDetails","setActivity","currentActivityState","setCurrentActivityState","saveLoading","setSaveLoading","deleteLoading","setDeleteLoading","setInscDate","setInscTime","SttSportSelector","setSport","teacherId","inscIni","inscEnd","timeRangeOptions","includeMaxTime","showSignedUsers","CameraAltOutlined","OpenInNewOutlined","_updatedActivityField","_updatedActivityField2","updatedActivityFields","getObjectDiff","idSport","newActivity","ModalFile","onDownload","setFile","strippedName","setStrippedName","extension","setExtension","setFileName","public","ActivityDocuments","inputFile","_activity","setFiles","setforceUpdate","loadFiles","_event","onFileSelected","AttachFile","forceUpdateSwitch","poster","Check","idPoster","setPoster","isPublic","Activity","loadActivity","loadRates","idParam","activityToSave","activityToDelete","cachedType","detectScrollType","getNormalizedScrollLeft","scrollWidth","easeInOutSin","ScrollbarSize","scrollbarHeight","setMeasurements","prevHeight","TabIndicator","TabScrollButton","Tabs","ariaLabelledBy","_props$centered","centered","_props$indicatorColor","indicatorColor","_props$ScrollButtonCo","ScrollButtonComponent","_props$scrollButtons","scrollButtons","selectionFollowsFocus","_props$TabIndicatorPr","TabIndicatorProps","TabScrollButtonProps","_props$textColor","scrollable","isRtl","scrollStart","clientSize","setMounted","indicatorStyle","setIndicatorStyle","displayScroll","setDisplayScroll","_React$useState4","scrollerStyle","setScrollerStyle","valueToIndex","tabsRef","tabListRef","getTabsMeta","tabsMeta","tabMeta","tabsNode","scrollLeftNormalized","_children","tab","updateIndicatorState","_newIndicatorStyle","_getTabsMeta","startValue","correction","newIndicatorStyle","dStart","dSize","scrollValue","_options$ease","ease","animate","moveTabsScroll","handleStartScrollClick","handleEndScrollClick","handleScrollbarSizeChange","scrollSelectedIntoView","_getTabsMeta2","nextScrollStart","_nextScrollStart","updateScrollButtonState","showStartScroll","showEndScroll","_tabsRef$current","win","handleTabsScroll","updateIndicator","updateScrollButtons","indicator","childIndex","childValue","conditionalElements","scrollbarSizeListener","scrollButtonsActive","showScrollButtons","scrollButtonStart","scrollButtonsDesktop","scrollButtonEnd","getConditionalElements","scroller","onScroll","flexContainer","flexContainerVertical","newFocusTarget","previousItemKey","nextItemKey","scrollbarWidth","Tab","_props$wrapped","wrapped","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","fullTab","tabContent","grow","currTabIndex","setCurrTabIndex","loadedTabIndexes","setLoadedTabIndexes","handleSelectTab","_tab$show","_tab$show2","EventDetails","_cxt$constants","_event$sport","_event$paymentForms3","_event$paymentForms4","_event$paymentForms5","setEvent","finalDate","togglePaymentForm","_event$paymentForms","_event$paymentForms2","checkRowStyle","difficulty","maxPlayers","maxParticipants","showParticipants","_event$poster","categories","ModalCategory","eventName","teamable","onRecover","category","setCategory","currencySymbol","maxTeams","EventCategories","setCategories","selectedCat","setSelectedCat","loadCategories","numTeams","numParticipants","idMandatory","cat","newCategories","ModalParticipant","_category$enrollmentS","_participant$form","disableFieldsForParticipantWithUser","setParticipant","participantCreator","setParticipantCreator","openCreator","setOpenCreator","participantData","team","itm","useEventsService","useUpdateParticipant","participantId","useDeleteParticipant","useCreateEventCategoryParticipant","categoryId","useGetEventTeamsByCategoryId","formField","EventParticipants","_event$categories","participants","setParticipants","paymentId","setPaymentId","loadParticipants","updateParticipants","eventsService","updateParticipantMutation","participantResponse","createEventCategoryParticipantMutation","_tpv$payment2","_tpv$sc7","_tpv$sc8","_tpv$sc9","_tpv$sc9$customer","_tpv$sc10","_tpv$sc11","_tpv$sc11$customer","_tpv$sc12","deleteParticipantMutation","_item$answer","_item$answer2","paymentDate","paymentFormLang","participantToSave","idTeamExists","idTeam","putParams","saveParticipant","participantToDelete","EventTeams","setTeams","deleteParticipant","useParticipantFuncs","loadTeams","Pagination","receivedPage","filteredTeams","deleteTeam","ModalPeriod","_period$facility","SttSelectFacility","EventPeriods","setPeriods","setPeriod","loadPeriods","EventForm","EventDocuments","checkFileSignature","idEvent","downloadPath","Event","_response$event","urlBack","newEvent","BonoDetails","setBono","setTpvEnabled","purchasePFs","SttSelectInterval","transferable","fct","_bono$mandatoryGroup","onlinePurchase","_bono","getPaymentForm","BonoBoletos","viewBoleto","setViewBoleto","userName","toggleActive","SttLabelPayment","paymentDialogActive","BonoDevices","getBonoDevicesAuthsQuery","Bono","bonoResponse","bonoToSave","bonoToDelete","DeviceAuths","deviceAuths","setDeviceAuths","dateFilter","setDateFilter","setBookingId","eventId","setEventId","setActivityId","setGroupId","setBonoId","loadDeviceAuths","allDay","_row$booking2","_row$event2","_row$activity2","_row$group2","_row$bono2","_row$booking","_row$event","_row$activity","_row$bono","BookingDialog","SttChipAccessType","_item","_access$booking","bonoUser","_access$bonoUser","_access$groupMember","_access$groupMember$g","_access$student","_access$boleto","DeviceAccesses","accesses","setAccesses","unlockerKey","loadAccesses","numRowParams","finalFilters","openItem","DeviceDetailsDialog","setDevice","CenterFocusWeakIcon","BookingDialogDeviceAuths","setDeviceId","loadBookingDeviceAuths","cutBooking","onlyBonos","setOnlyBonos","cancelBooking","paymentAction","funcToUse","slot","_booking$facility$id","_booking$facility","openSelectPF","setOpenSelectPF","dialogBookingId","setDialogBookingId","idPaymentModal","setIdPaymentModal","operationConfirmation","setOperationConfirmation","paymentsService","getPaymentQuery","deletePaymentMutation","recoverPaymentMutation","collectPaymentMutation","paymentResponse","refundPaymentMutation","openPayment","paymentToOpen","SttChipPaymentStatus","numInvoice","_getPaymentQuery$data","_getPaymentQuery$data2","setupPaymentCollection","optimisticPayment","paymentsIds","userID","_response$error","_response$error2","_response$error3","childrenConcept","childrenUserId","childrenPaymentIds","MshipPayments","subpayments","useIni","useEnd","paidIni","paidEnd","filterPayDateChecked","setFilterPayDateChecked","filterUseDateChecked","setFilterUseDateChecked","setPaymentsIds","paramsFilters","commaSeparated","PayMultiplePaymentsDialog","ChargePurseDialog","deposit","setDeposit","purseAction","setPurseAction","newDeposit","_opt$amountShape","_opt$amountShape2","_opt$bonusShape","_opt$bonusShape2","_opt$bonusShape3","bonusShape","MshipPurseMovs","movs","setMovs","chargingPurseMship","setChargingPurseMship","searchingkeyword","setSearchingKeyword","loadMovs","searchText","mov","SttChipPurseMov","MshipBookings","setBookings","loadBookings","SttButtonFilter","MshipStudents","students","setStudents","studentDialogId","setStudentDialogId","actName","loadStudents","handleFormSearch","SttLabelFee","MshipEventParticipants","setEventParticipants","SttChipEventKind","SttChipEventType","MshipPrivileges","loadPrivileges","_priv$group","_priv$group2","useMediaQuery","queryInput","supportMatchMedia","matchMedia","_props$options","_props$options$defaul","defaultMatches","_props$options$matchM","_props$options$noSsr","noSsr","_props$options$ssrMat","ssrMatchMedia","setMatch","queryList","updateMatch","addListener","removeListener","isWidthUp","breakpointKeys","isWidthDown","withThemeOption","_options$noSSR","noSSR","initialWidthOption","initialWidth","WithWidth","contextTheme","_getThemeProps","widthComputed","HiddenJs","_breakpoint","breakpointUp","breakpointDown","lgDown","lgUp","mdDown","mdUp","smDown","smUp","xlDown","xlUp","xsDown","xsUp","withWidth","_props$implementation","_props$lgDown","_props$lgUp","_props$mdDown","_props$mdUp","_props$smDown","_props$smUp","_props$xlDown","_props$xlUp","_props$xsDown","_props$xsUp","HiddenCss","MshipGroups","groupMships","setGroupMships","selectGroupOpen","setSelectGroupOpen","loadGroups","setSelectedGroup","fetchFees","_ug$benefactor","benefactor","Hidden","SttSelectGroupDialog","addUserToGroup","showHistory","MshipDocuments","userFiles","setUserFiles","openFileId","setOpenFileId","uploadFileOpen","setUploadFileOpen","loadUserFiles","SttChipFileType","SttChipFileFormat","SttButtonFab","SttFileDialog","idFile","restoreUser","SttTerrainList","terrains","selectionOpen","setSelectionOpen","allTerrains","setAllTerrains","filteredTerrains","terrain","selectTerrain","createTerrain","SttSelectNumbersInterval","menuItems","FacilityView","_facility$sport2","_facility$position","_facility$cancelation2","facilitiesService","updateTerrain","addExistingTerrain","idTerrain","removeTerrain","useFacilitiesService","loadFacility","mandatoryEmail","mandatoryMobile","updateTerrainLatLng","_facility$terrains$","_facility$terrains$2","_cxt$sc5","defaultBooking","maxBooking","timeiniLightsOn","cancelation","bookingInfo","sets","maxOccupants","generateOccupantUnlocker","modifiedTerrain","trr","newTerrain","trn","_facility$cancelation","_facility$sport","FacilitySet","facilitySetId","setPageTitle","facilitySet","setFacilitySet","facilityset","loadFacilitySet","loadFacilities","useReportsService","getReportsRows","getReportsColumns","getReportsFilters","updateReportColumn","createReportColumn","removeReportColumn","updateReportFilter","createReportFilter","removeReportFilter","useGetReports","ColumnPopup","setAlign","getColumns","columnsPositions","column","columnLeft","columnRight","previousValue","currentValue","formattedColumns","Report","_location$state$repor","_location$state","_cxt$privileges","_reportGroups$find","navigateBack","reportsService","setReportId","setColumns","filtersTopControls","setFiltersTopControls","summatory","setSummatory","isColumnPopupOpen","setColumnPopupOpen","selectedAlign","setSelectedAlign","reportQuery","_data$report","_data$report2","_data$report3","getFilters","reportGroups","formatFilterParam","handleCloseColumnPopup","reportGroup","handleOpenColumnPopup","reportRows","prevColumns","SttGroupList","ontime","selectGroup","Rate","dialogTitle","setDialogTitle","changePrice","prices","foundPrice","loadRate","updateScRateMutation","createScRateMutation","includeChildren","addGroup","removeGroup","upsertRate","BusySlotDialog","setSlot","ErrorsDialog","mark","BusySchedule","idBusySchedule","busySchedule","setBusySchedule","viewSlot","setViewSlot","setErrors","loadBusySchedule","slots","deleteFacility","SttBusySlotList","busyScheduleSlot","slt","addedSlot","fails","saveSlot","deleteSlot","statusFilters","FreeScheduleSlotDialog","idSlot","freeSchedule","handleChangeSlot","SttPriceList","priceAdded","slotUpdated","newSlot","FreeSchedule","idFreeSchedule","setFreeSchedule","setSlots","removeSeconds","openedSlotId","setOpenedSlotId","loadFreeSchedule","layer","capacity","preBookingIni","preBookingIniTime","preBookingEnd","SttButtonMonths","multipleSelection","selectedMonths","onChangeMonth","newMonths","newFacilities","delFacility","newSlots","saveFreeSchedule","SttChipUnlocker","showModal","unlockerDialogOpened","setUnlockerDialogOpened","isDeleted","setIsDeleted","getTypeLetter","SttUnlockerDialog","idUnlocker","SttChipFacilityRow","getInitials","DevicesKeysDialog","openStatus","setKeys","loadKeys","mshipName","keyType","setKeyType","DevicesAuthorizationsDialog","authorizations","setAuthorizations","unlockerCode","mshipFullname","loadAuthorizations","deviceName","deviceType","Q60DownloadDialog","downloadStatus","setDownloadStatus","q60Params","setQ60Params","codeTramitter","presenterEntity","presenterOffice","ccc","collectorEntity","collectorOffice","validityDate","taxCode","downloadQ60","_errors$0$userId","formattedErrors","dniError","fullnameError","fullname","filterConfigurations","NORMAL","usePeriodEnabled","paymentPeriodEnabled","withDiscounts","CASH_CONTROL","SCsWithXMLPermissions","getParamsToAPI","filterParam","paymentsType","CreateGroupDialog","_group$feeTaxConceptC","_group$signupTaxConce","setGroup","parentGroups","setParentGroups","processPrice","currentGroup","SttActivitiesDuplicationDialog","onDuplicate","originalNameFragment","newNameFragment","setDocuments","openUploadPoster","setOpenUploadPoster","duplicateActivitiesMutation","idFiles","RemittenceLineDialog","remittenceLine","internalLine","setInternalLine","RedoIcon","FileCSVLineDialog","fileCSVLine","saveLine","newValues","ImportUsersDialog","lines","importing","setImporting","setNotes","numUsersToImport","setNumUsersToImport","modifyExisting","setModifyExisting","conversions","setConversions","fieldNumbers","fieldConversions","addConversion","destine","updateConversion","conversion","timeImg","removeConversion","fileCSV","GENDER","MALE","FEMALE","UNKNOWN","OTHER","Teacher","loadTeacher","saveTeacher","putParameters","TeacherClasses","setClasses","classOpened","setClassOpened","loadClasses","teacherName","setTeacherName","setIdTeacher","TeacherDetail","times","minTime","maxTime","currentTime","hhmmss","getTimeRangeOptions","BookingScheduleSlotDialog","BookingScheduleDeleteDialog","onResponse","BookingScheduleDetails","onSaveSlot","onSaveBookingSchedule","bookingScheduleInit","bookingSchedule","setBookingSchedule","savingSlots","setSavingSlots","openDeleteResponseDialog","setOpenDeleteResponseDialog","SttBookingScheduleSlotList","_bookingSchedule$user","_bookingSchedule$faci","_response$bookingSche","bookingScheduleSlot","userResponse","deleteAllBookings","deleteBookingSchedule","ModalCollectBatch","_bookings$","_bookings$$totalBillS","onCollect","SttButtonCollect","SttBookingList","showTotals","totalBillShape","BookingScheduleBookings","viewBooking","setViewBooking","_bookings","setBatch","Euro","totalBill","responses","existing","responseToSet","collectBookings","RestrictionDetails","_restriction$faciliti","restrictionInit","weekdaysInit","monthsInit","restriction","setRestriction","setMonths","setWeekdays","showNumBookings","setShowNumBookings","showPeriod","setShowPeriod","showWeekdays","setShowWeekdays","showMonths","setShowMonths","showSpecialDays","setShowSpecialDays","showWindow","setShowWindow","isDefault","windowIniInterval","windowEndInterval","restr","numBookings","specificDays","SttFormInterval","windowIniTime","windowEndTime","idRestriction","putRestrictionRequestBody","bookingRestriction","RestrictionUserDialog","userRestriction","setUserRestriction","RestrictionUsers","userRestrictions","setUserRestrictions","viewRestriction","setViewRestriction","loadUsers","bookingRestrictionUser","RestrictionGroups","setGroups","inclusiveGroups","setInclusiveGroups","excludedGroups","setExcludedGroups","openedSelectingGroup","setOpenedSelectingGroup","isExcluding","delGroupFromRestriction","excluding","filterGroups","inclusiveGroupsFilter","excludedGroupsFilter","useMessagesService","updateMessagesRead","MessageCommentBox","onSendComment","onSendPrivateMessage","senderName","setText","SendButton","sendComment","SendIcon","MessageCommentList","comments","setComments","setRows","messageValue","setMessageValue","loadComments","idxComm","_comment$img","generatePrivateMessage","sender","MessageItem","_message$sender","_message$img","_message$img2","_message$comments","_message$comments2","_message$comments3","fold","messagesService","showCommentsMessage","setShowCommentsMessage","updateMessageReadMutation","_msg$receptors","_msg$sender","receptors","receptor","_receptor$user","_receptor$group","_receptor$sc","buildMsgTitle","borderLeftStyle","numUnread","ChatBubbleOutlineIcon","ReplyIcon","DoneAllIcon","MessageList","_data$pages$","onlyUnread","setOnlyUnread","isUnread","lastPage","SttButtonRefresh","msgKey","Receptors","sendAllSC","setSendAllSC","onAddReceptor","onDelReceptor","openedSelectingMship","setOpenedSelectingMship","addReceptor","PersonOutlineIcon","PeopleOutlineIcon","NewMessageResultDialog","NewMessageDialog","shortText","setShortText","SMSCount","setSMSCount","setReceptors","attachedFiles","setAttachedFiles","messageSent","setMessageSent","cleanAll","FlipCameraAndroidIcon","CardHeader","subheaderProp","subheaderTypographyProps","titleProp","titleTypographyProps","CardActionArea","focusHighlight","CardContent","ProductDialog","autoClose","onUpdateProduct","onDeleteProduct","internalProduct","setInternalProduct","setPrevState","setUpdatedState","updatedState","usePrevAndUpdatedStates","stock","netPrice","vat","finalPrice","stockageActive","saveProduct","productCardHeaderRoot","productCardHeaderAction","productCardContentRoot","SalePointProductCard","selectProduct","setOpenProduct","SalePointProducts","allProducts","searchingKeyword","selectedCategory","setSelectedCategory","openProduct","filteredProducts","CategoryIcon","SalePointCart","cart","saveMovementInCart","totalNet","totalVat","editedAmount","setEditedAmount","editingAmount","setEditingAmount","toggleEdit","EditIcon","decrementAmount","DeleteOutlineIcon","SalePointPayment","onUpdateTicket","cashIn","setCashIn","selectedPaymentForm","setSelectedPaymentForm","ticketForDelayedUpdate","setTicketForDelayedUpdate","productsServices","useCloseProductTicket","useProductsService","closeProductTicketMutation","productTicket","closeTicket","SalePoint","idTicket","setCart","setTicket","setAllProducts","setReadOnly","previousPurchaseTicket","setPreviousPurchaseTicket","setTotalNet","setTotalVat","setTotal","createNewTicket","deleteTicket","updateProduct","productMov","products","calcTotal","calcTotalNet","calcTotalVat","onCloseDialog","HighlightOffIcon","foundMov","currentProduct","ticketToUpdate","closedProductTicket","Contact","sent","setSent","setPrivacyPolicy","SttPage","innerTitle","subscriptionBox","subExpired","subscriptionSummary","subscriptionPayments","dividerSubscriptionSummary","greenBold","redBold","Subscription","sportCenter","setSportCenter","currentSubscription","setCurrentSubscription","plan","licences","setLicences","subIsValid","setSubIsValid","showLoading","hideLoading","loadingBar","initialVisibility","setVisible","useLoadingBar","loadSportCenterData","loadSubscriptionData","loadLicenses","inExpirationPeriod","validateSub","sub","logout","latest","getLatestLicence","PowerSettingsNew","useGolfService","getGolfCourse","updateGolfCourse","removeGolfCourse","updateGolfCourseHole","getGolfCourseFrees","createGolfCoursesFrees","updateGolfCoursesFrees","getGolfCourseFree","removeGolfCoursesFrees","createGolfCoursesFreesRates","updateGolfCoursesRates","removeGolfCoursesRates","GolfCourseConfigurationHoleDialog","golfHole","golfService","updateHoleMutation","par","tee","mutateHole","golfHoleCard","golfHoleBox","golfCircle","golfCircleActive","golfCircleInactive","noteIcon","hole","selectedGolfHole","setSelectedGolfHole","NoteOutlinedIcon","GolfCourseConfiguration","_golfCourse$holes2","golfCourse","onUpdateHole","deleteMutation","_error$error","updateMutation","_error$error2","_error$error3","_golfCourse$holes","holes","mutateGolfCourse","GolfHoleCard","golfScheduleId","mutateGolfCourseRate","genericBorder","borderRounded","_golfCourseScheduleQu21","_golfCourseScheduleQu22","_golfCourseScheduleQu23","_golfCourseScheduleQu24","_golfCourseScheduleQu25","_golfCourseScheduleQu26","_golfCourseScheduleQu27","_golfCourseScheduleQu28","_golfCourseScheduleQu29","golfCourseId","golfCourseScheduleId","setGolfCourseScheduleId","selectedGolfCourseRate","setSelectedGolfCourseRate","golfCourseScheduleQuery","deleteRateMutation","_golfCourseScheduleQu5","_golfCourseScheduleQu6","_golfCourseScheduleQu7","_golfCourseScheduleQu8","_golfCourseScheduleQu9","_golfCourseScheduleQu10","_golfCourseScheduleQu11","_golfCourseScheduleQu12","_golfCourseScheduleQu13","_golfCourseScheduleQu14","_golfCourseScheduleQu15","_golfCourseScheduleQu16","_golfCourseScheduleQu17","_golfCourseScheduleQu18","_golfCourseScheduleQu19","_golfCourseScheduleQu20","golfScheduleFree","_golfCourseScheduleQu","_golfCourseScheduleQu2","_golfCourseScheduleQu3","_golfCourseScheduleQu4","mutateGolfCourseSchedule","_rate$group","GolfCourseScheduleRateDialog","selectedGolfCourseScheduleId","setSelectedGolfCourseScheduleId","_row$rates","GolfCourseScheduleDialog","_response$golfSchedul","GolfCourse","_golfCourseQuery$data","_golfCourseQuery$data2","_golfCourseQuery$data3","_golfCourseQuery$data4","_golfCourseQuery$data5","_golfCourseQuery$data6","_golfCourseQuery$data7","setGolCoursefId","golfCourseQuery","_data$error2","_data$golfCourse","_data$golfCourse2","_updatedData$golfCour","_updatedData$golfCour2","_data$golfCourse3","updatedData","elementIndex","_data$golfHole","GolfCourseSchedulesAndRates","GolfTimetableControls","weekdayTabValue","RotateLeftIcon","ArrowBackIosIcon","ArrowForwardIosIcon","GolfTimetableTee","teeNumber","disableTime","teeDataMockUp","teeBox","timeLabel","players","player","playerBox","playerBoxBusy","playerBoxAvailable","GolfTimetableCart","golfCartIconBox","LocalShippingIcon","golfCarts","golfCartDataMockup","carts","golfCart","golfCartBox","golfCoursesList","activeGolfCourse","disableGolfCourse","hoverGolfCardCourse","timetable","timetableBox","LogoHeading","Input2FA","onResentCode","setCode","inputRefs","handlePaste","_inputRefs$current3","pastedData","new2FACode","digit","inputSlots2FAIds","boxSlots2FAIds","handleCodeChange","numberParsed","newCode","_inputRefs$current","_inputRefs$current2","onPaste","submit","userLanguage","previousLang","Page404","coffeeImage","HomeIcon","Separator","ApiModelDialog","idModel","setModel","apiModel","example","ApisParameters","selectedApi","models","onOpenModel","ApisModel","modelName","madatory","ApisResponses","resp","TimetableControls","loadTimetable","facilityGroupId","coeffs","isWeekly","toggleWeekly","facilityGroups","setFacilityGroups","setWeekTabValue","filteredEmptyFacilities","groupList","SttButtonDate","onSelectDate","dated","SettingsIcon","getMenuItems","coeff","onChangeWeekday","newWeekdayTabValue","BookingOperate","staticMsg","fares","rateType","onBook","pfsToShow","setPfsToShow","SCPrivileges","setSCPrivileges","openTermsAndConditions","setOpenTermsAndConditions","paymentMethodSelected","setPaymentMethodSelected","sportcenterPrivilegesQuery","_sportcenterPrivilege","_sportcenterPrivilege2","isPaymentFormWithGateway","selectTpvMethod","idBoleto","BookingSectionMessages","bookingPrivilege","BookingSectionMainData","ImSCOwner","onChangeTimeini","onChangeTimeend","onChangeNotes","BookingSelectRateDialog","setRates","individualRates","fullRates","selectRateBoleto","idxPrice","BookingSelectPupilsDialog","onAddOccupant","allPupils","setAllPupils","availableUsers","setAvailableUsers","newUser","setNewUser","allPeople","handleNewUser","idxUser","PersonAddIcon","RateAndBoletos","selectedBoleto","Scenarios","USER_CAPACITY","USER_NO_CAPACITY","SC_CAPACITY","SC_NO_CAPACITY","BookingSectionOccupants","setRateType","scenario","setScenario","occupantMshipSelecting","setOccupantMshipSelecting","openSelectingRateOccupant","setOpenSelectingRateOccupant","openPupilsDialog","setOpenPupilsDialog","isUserOrTeacher","ratesKey","altRatesKey","_occupants","loadFares","isWithCapacity","addSaveOccupant","_occupant$mship","_occupant$mship2","_occupant$mship2$amou","_occupant$mship3","_occupant$mship3$amou","_piece$priceShape","_piece$priceShape2","_occupant$selectedRat","_occupant$selectedRat2","_occupant$selectedRat3","_occupant$selectedRat4","_occupant$selectedRat5","_occupant$selectedRat6","PersonOutline","delOccupant","BookingSectionPrice","_sc$city","_sc$city$country","_sc$city2","_sc$city2$country","_sc$customer","onChangePrice","updating","setUpdating","salesPolicy","Booking","setImSCOwner","setTimeini","setTimeend","staticBookingMsg","setStaticBookingMsg","isReadyToBook","setIsReadyToBook","bookingTitle","setBookingTitle","openOperate","setOpenOperate","setFinalPrice","modifiedPrice","setModifiedPrice","alfaOccupant","setAlfaOccupant","bookingsService","useCreateBooking","useBookingsService","createBookingMutation","book","lastBookingTime","createBooking","occupantsParam","_occupants$0$name","_occupants$","alfaOcc","allOccupantsWithRateOrBoleto","totalPrice","SettingsBackupRestoreIcon","DoneOutlineIcon","onClickBook","BookingOperateDialog","CreateBookingScheduleDialog","BusyScheduleDialog","_busySchedule$creator","setFails","busy","_response$fails2","_response$fails","SeatingDialog","setName","loadOccupants","filteredOccupants","_occupant$user","_occupant$user$mship","_occupant$user2","confirmed","toggleConfirmed","TimetableBookingsDialog","openBookingId","setOpenBookingId","PieceCapacityDialog","TimetableOperate","bookingCut","setBookingCut","onChangeTimetable","privileged","setFree","setActions","bookingAttempt","setBookingAttempt","createClass","setCreateClass","createFixedBooking","setCreateFixedBooking","createBusySchedule","setCreateBusySchedule","openSeatingDialog","setOpenSeatingDialog","openBookingsDialog","setOpenBookingsDialog","openBusySchedule","setOpenBusySchedule","openFixedBooking","setOpenFixedBooking","openPieceCapacityDialog","setOpenPieceCapacityDialog","ViewModuleIcon","SchoolIcon","CancelPresentationIcon","horaIni","diffHours","newStart","newEnd","pasteBooking","PeopleIcon","ClearAllIcon","minBookingPeriod","finalTime","ArrowRightIcon","widget","controls","Modes","WidgetLogin","onLogin","doLogin","useKey","SttFormPassword","BookingsConsentsPopUp","acceptConsents","setAcceptConsents","consentsResponses","setConsentsResponses","updateConsentsResponses","newArr","Timetable","setTimetable","selectedPiece","setSelectedPiece","selectedColumn","setSelectedColumn","setIsWeekly","loginDialog","setLoginDialog","openActivityId","setOpenActivityId","affidavitAccepted","setAffidavitAccepted","columnWidth","setColumnWidth","setFacilityGroupId","ImUserPrivileged","setImUserPrivileged","queryStrings","idFieldGroup","weekly","openPiece","eventPeriod","redirectLogin","SttTimetable","onSelectPiece","SttTimetableWeek","weekTimetable","Occupants","cancelPrivilege","idOwner","occupantsValues","setOccupantsValues","_occupant$rate","_occupant$bonoMov","_occupant$bonoMov2","_occupant$bonoMov3","_occupant$bonoMov3$bo","_occupant$bonoMov3$bo2","_occupant$unlockers","_occupant$unlockers$","_occupant$unlockers2","_occupant$unlockers2$","_occupant$unlockers3","_occupant$unlockers3$","_occupant$unlockers4","_occupant$unlockers4$","SttQR","deleteOccupant","occupantId","newOccupantsValue","postValue","setPostValue","_comment$creator","deleteComment","commentId","emptyImage","SCWall","posts","setPosts","showingCommentsMsg","setShowingCommentsMsg","addPost","loadPosts","deletePost","postId","buildPostTitle","idxpost","SCWallCommentsList","useSearchService","SttEventCard","_event$priceShape","_event$priceShape2","inIscTime","periodLabel","formatPeriod","inscPeriod","dateLabel","SttEventCardList","_data$pages$$events","searchService","_lastPage$events","_lastPage$events2","_lastPage$events3","eventKey","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","StyleInjector","_Component","appendStyle","lightboxStyles","imageBackgroundColor","ZoomInIcon","xmlns","ZoomOutIcon","DownloadIcon","SpinnerIcon","RotateIcon","crossOriginDownload","isSameOrigin","tmpAnchor","zoomed","toggleZoom","toggleRotate","enableDownload","enableZoom","enableRotate","contextMenu","handleDoubleClick","handleOnLoad","onDoubleClick","onContextMenu","handleOnContextMenu","Lightbox","move","moveStart","rotationDeg","dim","contentEl","coords","getCoordinatesIfOverImg","medium","large","hideDownload","hideZoom","showRotate","_this$props$imageBack","handleMouseDownOrTouchStart","handleMouseUpOrTouchEnd","handleMouseMoveOrTouchMove","WebkitTransform","MsTransform","Header","modalOpen","smallSrcSet","toggleModal","rateName","rateGridItem","RateList","SignupButton","_rate$enrollmentShape","_rate$enrollmentShape2","_rate$feeShape","_rate$feeShape2","periodLang","ClassesList","ModalGotoSc","scContactInfo","SttSelectOrAddUser","setUsers","setSearch","newUserDialogOpened","setNewUserDialogOpened","SttMshipList","onLoadMships","SttSelectOrAddPupil","createMyScPupilMutation","_response$user","_response$user2","_response$user3","_response$user4","nonFree","formIDs","ModalSignUp","_user$fullName","_rate$enrollmentShape3","_rate$enrollmentShape4","enrollmentPForm","setEnrollmentPForm","_rate$paymentForms","feesToReceipts","setFeesToReceipts","setFormValues","activitiesService","getActivityRateInscriptionsQuery","restQuestion","inscribeOtherLink","Loop","inscribeMeLink","_inscription$user","getTicket","SignedUsersList","loadingValue","imageColumn","imageRow","imgBG","greenBG","redBG","textCenter","activityName","activityDesc","registrationBox","registrationLabel","SttInscriptionList","inscriptions","hidePrice","_inscription$priceSha","_inscription$priceSha2","pendingTitle","ModalSignup","_category$enrollmentS2","_category$enrollmentS3","_category$enrollmentS4","_category$enrollmentS5","_category$enrollmentS6","_category$enrollmentS7","onSaveInscription","onSaveTeam","setPending","someoneElse","setSomeoneElse","setTeamName","creatingTeam","setCreatingTeam","setIdTeam","availableSlots","setAvailableSlots","_team$participants","_team$participants2","catSlots","eventSlots","calculateAvailableSlots","parseForm","formFields","addCurrentToPending","insc","missing","idCat","catName","catDesc","catPrice","onInscription","inscriptionDisabled","signupCat","setSignupCat","setIdMship","addToTeam","_e$error","eventIsFull","categoryIsFull","teamInscription","pricePending","pricePaid","EventInscriptions","_participant$category","_participant$enrollme","_participant$category2","_participant$category3","_participant$category4","_participant$category5","_participant$category6","_participant$category7","_participant$category8","priceClass","fontsize","EventTeam","_team$category","_team","setTeam","SttParticipantsList","SignedTeamsByCategoryList","_categories$","_items$","currentCategoryId","setCurrentCategoryId","selectedCategoryId","setSelectedCategoryId","teamParticipantsRows","setTeamParticipantsRows","getEventTeamsByCategoryId","_getEventTeamsByCateg","_getEventTeamsByCateg2","_getEventTeamsByCateg3","_getEventTeamsByCateg4","teamsTableRows","dateBox","greenBg","redBg","inscriptionLabel","useApisService","getApiParameters","updateApiParameter","createApiParameter","removeApiParameter","getApiResponses","updateApiResponse","createApiResponse","removeApiResponse","getApiTests","getApiModels","getApiModel","createApiModel","updateApiModel","removeApiModel","createApiModelProperty","updateApiModelProperty","removeApiModelProperty","getApisExecutions","SttChipHttpVerb","httpVerb","GET","POST","PUT","DELETE","AdminApiDetails","apisService","_data$api","mutateApi","AdminApiParameterDialog","apiId","parameterValue","setParameter","apiParameter","mutateParameter","AdminApiParameters","AdminApiResponseDialog","responseValue","setResponse","apiResponse","mutateResponse","AdminApiResponses","useTestsService","testValue","testsService","setTest","hart","idAPI","mutateTest","AdminApiTests","AdminApiTestDialog","AdminApi","_apiQuery$data","_apiQuery$data$api","_apiQuery$data2","_apiQuery$data2$api","_apiQuery$data3","_apiQuery$data4","_apiQuery$data4$api","_apiQuery$data5","_apiQuery$data5$api","_apiQuery$data6","_apiQuery$data6$api","setApiId","apiQuery","Fab","sizeMedium","Zoom","AdminCustomerDetails","_data$customer","contactPerson","mutateCustomer","AdminCustomerSubscriptionDialog","customerId","mutateSubscription","cellTitle","cellHoverData","cellData","activeCell","editButton","SttSCSubscriptionsList","subscriptions","subscriptionSelected","openSubscriptionDialog","setOpenSubscriptionDialog","_subscription$fee","_subscription$feeShap","_subscription$feeShap2","useSubscriptionsService","getSubscriptionLicenses","removeSubscriptionLicenses","updateSubscriptionLicenses","LicenceModal","subscriptionsService","linkColor","AdminCustomersLicences","licenceChosen","setLicenceChosen","AdminCustomerSubscriptions","_customerSubscription","setSubscriptionSelected","customerSubscriptionsQuery","AdminCustomer","_customerQuery$data","_customerQuery$data$c","_customerQuery$data2","_customerQuery$data2$","_customerQuery$data3","setCustomerId","customerQuery","AdminSCDetail","_timezonesQuery$data$","_timezonesQuery$data","_timezonesQuery$data$2","selectedCustomer","setSelectedCustomer","recoverMutation","getTimezones","useTimezoneService","timezonesQuery","mutateSportCenter","_formData$tpvConf","_formData$tpvConf2","_formData$tpvConfEven","_formData$tpvConfEven2","_formData$city2","_formData$customer","_formData$customer2","formatedData","formatedDataFiltered","formatAdminScDetailsMutated","_formData$customer3","tpvConfEvent","idTPVConf","idTPVConfEvent","idCustomer","_sc$timezone","maxFacilities","AdminSCOptions","stripeAccountId","setStripeAccountId","sporttiaStripeConnectedAccount","sporttiaStripeFee","setSporttiaStripeFee","stripeLocationId","setStripeLocationId","codeIne","setCodeIne","extraModules","dataFields","confGroup","saveSC","updatedDataFields","updatedDataField","checkModuleState","moduleState","dataField","AdminSCMap","useDevicesService","updateDevicesRecover","createDevicesFacilities","facilityId","removeDevicesFacilities","useCreateDeviceSpace","sportcenterId","useUpdateDeviceSpace","deviceSpaceId","useDeleteDeviceSpace","useGetDeviceSpace","useCreateDeviceSpaceDevice","useDeleteDeviceSpaceDevice","DeviceDialog","_deviceQuery$data19","_deviceQuery$data20","_deviceQuery$data20$d","_deviceQuery$data21","_deviceQuery$data21$d","_deviceQuery$data22","_deviceQuery$data22$d","_deviceQuery$data23","_deviceQuery$data23$d","_deviceQuery$data24","_deviceQuery$data24$d","_deviceQuery$data27","_deviceQuery$data28","_deviceQuery$data28$d","_deviceQuery$data29","_deviceQuery$data29$d","_deviceQuery$data30","_deviceQuery$data30$d","_deviceQuery$data32","_deviceQuery$data32$d","_deviceQuery$data34","_deviceQuery$data34$d","_deviceQuery$data35","_deviceQuery$data35$d","devicesService","deviceQuery","_data$device","createFacilityMutation","deleteFacilityMutation","_deviceQuery$data3","_deviceQuery$data3$de","_deviceQuery$data4","_deviceQuery$data4$de","_deviceQuery$data5","_deviceQuery$data5$de","_deviceQuery$data6","_deviceQuery$data6$de","_deviceQuery$data7","_deviceQuery$data7$de","_deviceQuery$data8","_deviceQuery$data8$de","_deviceQuery$data9","_deviceQuery$data9$de","_deviceQuery$data10","_deviceQuery$data10$d","_deviceQuery$data11","_deviceQuery$data11$d","_deviceQuery$data12","_deviceQuery$data12$d","_deviceQuery$data13","_deviceQuery$data13$d","_deviceQuery$data14","_deviceQuery$data14$d","_deviceQuery$data15","_deviceQuery$data15$d","_deviceQuery$data16","_deviceQuery$data16$d","_deviceQuery$data17","_deviceQuery$data17$d","_deviceQuery$data18","_deviceQuery$data18$d","offlineEnabled","_deviceQuery$data25","_deviceQuery$data25$d","_deviceQuery$data26","_deviceQuery$data26$d","_deviceQuery$data","_deviceQuery$data$dev","_deviceQuery$data2","_deviceQuery$data2$de","mutateDevice","_deviceQuery$data31","_deviceQuery$data31$d","_deviceQuery$data33","_deviceQuery$data33$d","AdminSCDevices","deviceIdSelected","setDeviceIdSelected","localDate","POSStripeConfiguration","stripeReaders","setStripeReaders","createTpvReaderMutation","AdminSC","_scQuery$data3","_scQuery$data4","_scQuery$data4$sc","_scQuery$data5","_scQuery$data6","_scQuery$data6$sc","_scQuery$data7","_scQuery$data8","_scQuery$data8$sc","_scQuery$data9","_scQuery$data10","_scQuery$data10$sc","_scQuery$data11","setScId","scQuery","_scQuery$data","_scQuery$data$sc","_scQuery$data2","_scQuery$data2$sc","_data$sc2","_data$sc3","AdminApiLogDialog","apiLog","_apiLog$api","_apiLog$executor","agent","curl","logs","AdminTest","_testQuery$data9","_testId$data","_testId$data$test","_testId$data2","_testId$data2$test","testId","setTestId","testQuery","_data$test","_data$test2","_testQuery$data3","_testQuery$data4","_testQuery$data4$test","_testQuery$data5","_testQuery$data5$test","_testQuery$data6","_testQuery$data6$test","_testQuery$data7","_testQuery$data7$test","_testQuery$data8","_testQuery$data8$test","_testQuery$data","_testQuery$data$test","_testQuery$data2","_testQuery$data2$test","_testQuery$data10","_testQuery$data10$tes","Agenda","userService","agenda","renderAgendaRow","getFormattedEnrollmentFromAbono","_row$enrollment$price","_row$enrollment$price2","_row$enrollment$price3","getFormattedFeeFromAbono","_row$group$feeShape$c","_row$group$feeShape","_row$group$feeShape2","UserAbono","_groupMember$group","_groupMember$enrollme","_groupMember$group2","setGroupMember","UserAbonosTable","UserAbonos","UserBonos","setCount","sortBySc","_boleto$bono","_boleto$bono$priceSha","_boleto$bono2","_boleto$bono2$priceSh","RechargePurse","_mship$amountShape3","_mship$amountShape4","_mship$amountShape5","_mship$amountShape6","_mship$amountShape7","loadProfile","parsedPrice","useTranslationsService","AdminTranslation","_translationQuery$dat21","_translationQuery$dat22","_translationQuery$dat23","_translationQuery$dat24","_translationQuery$dat25","_translationQuery$dat26","_translationQuery$dat27","_translationQuery$dat28","_translationQuery$dat29","_translationQuery$dat30","_translationQuery$dat31","translationsService","translationId","setTranslationId","translationQuery","_data$translation","_data$translation2","_translationQuery$dat","_translationQuery$dat2","_translationQuery$dat3","_translationQuery$dat4","_translationQuery$dat5","_translationQuery$dat6","_translationQuery$dat7","_translationQuery$dat8","_translationQuery$dat9","_translationQuery$dat10","_translationQuery$dat11","_translationQuery$dat12","_translationQuery$dat13","_translationQuery$dat14","_translationQuery$dat15","_translationQuery$dat16","_translationQuery$dat17","_translationQuery$dat18","_translationQuery$dat19","_translationQuery$dat20","es","cl","mutateTranslation","notificationButton","notificationButtonActive","notificationButtonDisabled","code_box","information_box","SttKeyCard","UserKeys","myService","getMyUnlockers","useMyService","filteredResponse","AdminReportDetail","onRefresh","sql","mutateReport","AdminReportColumnDialog","columnValue","setColumn","reportColumn","mutateColumn","AdminReportColumns","AdminReportFilterDialog","filterValue","reportFilter","sqlPiece","mutateFilter","AdminReportFilters","AdminReport","_reportQuery$data","_reportQuery$data$rep","_reportQuery$data2","_reportQuery$data2$re","_reportQuery$data3","_reportQuery$data4","_reportQuery$data4$re","_reportQuery$data5","_reportQuery$data6","_reportQuery$data6$re","_reportQuery$data7","reportIdFromPath","legacyMode","selectedType","setSelectedType","AttachFileIcon","openSelectFile","ClusterIcon","Loader","channel","_c","libraries","region","mapIds","CALLBACK","createUrl","load","loadPromise","loadCallback","setScript","loadErrorCallback","defer","onerrorEvent","setCallback","__googleMapsCallback","cluster","getClusterer","google","maps","OverlayView","getClusterClass","sums","boundsChangedListener","anchorText","anchorIcon","textSize","setMap","getMap","cMouseDownInCluster","cDraggingMapByCluster","getPanes","overlayMouseTarget","addDomListener","markerClusterer","getZoomOnClick","maxZoom","getMaxZoom","bounds","getBounds","fitBounds","getZoom","setZoom","onRemove","clearInstanceListeners","draw","_this$getPosFromLatLn","getPosFromLatLng","divTitle","bp","spriteH","spriteV","getTitle","cssText","createCss","enableRetinaIcons","useStyle","setCenter","latlng","getProjection","fromLatLngToDivPixel","Cluster","gridSize","getGridSize","minClusterSize","getMinimumClusterSize","averageCenter","getAverageCenter","markers","clusterIcon","getStyles","getMarkers","getCenter","LatLngBounds","getPosition","addMarker","isMarkerAlreadyAdded","_position","LatLng","calculateBounds","isAdded","mCount","isMarkerInClusterBounds","getExtendedBounds","updateIcon","getCalculator","CALCULATOR","numStyles","dv","IMAGE_SIZES","Clusterer","optMarkers","optOptions","clusters","activeMap","minimumClusterSize","zoomOnClick","ignoreHidden","imagePath","imageExtension","imageSizes","calculator","batchSize","batchSizeIE","clusterClass","timerRefStatic","setupStyles","addMarkers","repaint","resetViewport","redraw","_i2","fitMapToMarkers","setGridSize","setMinimumClusterSize","setMaxZoom","setZoomOnClick","setAverageCenter","getIgnoreHidden","setIgnoreHidden","getEnableRetinaIcons","setEnableRetinaIcons","getImageExtension","setImageExtension","getImagePath","setImagePath","getImageSizes","setImageSizes","setCalculator","getBatchSizeIE","setBatchSizeIE","setClusterClass","getTotalMarkers","getClusters","getTotalClusters","optNoDraw","pushMarkerTo","getDraggable","removeMarker_","removeMarker","removed","removeMarkers","clearMarkers","oldClusters","projection","trPix","getNorthEast","blPix","getSouthWest","fromDivPixelToLatLng","createClusters","optHide","_i3","distanceBetweenPoints","dLat","dLon","isMarkerInBounds","addToClosestCluster","clusterToAddTo","iFirst","mapBounds","iLast","getVisible","_i4","obj1","obj2","InfoBox","disableAutoPan","pixelOffset","Size","boxClass","boxStyle","closeBoxMargin","closeBoxURL","infoBoxClearance","isHidden","pane","enableEventPropagation","closeListener","moveListener","mapListener","contextListener","eventListeners","fixedWidthSet","createInfoBoxDiv","cancelHandler","setBoxStyle","getCloseBoxImg","addClickHandler","bw","getBoxWidths","panBox","closeBox","getCloseClickHandler","disablePan","mapDiv","getDiv","mapWidth","mapHeight","iwOffsetX","iwOffsetY","iwWidth","iwHeight","padX","padY","pixPosition","fromLatLngToContainerPixel","panBy","webkitTransform","msFilter","borderBottomWidth","borderRightWidth","currentStyle","setContent","setPosition","setZIndex","isVisible","getContent","getZIndex","MapContext","applyUpdaterToNextProps","updaterMap","registerEvents","eventMap","newAcc","googleEventName","onEventName","unregisterEvent","registered","unregisterEvents","applyUpdatersToPropsAndRegisterEvents","registeredEvents","onDblClick","onMapTypeIdChanged","onMouseOut","onRightClick","onTilesLoaded","onBoundsChanged","onCenterChanged","onDrag","onHeadingChanged","onIdle","onProjectionChanged","onResize","onTiltChanged","onZoomChanged","extraMapTypes","mapTypes","_center","clickableIcons","setClickableIcons","_heading","setHeading","mapTypeId","_mapTypeId","setMapTypeId","streetView","_streetView","setStreetView","tilt","_tilt","setTilt","_zoom","GoogleMap","_React$PureComponent","mapRef","getInstance","panTo","setMapCallback","getRef","mapContainerStyle","mapContainerClassName","runtime","undefined$1","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","iter","skipTempReset","rootRecord","rval","exception","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","existingScript","windowWithGoogleMap","dataStateAttribute","originalInitMap","initMap","originalErrorCallback","isRobotoStyle","preventGoogleFonts","getElementsByTagName","trueInsertBefore","newElement","referenceElement","trueAppend","textNode","makeLoadScriptUrl","googleMapsClientId","_ref$version","cleaningUp","DefaultLoadingElement","defaultLoadScriptProps","LoadScript","cleanupCallback","isCleaningUp","_asyncToGenerator","runtime_1","_callee","promiseCallback","preventGoogleFontsLoading","injectScriptOptions","eventMap$1","updaterMap$1","_PureComponent","TrafficLayer","trafficLayer","setTrafficLayerCallback","BicyclingLayer","bicyclingLayer","setBicyclingLayerCallback","TransitLayer","transitLayer","setTransitLayerCallback","eventMap$2","onCircleComplete","onMarkerComplete","onOverlayComplete","onPolygonComplete","onPolylineComplete","onRectangleComplete","updaterMap$2","drawingMode","_drawingMode","setDrawingMode","DrawingManager","drawingManager","setDrawingManagerCallback","drawing","eventMap$3","onAnimationChanged","onClickableChanged","onCursorChanged","onDraggableChanged","onFlatChanged","onIconChanged","onPositionChanged","onShapeChanged","onTitleChanged","onVisibleChanged","onZindexChanged","updaterMap$3","_animation","setAnimation","_clickable","setClickable","_cursor","setCursor","draggable","_draggable","setDraggable","_icon","setIcon","_label","setLabel","_map","_opacity","setOpacity","setShape","_title","_visible","Marker","setMarkerCallback","markerOptions","clusterer","noClustererRedraw","elementChild","eventMap$4","onClusteringBegin","onClusteringEnd","updaterMap$4","_averageCenter","_batchSizeIE","_calculator","_clusterClass","_enableRetinaIcons","_gridSize","_ignoreHidden","_imageExtension","_imagePath","_imageSizes","_maxZoom","_minimumClusterSize","_zoomOnClick","ClustererComponent","setClustererCallback","eventMap$5","onCloseClick","onContentChanged","onDomReady","updaterMap$5","InfoBoxComponent","infoBox","setInfoBoxCallback","positionLatLng","infoBoxOptions","eventMap$6","updaterMap$6","InfoWindow","infoWindow","setInfoWindowCallback","eventMap$7","updaterMap$7","editable","_editable","setEditable","_path","setPath","Polyline","polyline","setPolylineCallback","eventMap$8","updaterMap$8","_paths","setPaths","Polygon","polygon","setPolygonCallback","eventMap$9","updaterMap$9","_bounds","setBounds","setRectangleCallback","eventMap$a","onRadiusChanged","updaterMap$a","_radius","setRadius","Circle","setCircleCallback","eventMap$b","onAddFeature","onRemoveFeature","onRemoveProperty","onSetGeometry","onSetProperty","updaterMap$b","addgeojson","geojson","addGeoJson","feature","foreach","loadgeojson","loadGeoJson","overridestyle","overrideStyle","revertstyle","revertStyle","controlposition","controlPosition","setControlPosition","_controls","setControls","drawingmode","_style","setStyle","togeojson","toGeoJson","Data","setDataCallback","eventMap$c","onDefaultViewportChanged","onStatusChanged","updaterMap$c","_url","setUrl","KmlLayer","kmlLayer","setKmlLayerCallback","createLatLng","createLatLngBounds","sw","ensureOfType","convertToLatLngString","latLngLike","convertToLatLngBoundsString","latLngBoundsLike","south","east","north","west","paneEl","containerStyle","updatePane","mapPaneName","mapPanes","overlayView","onPositionElement","getPixelPositionOffset","currentPosition","previousPosition","layoutStyles","mapCanvasProjection","getLayoutStylesByBounds","getLayoutStylesByPosition","getLayoutStyles","containerRef","_this$state$container","prevPositionString","positionString","prevBoundsString","boundsString","FLOAT_PANE","MAP_PANE","MARKER_LAYER","OVERLAY_LAYER","OVERLAY_MOUSE_TARGET","eventMap$d","updaterMap$d","GroundOverlay","groundOverlay","setGroundOverlayCallback","eventMap$e","updaterMap$e","HeatmapLayer","heatmapLayer","setHeatmapLayerCallback","visualization","eventMap$f","onPanoChanged","onPovChanged","updaterMap$f","provider","registerPanoProvider","_links","setLinks","motionTracking","_motionTracking","setMotionTracking","pano","_pano","setPano","pov","_pov","setPov","StreetViewPanorama","streetViewPanorama","setStreetViewPanoramaCallback","getStreetView","StreetViewService","streetViewService","setStreetViewServiceCallback","eventMap$g","onDirectionsChanged","updaterMap$g","_directions","setDirections","panel","_panel","setPanel","routeIndex","_routeIndex","setRouteIndex","DirectionsRenderer","directionsRenderer","setDirectionsRendererCallback","eventMap$h","onPlacesChanged","updaterMap$h","StandaloneSearchBox","searchBox","setSearchBoxCallback","places","SearchBox","eventMap$i","onPlaceChanged","updaterMap$i","restrictions","_restrictions","setComponentRestrictions","setFields","_types","setTypes","autocomplete","setAutocompleteCallback","mapContainer","Positions","searchPlaceholder","locationLatLng","setLocationLatLng","mapLatLng","setMapLatLng","searchRef","setSearchRef","searchBlock","getPlaces","place","geometry","gestureHandling","mapTypeControl","streetViewControl","panControl","cities","setCities","loadCities","showClearButton","_onSelect","UserData","_user$twoFactorEnable","userPassword","setUserPassword","setLanguages","languagesOption","getParamsByUser","currentUser","_currentUser$city","passwordExpirationInterval","commActive","twoFactorEnabled","Security","saveUser","deleteUser","SttSportCard","cursorPointer","SttSelectSportDialog","setNumRows","totalRows","setTotalRows","setSports","textRef","loadSports","UserSports","userSportsList","userSports","setUserSports","openSportSelector","setOpenSportSelector","deleteSport","sportId","userSport","addSport","UserNotifications","notificationsData","setNotificationsData","updatable","loadNotificationsData","notConfs","notification","notificationValue","changeNotification","changeUserCommunications","AlertTitle","useMeService","updateMe","UserConnections","meService","paycometIdUser","UserConfiguration","loadUserData","getPaymentFormsBySportcenter","ScHome","submenus","submenu","_cxt$privileges2","_cxt$sc$modules2","subitem","AdminHome","_item$submenus","_item$submenus2","AdminCity","_cityQuery$data5","_cityQuery$data6","_cityQuery$data6$city","_cityQuery$data7","_cityQuery$data7$city","_cityQuery$data8","_cityQuery$data8$city","_cityQuery$data9","_cityQuery$data9$city","_cityQuery$data10","_cityQuery$data10$cit","_cityQuery$data11","_cityQuery$data11$cit","_cityQuery$data12","_cityQuery$data12$cit","_cityQuery$data13","_cityQuery$data13$cit","cityId","setCityId","cityQuery","_data$city","_data$city2","_cityQuery$data","_cityQuery$data$city","_cityQuery$data2","_cityQuery$data2$city","_cityQuery$data3","_cityQuery$data3$city","_cityQuery$data4","_cityQuery$data4$city","_formData$country","_formData$map","_formData$map2","_formData$country2","_formData$map3","_formData$map4","mutateCity","SttPupilDialog","_pupilData$user","_pupilData$user2","_pupilData$user3","_pupilData$user4","_pupilData$user5","_pupilData$user6","_pupilData$user7","pupilData","setPupilData","prevPupilData","_selectedPupil$user","_selectedPupil$sc","openUnlocker","selectedPupil","openPupilDialog","loadUserPupils","_row$sc","_row$unlockers","handleUnlockerClick","SttUserUnlockerDialog","handleSavePupil","SttAdminPaymentFormTpv","getTpvsQueryKey","formTpv","createTpvConfirmationMutation","_prevData$rows","currentTpv","updatedTpv","AdminPayment","_paymentQuery$data","_paymentQuery$data$pa","_paymentQuery$data$pa2","_paymentQuery$data3","_paymentQuery$data3$p","_paymentQuery$data3$p2","_paymentQuery$data15","_tpvQuery$data4","_paymentQuery$data16","_paymentQuery$data17","_paymentQuery$data17$","_paymentQuery$data18","_paymentQuery$data18$","_paymentQuery$data19","_paymentQuery$data19$","_paymentQuery$data20","_paymentQuery$data20$","_paymentQuery$data21","_paymentQuery$data21$","_paymentQuery$data22","_paymentQuery$data22$","_paymentQuery$data23","_paymentQuery$data23$","_paymentQuery$data24","_paymentQuery$data24$","_paymentQuery$data25","_paymentQuery$data25$","_paymentQuery$data26","_paymentQuery$data26$","_paymentQuery$data26$2","_tpvsFromPaymentIdQue","_tpvsFromPaymentIdQue2","_tpvsFromPaymentIdQue3","formPayment","formParent","paymentQuery","tpvQuery","_paymentQuery$data2","_paymentQuery$data2$p","_paymentQuery$data2$p2","tpvsFromPaymentIdQuery","_paymentQuery$data4","_paymentQuery$data4$p","_paymentQuery$data4$p2","updatePaymentRefundMutation","_paymentQuery$data5","_paymentQuery$data5$p","_paymentQuery$data5$p2","_paymentQuery$data6","_paymentQuery$data6$p","_paymentQuery$data7","_paymentQuery$data7$p","_paymentQuery$data8","_paymentQuery$data8$p","_paymentQuery$data9","_paymentQuery$data9$p","_paymentQuery$data10","_paymentQuery$data10$","_paymentQuery$data11","_paymentQuery$data11$","_paymentQuery$data12","_paymentQuery$data12$","_paymentQuery$data13","_paymentQuery$data13$","_paymentQuery$data14","_paymentQuery$data14$","_tpvQuery$data","_tpvQuery$data$tpv","_tpvQuery$data2","_tpvQuery$data2$tpv","_tpvQuery$data3","_tpvQuery$data3$tpv","CompareArrowsIcon","AdminTPVConf","_tpvConfigurationQuer3","_tpvConfigurationQuer4","_tpvConfigurationQuer5","_tpvConfigurationQuer6","watchBank","tpvConfigurationQuery","_response$tpvConf$sc","redsysFuc","redsysIdTerminal","cecaMerchantId","cecaAcquirerBin","cecaTerminalId","stripeSecretKey","stripePublicKey","paycometApiKey","paycometTerminalId","keyPro","keyDev","_tpvConfigurationQuer","_tpvConfigurationQuer2","mutateTpvConfiguration","idTPV","tpvName","paymentIni","paymentEnd","tpvConfName","scShort","tpvRecords","_row$payment","_row$tpvConf","AdminUser","_userQuery$data18","_userQuery$data21","_userQuery$data21$use","_userQuery$data22","_userQuery$data22$use","_userQuery$data23","_userQuery$data23$use","setUserId","userQuery","_data$user2","_userQuery$data","_userQuery$data$user","_userQuery$data2","_userQuery$data2$user","_userQuery$data3","_userQuery$data3$user","_userQuery$data4","_userQuery$data4$user","_userQuery$data5","_userQuery$data5$user","_userQuery$data6","_userQuery$data6$user","_userQuery$data7","_userQuery$data7$user","_userQuery$data8","_userQuery$data8$user","_userQuery$data9","_userQuery$data9$user","_userQuery$data10","_userQuery$data10$use","_userQuery$data11","_userQuery$data11$use","_userQuery$data12","_userQuery$data12$use","_userQuery$data13","_userQuery$data13$use","_userQuery$data14","_userQuery$data14$use","_userQuery$data15","_userQuery$data15$use","_userQuery$data16","_userQuery$data16$use","_userQuery$data17","_userQuery$data17$use","comActive","_userQuery$data19","_userQuery$data19$use","_userQuery$data20","_userQuery$data20$use","AdminApiModelDetails","apiVersion","_data$apiModel","idVersion","mutateApiModel","AdminApiModelPropertyDialog","apiModelId","propertyValue","apiModelProperty","mutateProperty","AdminApiModelProperties","_data$apiModel$proper","_data$apiModel2","_data$apiModel2$prope","_data$apiModel2$prope2","_data$apiModel3","_data$apiModel3$prope","_data$apiModel4","_data$apiModel4$prope","AdminApiModel","_apiModelQuery$data","_apiModelQuery$data$a","_apiModelQuery$data2","_apiModelQuery$data2$","_apiModelQuery$data3","_apiModelQuery$data4","setApiModelId","apiModelQuery","AdminApiTriggerByScDialog","apiTriggerValue","apiTrigger","setApiTrigger","_apiTrigger$sc","_apiTrigger$coreTrigg","golfCard","GolfBookingCard","PersonIcon","GolfBookingCardDialog","formPaymentCard","hoverCard","CreditCardOutlinedIcon","AccountBalanceWalletOutlinedIcon","LocalAtmOutlinedIcon","userCard","DeleteOutlineOutlinedIcon","userAddCard","AddCircleOutlineOutlinedIcon","LocalShippingOutlinedIcon","RemoveOutlinedIcon","AddOutlinedIcon","smallRadioButton","bookingMockUpData3","golfCartAvailability","bookingsMockUpData","rootContainer","menuText","stepTitleContainer","stepTitleText","textContainer","logoStore","imageStepsContainer","imageSteps","imageLastStep","stepContainer","zoomedImage","buttonsContainer","useMigrationEndpointsService","createMigrationEndpointsWithSwagger","updateMigrationEndpoint","deleteMigrationEndpoint","MigrationEndpoint","migrationEndpoint","migrationEndpointsService","updateMigrationEndpointMutation","deleteMigrationEndpointMutation","activeProduction","activePreproduction","uploaded","DiscountEditDialog","discountService","useUpdateDiscount","useDeleteDiscount","useDiscountService","createScsDiscountMutation","updateDiscountMutation","deleteDiscountMutation","SttFullPageError","DialogContentText","AlertDialog","TPVUrlPurchase","purchasePayment","urlRedirection","getBackgroundColorByTpvConf","_tpv$tpvConf","CloseOutlinedIcon","DoneOutlineOutlinedIcon","_window$open","TpvTokenizedPaycometPurchase","ExitToAppOutlinedIcon","SttFoldingCubeSpinner","HomeChart","box","HomeCard","SttItemList","itemQueryCall","queryCallParameters","optionalItems","setOptionalItems","getItemsQuery","_response$rows","filteredItems","optionalItem","selectItem","DeviceSpaceDialog","setDeviceSpace","updateDeviceSpaceMutation","deleteDeviceSpaceMutation","createDeviceSpaceMutation","createDeviceSpaceDeviceMutation","deleteDeviceSpaceDeviceMutation","maximumCapacity","SCHome","protected","currentStep","setCurrentStep","imageZoom","setImageZoom","steps","imageStep1","imageStep2","imageStep3","imageStep4","imageStep5","imageStep6","imageStep7","containerSubtitle","ArrowForward","watchKeyword","setKeyword","latitude","longitude","accuracy","speed","geolocation","watcher","watchPosition","getCurrentPosition","clearWatch","usePosition","updateMeMutation","updateMeMutate","ctxUserId","SttSCCardList","SttActivityCardList","setLogin","setPassword","loginLoading","setLoginLoading","inProgress2FA","setInProgress2FA","setText2FA","twoFactorAuthMutation","processLoginSuccess","twoFactorCodeSent","SentimentSatisfiedAltIcon","twoFactorCode","resent2FACode","_cxt$config","_cxt$config2","registerStatus","setRegisterStatus","userLang","privacyChecked","setPrivacyChecked","olderThan14","setOlderThan14","langCode","currentLang","langKey","langOnChange","onLanguangeChange","HowToRegIcon","setEmail","acceptPrivacy","setAcceptPrivacy","acceptEmail","setAcceptEmail","confirmEmail","numSCs","VerifiedUserOutlined","commOn","ChatBubbleOutline","apis","setApis","versions","setVersions","setSelectedApi","setModels","openModel","setOpenModel","selectApi","auxCats","collectedTpv","_tpvQuery$data4$tpv","_tpvQuery$data5","_tpvQuery$data5$tpv","_tpvQuery$data6","_tpvQuery$data6$tpv","_tpvQuery$data7","_tpvQuery$data7$tpv","_tpvQuery$data8","_tpvQuery$data8$tpv","_tpvQuery$data8$tpv$s","_tpvQuery$data9","_tpvQuery$data9$tpv","_tpvQuery$data9$tpv$u","_tpvQuery$data10","_tpvQuery$data10$tpv","_tpvQuery$data11","_tpvQuery$data11$tpv","_tpvQuery$data11$tpv$","_tpvQuery$data12","_tpvQuery$data12$tpv","_tpvQuery$data12$tpv$","stripeUrlParameter","paymentSuccess","setPaymentSuccess","skeletonOff","setSkeletonOff","setRefetchInterval","refetchAttempts","setRefetchAttempts","_data$tpv","_data$tpv2","_data$tpv3","_data$tpv4","_data$tpv4$payment","paymentText","SttButtonTicket","downloadTicket","_tpvQuery$data$tpv$pa","_tpvQuery$data2$tpv$p","_activity$rates$filte","rateModalGoto","setRateModalGoto","rateModalSignup","setRateModalSignup","amSignedUp","setAmSignedUp","_response$activity$ra","$idStudent","myStudent","loadActivityFiles","ModalImage","_rate$signedUsers","idSc","getScsGroupsQuery","inFuture","onlyRoots","withoutChildren","_row$enrollmentShape","_row$feeShape","_sc$modules","formActivity","watchActivityKeyword","formEvent","watchEventKeyword","setIdSC","searchKeywordEvent","setSearchKeywordEvent","searchKeywordActivity","setSearchKeywordActivity","hasUserMship","_r$mship","activePrivileges","objects","getArrayWithOnlyValues","loadSC","hasPurse","_sc$logo$id","_sc$logo","_sc$city3","_sc$city3$country","isDipuSevilla","logoEUNextGen","logoGob","logoPlanRecuperacion","logoDipuSevilla","ContactSupportIcon","GolfCourseIcon","PostAdd","BallotOutlined","InsertDriveFileIcon","loadDocuments","PhoneIcon","EmailIcon","LiveHelpIcon","setBonos","filteredBonos","_bonos$rows","handleSearchClean","_bono$priceShape","_bono$priceShape2","openingDevice","setOpeningDevice","setCancelPrivilege","loadBooking","isFacilityWithCapacity","_payment$priceShape","_payment$priceShape2","_payment$priceShape3","statusLang","textStyle","LockOpen","resultFromDevice","openDevice","setInscriptions","setMe","eventCategories","setEventCategories","signedParticipants","setSignedParticipants","showSignedParticipants","loadEvent","_response$signedParti","_response$signedParti2","_bono$priceShape$curr","_bono$purchasePFs","_mship$amountShape$cu","_bono$purchasePFs2","getBonoQuery","getScMeQuery","getScTpvConfs","hasZitycard","normalizeDuration","expirationLang","typeLang","AccountBalanceWallet","CreditCard","Contactless","_group$enrollmentShap","_group$feeShape","groupService","getScTpvConfsQuery","userPayments","setUserPayments","debts","toggleDebts","loadUserPayments","paymentChosen","setPaymentChosen","UserPupils","scModules","setSCModules","ConfigurationPOS","capacitiesQuery","_row$devices","freeScheduleId","setFreeScheduleId","scsServices","SttLabelMonths","remittences","setRemittences","loadRemittences","paymentDialogId","setPaymentDialogId","setPaymentDate","_data$remittence","FlashOnIcon","setRemittence","setLines","openRemittenceLine","setOpenRemittenceLine","openUploadFile","setOpenUploadFile","fillBics","setFillBics","loadLines","loadRemittence","checkRemittence","fix","idRemittence","issueDate","saveRemittence","GetAppIcon","fillBICs","downloadCSVLines","newLines","idLines","CheckCircleOutlineIcon","BuildIcon","_row$payment$user","selectedLines","remittenceLineUpdated","remittenceLines","facilitySets","setFacilitySets","facilitySetIdAndName","setFacilitySetIdAndName","loadFacilitySets","facilityChosen","setFacilityChosen","SttChipSport","Facility","loadDevices","openKeysDialog","setOpenKeysDialog","openAuthorizations","setOpenAuthorizations","VpnKeyIcon","AssignmentInd","GroupIcon","setMshipId","creatingUserDialogOpen","setCreatingUserDialogOpen","urlQuery","_updatedFilters$group","_updatedFilters$city","age","busySchedules","setBusySchedules","busyScheduleId","setBusyScheduleId","loadBusySchedules","statusFilter","setStatusFilter","filterParams","_cxt$constants$module","preset","setPreset","setAdmins","setLoadingData","openQ60Dialog","setOpenQ60Dialog","setSelectedMship","newFilters","generateORGTFilesMutation","downloadURL","idCreator","idCollector","activitiesToDuplicate","setActivitiesToDuplicate","numClasses","_row$sport","activitySelected","SttChipGroup","rateChosen","setRateChosen","_row$groups","toggleOnTime","SttChipBono","numSold","numActive","numConsumptions","newBono","searchingString","selectedLine","setSelectedLine","openImportUsers","setOpenImportUsers","numErrors","numImported","getIconStatus","isImported","newLine","newFileCSV","presets","ALL","ONTIME","bookingSchedules","setBookingSchedules","loadBookingSchedules","bookingScheduleRes","pickedBookingSchedule","setRestrictions","loadRestrictions","SttChipRestrictionType","buildNumBookingsColumn","teacherIdAndName","setTeacherIdAndName","goCreateNew","openedNewMessage","setOpenedNewMessage","password2","setPassword2","twoFAEnabled","changeLanguage","is2FAEnabled","_reportsQuery$data","reportsQuery","reportItem","reportList","keyGroup","_reportGroups$keyGrou","goReport","reportPicked","tickets","setTickets","openedTicket","setOpenedTicket","loadTickets","setEvents","loadEvents","underConstruction","_golfCoursesQuery$dat","_golfCoursesQuery$dat2","selectedCourse","setSelectedCourse","golfCoursesQuery","course","_course$holes","selectedDiscount","setSelectedDiscount","isDiscountEditDialogOpen","setIsDiscountEditDialogOpen","_cxt$sc4$city","_cxt$sc4$city$country","_cxt$sc5$city","_cxt$sc5$city$country","stats","setStats","totalBookings","setTotalBookings","totalIncome","setTotalIncome","loadedStats","setLoadedStats","graphColors","bookingsByMonth","incomeByMonth","followersByMonth","bks","income","containsFinancialInfo","totalDebt","totalPurse","numFollowers","AttachMoneyIcon","SentimentVeryDissatisfiedIcon","LocalAtmIcon","SportsIcon","filteredFilters","subscriptionStatus","currentLicence","_row$currentLicence$p","generateFees","AdminSttZeroAccounts","AdminPlaytomicCenters","currentPage","_row$creator","tpvConfId","setTpvConfId","AdminTpvRecords","AdminTpvRecordsBySc","AdminRentals","AdminRentalsPerDay","AdminRentalsRatioPerYear","AdminRentalsRatioByCenter","AdminEvents","AdminActivitiesRegistrationsRatioByCenter","AdminActivitiesEnrrollmentIncreasesPerYear","AdminSports","AdminNotificationsTypes","AdminSmss","AdminEmails","AdminPushNotifications","changeTranslation","translationType","app","FileCopy","setApiLog","loads","setLoads","isFatalError","_row$coreTrigger","_row$coreTrigger2","_row$coreTrigger3","_row$sc2","setTriggerExecution","executionRunParams","setExecutionRunParams","triggersExecutionDialog","setTriggerExecutionDialog","_row$coreTriggerSC","_row$coreTriggerSC$sc","_row$coreTriggerSC2","_row$coreTriggerSC2$c","_row$coreTriggerSC3","_row$coreTriggerSC3$c","_row$request","_row$answer","_row$mship","_row$purse","currentEndpoint","setCurrentEndpoint","SystemUpdateAltIcon","processedFilters","swagger","mutateTPVConfirmationFix","idPath","pathObj","finalPath","Á","Ă","Ắ","Ặ","Ằ","Ẳ","Ẵ","Ǎ","Â","Ấ","Ậ","Ầ","Ẩ","Ẫ","Ä","Ǟ","Ȧ","Ǡ","Ạ","Ȁ","À","Ả","Ȃ","Ā","Ą","Å","Ǻ","Ḁ","Ⱥ","Ã","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ḃ","Ḅ","Ɓ","Ḇ","Ƀ","Ƃ","Ć","Č","Ç","Ḉ","Ĉ","Ċ","Ƈ","Ȼ","Ď","Ḑ","Ḓ","Ḋ","Ḍ","Ɗ","Ḏ","Dz","Dž","Đ","Ƌ","DZ","DŽ","É","Ĕ","Ě","Ȩ","Ḝ","Ê","Ế","Ệ","Ề","Ể","Ễ","Ḙ","Ë","Ė","Ẹ","Ȅ","È","Ẻ","Ȇ","Ē","Ḗ","Ḕ","Ę","Ɇ","Ẽ","Ḛ","Ꝫ","Ḟ","Ƒ","Ǵ","Ğ","Ǧ","Ģ","Ĝ","Ġ","Ɠ","Ḡ","Ǥ","Ḫ","Ȟ","Ḩ","Ĥ","Ⱨ","Ḧ","Ḣ","Ḥ","Ħ","Í","Ĭ","Ǐ","Î","Ï","Ḯ","İ","Ị","Ȉ","Ì","Ỉ","Ȋ","Ī","Į","Ɨ","Ĩ","Ḭ","Ꝺ","Ꝼ","Ᵹ","Ꞃ","Ꞅ","Ꞇ","Ꝭ","Ĵ","Ɉ","Ḱ","Ǩ","Ķ","Ⱪ","Ꝃ","Ḳ","Ƙ","Ḵ","Ꝁ","Ꝅ","Ĺ","Ƚ","Ľ","Ļ","Ḽ","Ḷ","Ḹ","Ⱡ","Ꝉ","Ḻ","Ŀ","Ɫ","Lj","Ł","LJ","Ḿ","Ṁ","Ṃ","Ɱ","Ń","Ň","Ņ","Ṋ","Ṅ","Ṇ","Ǹ","Ɲ","Ṉ","Ƞ","Nj","Ñ","NJ","Ó","Ŏ","Ǒ","Ô","Ố","Ộ","Ồ","Ổ","Ỗ","Ö","Ȫ","Ȯ","Ȱ","Ọ","Ő","Ȍ","Ò","Ỏ","Ơ","Ớ","Ợ","Ờ","Ở","Ỡ","Ȏ","Ꝋ","Ꝍ","Ō","Ṓ","Ṑ","Ɵ","Ǫ","Ǭ","Ø","Ǿ","Õ","Ṍ","Ṏ","Ȭ","Ƣ","Ꝏ","Ɛ","Ɔ","Ȣ","Ṕ","Ṗ","Ꝓ","Ƥ","Ꝕ","Ᵽ","Ꝑ","Ꝙ","Ꝗ","Ŕ","Ř","Ŗ","Ṙ","Ṛ","Ṝ","Ȑ","Ȓ","Ṟ","Ɍ","Ɽ","Ꜿ","Ǝ","Ś","Ṥ","Š","Ṧ","Ş","Ŝ","Ș","Ṡ","Ṣ","Ṩ","Ť","Ţ","Ṱ","Ț","Ⱦ","Ṫ","Ṭ","Ƭ","Ṯ","Ʈ","Ŧ","Ɐ","Ꞁ","Ɯ","Ʌ","Ꜩ","Ú","Ŭ","Ǔ","Û","Ṷ","Ü","Ǘ","Ǚ","Ǜ","Ǖ","Ṳ","Ụ","Ű","Ȕ","Ù","Ủ","Ư","Ứ","Ự","Ừ","Ử","Ữ","Ȗ","Ū","Ṻ","Ų","Ů","Ũ","Ṹ","Ṵ","Ꝟ","Ṿ","Ʋ","Ṽ","Ꝡ","Ẃ","Ŵ","Ẅ","Ẇ","Ẉ","Ẁ","Ⱳ","Ẍ","Ẋ","Ý","Ŷ","Ÿ","Ẏ","Ỵ","Ỳ","Ƴ","Ỷ","Ỿ","Ȳ","Ɏ","Ỹ","Ź","Ž","Ẑ","Ⱬ","Ż","Ẓ","Ȥ","Ẕ","Ƶ","IJ","Œ","ᴀ","ᴁ","ʙ","ᴃ","ᴄ","ᴅ","ᴇ","ꜰ","ɢ","ʛ","ʜ","ɪ","ʁ","ᴊ","ᴋ","ʟ","ᴌ","ᴍ","ɴ","ᴏ","ɶ","ᴐ","ᴕ","ᴘ","ʀ","ᴎ","ᴙ","ꜱ","ᴛ","ⱻ","ᴚ","ᴜ","ᴠ","ᴡ","ʏ","ᴢ","á","ă","ắ","ặ","ằ","ẳ","ẵ","ǎ","â","ấ","ậ","ầ","ẩ","ẫ","ä","ǟ","ȧ","ǡ","ạ","ȁ","à","ả","ȃ","ā","ą","ᶏ","ẚ","å","ǻ","ḁ","ⱥ","ã","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ḃ","ḅ","ɓ","ḇ","ᵬ","ᶀ","ƀ","ƃ","ɵ","ć","č","ç","ḉ","ĉ","ɕ","ċ","ƈ","ȼ","ď","ḑ","ḓ","ȡ","ḋ","ḍ","ɗ","ᶑ","ḏ","ᵭ","ᶁ","đ","ɖ","ƌ","ı","ȷ","ɟ","ʄ","dz","dž","é","ĕ","ě","ȩ","ḝ","ê","ế","ệ","ề","ể","ễ","ḙ","ë","ė","ẹ","ȅ","è","ẻ","ȇ","ē","ḗ","ḕ","ⱸ","ę","ᶒ","ɇ","ẽ","ḛ","ꝫ","ḟ","ƒ","ᵮ","ᶂ","ǵ","ğ","ǧ","ģ","ĝ","ġ","ɠ","ḡ","ᶃ","ǥ","ḫ","ȟ","ḩ","ĥ","ⱨ","ḧ","ḣ","ḥ","ɦ","ẖ","ħ","ƕ","í","ĭ","ǐ","î","ï","ḯ","ị","ȉ","ì","ỉ","ȋ","ī","į","ᶖ","ɨ","ĩ","ḭ","ꝺ","ꝼ","ᵹ","ꞃ","ꞅ","ꞇ","ꝭ","ǰ","ĵ","ʝ","ɉ","ḱ","ǩ","ķ","ⱪ","ꝃ","ḳ","ƙ","ḵ","ᶄ","ꝁ","ꝅ","ĺ","ƚ","ɬ","ľ","ļ","ḽ","ȴ","ḷ","ḹ","ⱡ","ꝉ","ḻ","ŀ","ɫ","ᶅ","ɭ","ł","lj","ſ","ẜ","ẛ","ẝ","ḿ","ṁ","ṃ","ɱ","ᵯ","ᶆ","ń","ň","ņ","ṋ","ȵ","ṅ","ṇ","ǹ","ɲ","ṉ","ƞ","ᵰ","ᶇ","ɳ","ñ","nj","ó","ŏ","ǒ","ô","ố","ộ","ồ","ổ","ỗ","ö","ȫ","ȯ","ȱ","ọ","ő","ȍ","ò","ỏ","ơ","ớ","ợ","ờ","ở","ỡ","ȏ","ꝋ","ꝍ","ⱺ","ō","ṓ","ṑ","ǫ","ǭ","ø","ǿ","õ","ṍ","ṏ","ȭ","ƣ","ꝏ","ɛ","ᶓ","ɔ","ᶗ","ȣ","ṕ","ṗ","ꝓ","ƥ","ᵱ","ᶈ","ꝕ","ᵽ","ꝑ","ꝙ","ʠ","ɋ","ꝗ","ŕ","ř","ŗ","ṙ","ṛ","ṝ","ȑ","ɾ","ᵳ","ȓ","ṟ","ɼ","ᵲ","ᶉ","ɍ","ɽ","ↄ","ꜿ","ɘ","ɿ","ś","ṥ","š","ṧ","ş","ŝ","ș","ṡ","ṣ","ṩ","ʂ","ᵴ","ᶊ","ȿ","ɡ","ᴑ","ᴓ","ᴝ","ť","ţ","ṱ","ț","ȶ","ẗ","ⱦ","ṫ","ṭ","ƭ","ṯ","ᵵ","ƫ","ʈ","ŧ","ᵺ","ɐ","ᴂ","ǝ","ᵷ","ɥ","ʮ","ʯ","ᴉ","ʞ","ꞁ","ɯ","ɰ","ᴔ","ɹ","ɻ","ɺ","ⱹ","ʇ","ʌ","ʍ","ʎ","ꜩ","ú","ŭ","ǔ","û","ṷ","ü","ǘ","ǚ","ǜ","ǖ","ṳ","ụ","ű","ȕ","ù","ủ","ư","ứ","ự","ừ","ử","ữ","ȗ","ū","ṻ","ų","ᶙ","ů","ũ","ṹ","ṵ","ᵫ","ꝸ","ⱴ","ꝟ","ṿ","ʋ","ᶌ","ⱱ","ṽ","ꝡ","ẃ","ŵ","ẅ","ẇ","ẉ","ẁ","ⱳ","ẘ","ẍ","ẋ","ᶍ","ý","ŷ","ÿ","ẏ","ỵ","ỳ","ƴ","ỷ","ỿ","ȳ","ẙ","ɏ","ỹ","ź","ž","ẑ","ʑ","ⱬ","ż","ẓ","ȥ","ẕ","ᵶ","ᶎ","ʐ","ƶ","ɀ","ff","ffi","ffl","fi","fl","ij","œ","st","ₐ","ₑ","ᵢ","ⱼ","ₒ","ᵣ","ᵤ","ᵥ","ₓ","translationFunc","scheduleLabel","myOptions","dateIni","dateEnd","timeIni","timeEnd","timeString","dateString","timetableLabel","newArray","foundElementIndex","myFields","userObj","_userObj$fullName","_userObj$mship","_userObj$mship2","_userObj$mship3","_userObj$mship4","extractorFunc","queryStringLib","newObject","Connection","filteredParams","latinizeCharacters","leftKey","_val$priceShape","_val$priceShape2","_cxt$sc6","_cxt$sc6$city","_cxt$sc6$city$country","onPageChangeLocally","areEqual","sameIds","feePending","feePaid","feeEmpty","showMore","setShowMore","showFees","seeMoreLink","_fee$id","_fee$priceShape","_fee$priceShape2","generateFee","feeslot","_response$fees","buttonMenuElm","setButtonMenuElm","SttTimetablePiece","_piece$capacity","_piece$bookings$","onOpenPiece","capacityClass","setCapacityClass","percentagePaid","SttTimetableColumn","_col$facility","_col$facility2","captionEnd","checkingEnabled","convert","setVal","displayVal","setDisplayVal","valueChanged","setValueChanged","applyChange","showPassword","setShowPassword","Visibility","VisibilityOff","mIni","mEnd","SttLabelDeleted","_payment$priceShape4","openPaymentId","setOpenPaymentId","anchorRef","_anchorRef$current","toggle","ArrowDropDown","calendarOpen","setCalendarOpen","TodayIcon","SttCalendarDialog","contract","SttButtonYears","onSelectYear","currentRadius","yearsArray","generateYears","RefreshIcon","showingUnlockerId","setShowingUnlockerId","uk","onCreated","idxToDelete","RENTING","TOURNAMENT","EVENT","GAME","CLASS","SALE_POINT","ABONADOS","PAID","Done","NOT_PAID","Clear","REFUNDED","PAYING","Timer","CREATING","Create","ERROR","_theme$status","selectedTheme","DEPOSIT","RENT","PAYMENT","BUY","RACE","HANGOUT","SPORT","FAMILY","iconStyle","SupervisedUserCircle","fileFormat","setFileFormat","fileType","setFileType","COMPLETE","SINGLE","restType","setRestType","SportPickModal","modalVisible","setModalVisible","_getGroupsQuery$data","getGroupsQuery","setUnlocker","loadUnlocker","security","calendarHeader","setCalendar","createCalendar","momentDate","numDaysOfMonth","firstDayMonth","cal","currentCell","currentDay","cap","raius","CalendarHeaderCell","numWeek","cell","CalendarCell","clickOnCell","isImage","VisibilityIcon","seeFileCSV","downloadCSV","delFile","saveFile","activePaymentForms","setActivePaymentForms","auxPFs","cachedSports","OPTIONS","usedOptions","thisYear","setItems","textField","reducedVal","_pay$priceShape","_pay$priceShape2","feesValues","setFeesValues","feeIndex","newFees","isDefaultOnSC","selectingPrivilegeOpen","setSelectingPrivilegeOpen","allPrivileges","setAllPrivileges","e2","selectPrivilege","_booking$totalBillSha","_booking$totalBillSha2","_facilityQuery$data","_facilityQuery$data2","facilityQuery","selectingFacilityOpen","setSelectingFacilityOpen","selectingPriceOpen","setSelectingPriceOpen","allPrices","setAllPrices","_price$priceShape$cur","selectPrice","numBusies","selectingSCAdminOpen","setSelectingSCAdminOpen","allSCAdmins","setAllSCAdmins","selectSCAdmin","paymentFormClass","priceText","_participant$enrollme2","_participant$enrollme3","_participant$enrollme4","Star","SttSCCard","_sc$mship","_sc$mship2","_sc$mship2$amountShap","_sc$mship3","_sc$mship3$amountShap","updateFollowMutation","updateUnfollowMutation","logoUrl","_sc$logo2","purseMoney","SttButtonFollow","isFollowing","following","onToggleFollowing","_data$pages$$scs","_lastPage$scs","_lastPage$scs2","_lastPage$scs3","scKey","SttActivityCard","_activity$priceShape","_activity$priceShape2","_data$pages$$activiti","_lastPage$activities","_lastPage$activities2","_lastPage$activities3","activityKey","FavoriteIcon","FavoriteBorderIcon","accessTypes","UserAccessPopup","mshipOpen","setMshipOpen","accessTypeString","_access$booking$field","_access$booking2","_access$booking3","_access$group","_access$activity","_access$activity2","_access$activity3","_access$bono","_access$bono2","_access$bono3","_message$mship$img","_message$mship2","_message$mship2$img","_message$mship4","_message$device","_message$mship3","setTranslateValue","fakeTransform","transformValues","getTranslateValue","childrenRef","handleRefIntermediary","oppositeDirection","isHorizontal","getAnchor","Drawer","_props$anchor","anchorProp","_props$ModalProps","ModalProps","BackdropPropsProp","_props$open","SlideProps","Slide","docked","slidingDrawer","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedTop","paperAnchorDockedRight","paperAnchorDockedBottom","_props$defer","_props$fallback","SwipeArea","nodeThatClaimedTheSwipe","calculateCurrentX","calculateCurrentY","getMaxTranslate","horizontalSwipe","paperInstance","getTranslate","currentTranslate","startLocation","maxTranslate","iOS","transitionDurationDefault","disableBackdropTransition","_props$disableDiscove","disableDiscovery","_props$disableSwipeTo","disableSwipeToOpen","_props$hysteresis","hysteresis","_props$minFlingVeloci","minFlingVelocity","ModalPropsProp","SwipeAreaProps","_props$swipeAreaWidth","swipeAreaWidth","maybeSwiping","setMaybeSwiping","swipeInstance","isSwiping","swipeAreaRef","backdropRef","touchDetected","calculatedDurationRef","_options$mode","_options$changeTransi","changeTransition","anchorRtl","rtlTranslateMultiplier","drawerStyle","backdropStyle","handleBodyTouchEnd","startX","startY","translateRatio","velocity","handleBodyTouchMove","currentX","currentY","nativeHandler","domTreeShapes","axisProperties","goingForward","scrollPosition","areNotAtStart","areNotAtEnd","findNativeHandler","rootNode","getDomTreeShapes","dx","dy","definitelySwiping","paperHit","lastTranslate","handleBodyTouchStart","muiHandled","handleBackdropRef","NoSsr","SCHeaderAvatar","SpeedIcon","HelpOutlineIcon","PowerSettingsNewIcon","LinkWrapper","getDeviceSpaceColor","percentageFilled","CapacityMonitorDialog","_devicesSpacesQuery$d","devicesSpacesQuery","toolbarIcon","fullAppBar","menuButton","drawerPaper","fixedDrawer","noFixedDrawer","sporttiaTitle","SCHeader","_cxt$sc7","openFixed","setOpenFixed","activeMenu","setActiveMenu","openedSalePoint","setOpenedSalePoint","openedCapacityMonitor","setOpenedCapacityMonitor","handleDrawerOpen","handleDrawerClose","newActiveMenu","getMenuIcon","ExpandLessIcon","ExpandMoreIcon","idx2","renderSubmenu","AccountBalanceIcon","EmojiEventsIcon","ListAltIcon","GolfIcon","_cxt$privileges3","sporttiaSVG","ChevronLeftIcon","MenuIcon","EuroIcon","AppsIcon","PeopleAltIcon","MailOutlineIcon","PublicIcon","SwipeableDrawer","AdminHeader","openDrawer","setOpenDrawer","ExitToAppIcon","UserHeaderAvatar","SupervisorAccountIcon","AppStoresLogos","UserHeaderTopBanner","VpnKey","EventNoteIcon","PublicHeader","AccountCircleIcon","setLocationRoute","UserHeader","LanguageSelector","selectLangage","FooterMenuItem","Footer","Page401","paddingTopContent","headerlessContent","fullScreenContainer","plainContent","matchRoutes","ProtectedRoute","routeRole","userRole","privilegedPathsToCheck","privilegedPaths","checkPrivilegesForPath","logoutTimeout","SporttiaContent","_cxt$user3","_cxt$user4","_cxt$user5","_cxt$user6","_cxt$user7","_cxt$user8","_cxt$user9","_cxt$user10","_cxt$user11","sessionExpired","setSessionExpired","routes","roleProps","routesNoHeader","routesNoFooter","routesFullScreen","interceptRouteMatchNoHeader","interceptRouteMatchNoFooter","interceptRouteMatchFullScreen","socketMessages","userAccessPopup","resetLogoutTimeout","handleMouseMove","App","charset","tawkScript","GlobalCSS","CssBaseline","initialIsOpen","ThemeProvider","serviceWorker","registration"],"sourceRoot":""}