{"version":3,"file":"f0307fdd97a7620f4f3d3c1569bb4d0ada176a2d-9c1e679827de3f97ef16.js","mappings":"mHAEA,IAAIA,EAAoB,SAA2BC,GAClD,OAID,SAAyBA,GACxB,QAASA,GAA0B,iBAAVA,CAC1B,CANQC,CAAgBD,KAQxB,SAAmBA,GAClB,IAAIE,EAAcC,OAAOC,UAAUC,SAASC,KAAKN,GAEjD,MAAuB,oBAAhBE,GACa,kBAAhBA,GAQL,SAAwBF,GACvB,OAAOA,EAAMO,WAAaC,CAC3B,CATKC,CAAeT,EACpB,CAbMU,CAAUV,EAChB,EAeA,IACIQ,EADiC,mBAAXG,QAAyBA,OAAOC,IAClBD,OAAOC,IAAI,iBAAmB,MAUtE,SAASC,EAA8Bb,EAAOc,GAC7C,OAA0B,IAAlBA,EAAQC,OAAmBD,EAAQf,kBAAkBC,GAC1DgB,GANiBC,EAMKjB,EALlBkB,MAAMC,QAAQF,GAAO,GAAK,CAAC,GAKDjB,EAAOc,GACrCd,EAPJ,IAAqBiB,CAQrB,CAEA,SAASG,EAAkBC,EAAQC,EAAQR,GAC1C,OAAOO,EAAOE,OAAOD,GAAQE,KAAI,SAASC,GACzC,OAAOZ,EAA8BY,EAASX,EAC/C,GACD,CAkBA,SAASY,EAAQL,GAChB,OAAOlB,OAAOwB,KAAKN,GAAQE,OAT5B,SAAyCF,GACxC,OAAOlB,OAAOyB,sBACXzB,OAAOyB,sBAAsBP,GAAQQ,QAAO,SAASC,GACtD,OAAO3B,OAAO4B,qBAAqBzB,KAAKe,EAAQS,EACjD,IACE,EACJ,CAGmCE,CAAgCX,GACnE,CAEA,SAASY,EAAmBC,EAAQC,GACnC,IACC,OAAOA,KAAYD,CACpB,CAAE,MAAME,GACP,OAAO,CACR,CACD,CASA,SAASC,EAAYhB,EAAQC,EAAQR,GACpC,IAAIwB,EAAc,CAAC,EAiBnB,OAhBIxB,EAAQf,kBAAkBsB,IAC7BK,EAAQL,GAAQkB,SAAQ,SAASC,GAChCF,EAAYE,GAAO3B,EAA8BQ,EAAOmB,GAAM1B,EAC/D,IAEDY,EAAQJ,GAAQiB,SAAQ,SAASC,IAblC,SAA0BnB,EAAQmB,GACjC,OAAOP,EAAmBZ,EAAQmB,MAC5BrC,OAAOsC,eAAenC,KAAKe,EAAQmB,IACpCrC,OAAO4B,qBAAqBzB,KAAKe,EAAQmB,GAC/C,EAUME,CAAiBrB,EAAQmB,KAIzBP,EAAmBZ,EAAQmB,IAAQ1B,EAAQf,kBAAkBuB,EAAOkB,IACvEF,EAAYE,GAhDf,SAA0BA,EAAK1B,GAC9B,IAAKA,EAAQ6B,YACZ,OAAO3B,EAER,IAAI2B,EAAc7B,EAAQ6B,YAAYH,GACtC,MAA8B,mBAAhBG,EAA6BA,EAAc3B,CAC1D,CA0CsB4B,CAAiBJ,EAAK1B,EAAtB8B,CAA+BvB,EAAOmB,GAAMlB,EAAOkB,GAAM1B,GAE5EwB,EAAYE,GAAO3B,EAA8BS,EAAOkB,GAAM1B,GAEhE,IACOwB,CACR,CAEA,SAAStB,EAAUK,EAAQC,EAAQR,IAClCA,EAAUA,GAAW,CAAC,GACd+B,WAAa/B,EAAQ+B,YAAczB,EAC3CN,EAAQf,kBAAoBe,EAAQf,mBAAqBA,EAGzDe,EAAQD,8BAAgCA,EAExC,IAAIiC,EAAgB5B,MAAMC,QAAQG,GAIlC,OAFgCwB,IADZ5B,MAAMC,QAAQE,GAKvByB,EACHhC,EAAQ+B,WAAWxB,EAAQC,EAAQR,GAEnCuB,EAAYhB,EAAQC,EAAQR,GAJ5BD,EAA8BS,EAAQR,EAM/C,CAEAE,EAAU+B,IAAM,SAAsBC,EAAOlC,GAC5C,IAAKI,MAAMC,QAAQ6B,GAClB,MAAM,IAAIC,MAAM,qCAGjB,OAAOD,EAAME,QAAO,SAASC,EAAMC,GAClC,OAAOpC,EAAUmC,EAAMC,EAAMtC,EAC9B,GAAG,CAAC,EACL,EAEA,IAAIuC,EAAcrC,EAElBsC,EAAOC,QAAUF,C,+FCjIjB,MAAMG,GAAUC,EAAAA,EAAAA,WAAS,yFAYZC,GAAYC,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,8BAAAC,YAAA,gBAAXJ,CAAW,8FAErBH,E,kVCdf,MAAMQ,GAAYP,EAAAA,EAAAA,WAAS,+NAkBrBQ,GAAmBR,EAAAA,EAAAA,WAAS,+LAkBrBS,GAAUP,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAXJ,CAAW,8HAGnBM,GAGTE,GAAYV,EAAAA,EAAAA,WAAS,iOAkBrBW,GAAmBX,EAAAA,EAAAA,WAAS,8LAkBrBY,GAAUV,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAXJ,CAAW,iJAInBS,IAGWT,EAAAA,EAAAA,SAAOW,EAAAA,GAAOT,WAAA,CAAAC,YAAA,qBAAAC,YAAA,gBAAdJ,CAAc,yHAElCO,EACaF,EAGbK,EACaF,GChBnB,I,4CC5CA,MAxBsBI,IAAmB,IAAlB,SAAEC,GAAUD,EACjC,MAAME,GAAOC,EAAAA,EAAAA,YAAWC,EAAAA,GAKxB,OAJAC,EAAAA,EAAAA,YAAU,KACK,UAATH,GAAkBD,GAAS,EAAM,GACpC,CAACC,EAAMD,IAGRK,EAAAA,cAACC,EAAAA,EAAa,CACZC,QAAQ,UACRC,IAAK,CAAEC,WAAY,SAAUC,SAAU,UAE7B,UAATT,GACCI,EAAAA,cAACjB,EAAAA,EAAG,CAACuB,MAAM,GACTN,EAAAA,cAACO,EAAAA,GAAU,CAACC,MAAM,gBAAgBC,GAAG,OAG/B,UAATb,GACCI,EAAAA,cAACjB,EAAAA,EAAG,KACFiB,EAAAA,cAACP,EAAAA,EAAM,CAACiB,KAAMV,EAAAA,cAACW,EAAAA,EAAI,MAAKC,QAASA,IAAMjB,GAAS,MAGtC,E,sBCVpB,MAhB0BD,IAAmC,IAAlC,SAAEmB,EAAQ,MAAEC,KAAUC,GAAMrB,EACrD,OACEM,EAAAA,cAACnB,EAAAA,EAASvD,OAAA0F,OAAA,CAACC,MAAM,QAAQC,MAAI,EAACC,UAAU,UAAaJ,GACnDf,EAAAA,cAACjB,EAAAA,EAAG,CAACkC,MAAM,SACTjB,EAAAA,cAACoB,EAAAA,EAAO,CACNC,MAAM,cACNC,MAAM,IACNC,OAAQ,CAAEC,OAAQ,QAASC,IAAK,SAE/BX,IAGJD,EACS,E,4CChBhB,MAAMa,GAAmB5C,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,2BAAAC,YAAA,eAAXJ,CAAW,mFAIrB6C,GAAWA,EAAMC,MAAQ,aAAe,SAIjDC,GAAc/C,EAAAA,EAAAA,SAAOgD,EAAAA,GAAM9C,WAAA,CAAAC,YAAA,sBAAAC,YAAA,eAAbJ,CAAa,qE,cC+EjC,MA1EeY,IAA+B,IAA9B,SAAEmB,EAAQ,WAAEkB,GAAYrC,EACtC,MAAME,GAAOC,EAAAA,EAAAA,YAAWC,EAAAA,GAClBkC,GAAWC,EAAAA,EAAAA,gBACX,KAAEC,IAASrC,EAAAA,EAAAA,YAAWsC,EAAAA,IACtB,EAACP,EAAM,EAACjC,IAAYyC,EAAAA,EAAAA,WAAS,GAE7BC,EAAoBC,EAAAA,SAAS3F,IAAIkE,GAAW0B,IAC5CC,EAAAA,EAAAA,gBAAeD,IACVE,EAAAA,EAAAA,cAAaF,EAAO,CAAE3C,SAGxB2C,IAGT,OACEvC,EAAAA,cAAC0B,EAAgB,CACfK,WAAY,CACVW,MAAM,OAAQX,EAAU,IACxBnC,KAAM,OACN+C,SAAU,cAEZzC,QAAQ,UACR0B,MAAOA,GAEP5B,EAAAA,cAACjB,EAAAA,EAAG,KACDiD,EAASY,SAASC,SAAS,eAA0B,UAATjD,EAC3CI,EAAAA,cAAC8C,EAAAA,GAAY,CAACZ,KAAMA,IAEpBlC,EAAAA,cAAC+C,EAAe,CAACpD,SAAUA,IAG7BK,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,OACZa,EAASY,SAASC,SAAS,eAA0B,UAATjD,GAC3CI,EAAAA,cAACjB,EAAAA,EAAG,CAACwC,OAAQ,CAAEE,IAAK,SAAUuB,KAAM,UAClChD,EAAAA,cAACiD,EAAO,CAACf,KAAMA,KAGnBlC,EAAAA,cAACjB,EAAAA,EAAG,CACFkC,MAAgB,UAATrB,EAAmB,QAAU,SACpCsB,KAAK,aACLC,UAAU,SACVhB,IAAI,UAEHkC,KAINT,GACC5B,EAAAA,cAAC6B,EAAW,KACV7B,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAK,CAAEsB,IAAK,SAAUyB,MAAO,UAChClD,EAAAA,cAACjB,EAAAA,EAAG,CACFoC,UAAU,MACVF,MAAM,SACNf,QAAQ,MACRqB,OAAQ,CAAEC,OAAQ,WAElBxB,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,WAAU,SACtBrB,EAAAA,cAACP,EAAAA,EAAM,CAACiB,KAAMV,EAAAA,cAACoD,EAAAA,EAAK,MAAKxC,QAASA,IAAMjB,GAAS,MAEnDK,EAAAA,cAACjB,EAAAA,EAAG,CAACkC,MAAM,QAAQoC,IAAI,QAAQlD,IAAI,UACjCH,EAAAA,cAACiD,EAAO,CAACf,KAAMA,OAKN,E,4CCxEvB,MAAMoB,EAAcA,CAACC,EAAQC,IACvBD,GACAC,EADe,QAEZ,2BAGHC,GAAgB3E,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,eAAXJ,CAAW,gEAQ3B4E,GAAmB5E,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,4BAAAC,YAAA,eAAXJ,CAAW,gBAI9B6E,EAAYjE,IAA+B,IAA9B,OAAE6D,EAAM,GAAE9C,EAAE,SAAEI,GAAUnB,EACzC,MAAM,EAAC8D,EAAM,EAACI,IAAYxB,EAAAA,EAAAA,WAAS,GAEnC,OACEpC,EAAAA,cAACP,EAAAA,EAAM,CACLoE,OAAK,EACLjD,QAASA,MACPkD,EAAAA,EAAAA,UAASrD,EAAG,EAEdsD,YAAaA,IAAMH,GAAS,GAC5BI,QAASA,IAAMJ,GAAS,GACxBK,WAAYA,IAAML,GAAS,GAC3BM,OAAQA,IAAMN,GAAS,IAEvB5D,EAAAA,cAACoB,EAAAA,EAAO,CAACG,OAAO,OAAO3B,KAAK,QAAQyB,MAAOiC,EAAYC,EAAQC,IAC5D3C,GAEI,EAyLb,MA/KgBsD,IAAe,IAADC,EAAAC,EAAA,IAAb,KAAEnC,GAAMiC,EACvB,MAAMvE,GAAOC,EAAAA,EAAAA,YAAWC,EAAAA,GAClBkC,GAAWC,EAAAA,EAAAA,eACXqC,EAAYpC,SAAc,QAAVkC,EAAJlC,EAAMqC,gBAAQ,IAAAH,OAAV,EAAJA,EAAgBI,MAC5BC,EAAavC,SAAgB,QAAZmC,EAAJnC,EAAMuC,kBAAU,IAAAJ,OAAZ,EAAJA,EAAkBG,MAE/BE,EAAsBC,IAAiB,IAAhB,OAAEC,GAAQD,EACrC,MAAME,EAAaP,EAAUtH,QAAO,CAACuH,EAAUO,IAAUA,EAAQ,GAAM,IACjEC,EAAcT,EAAUtH,QAAO,CAACuH,EAAUO,IAAUA,EAAQ,IAGlE,OAFmC,SAAXF,EAAoBC,EAAaE,GAElCpI,KAAI,CAAC4H,EAAUO,KACpC,MAAM,KAAEE,GAAST,EAASU,KAAKC,QACzB,MAAEpE,GAAUyD,EAASU,KAAKE,YAEhC,OACEnF,EAAAA,cAACO,EAAAA,GAAU,CACT5C,IAAKmH,EACLtE,MAAOM,EACPL,GAAE,YAAcuE,EAChBI,UAAU,QACVlE,KAAK,cACL,GAEJ,EAGEmE,EAAwBC,IAAiB,IAAhB,OAAEV,GAAQU,EACvC,MAAMT,EAAaJ,EAAWzH,QAAO,CAACuI,EAAIT,IAAUA,EAAQ,GAAM,IAC5DC,EAAcN,EAAWzH,QAAO,CAACuI,EAAIT,IAAUA,EAAQ,IAG7D,OAF4B,SAAXF,EAAoBC,EAAaE,GAElCpI,KAAI,CAAC4I,EAAIT,KACvB,MAAM,KAAEE,GAASO,EAAGN,KAAKC,OACnBM,EAAIR,EAAKS,eACT,MAAE3E,GAAUyE,EAAGN,KAAKE,YAE1B,OACEnF,EAAAA,cAACO,EAAAA,GAAU,CACT5C,IAAKmH,EACLtE,MAAOM,EACPL,GAAE,YAAc+E,EAAC,OACjBJ,UAAU,QACVlE,KAAK,cACL,GAEJ,EAEJ,OACElB,EAAAA,cAAC0D,EAAgB,CAACzC,MAAM,QAAQoC,IAAI,SAASqC,MAAO,CAAEC,IAAK,UACzD3F,EAAAA,cAAC2D,EAAS,CAACJ,OAA8B,eAAtBvB,EAASY,SAA2BnC,GAAG,cAAa,cAGvET,EAAAA,cAAC2D,EAAS,CACRJ,OAA8B,yBAAtBvB,EAASY,SACjBnC,GAAG,wBACJ,aAGDT,EAAAA,cAAC2D,EAAS,CACRJ,OAA8B,0BAAtBvB,EAASY,SACjBnC,GAAG,yBACJ,cASDT,EAAAA,cAAC2D,EAAS,CACRJ,OAA8B,iCAAtBvB,EAASY,SACjBnC,GAAG,wBACJ,WAGDT,EAAAA,cAAC2D,EAAS,CACRJ,OACwB,sBAAtBvB,EAASY,UACa,4BAAtBZ,EAASY,UACa,0BAAtBZ,EAASY,SAEXnC,GAAG,qBACJ,UAGS,UAATb,GACCI,EAAAA,cAACjB,EAAAA,EAAG,CAAC6G,OAAO,OACV5F,EAAAA,cAAC6F,EAAAA,EAAU,CACTrF,MAAM,aACNS,MAAM,QACN6E,UAAW,CAAErE,IAAK,SAAUuB,KAAM,QAClCtC,KAAMV,EAAAA,cAAC+F,EAAAA,EAAQ,MACfC,SAAO,EACPC,YACEjG,EAAAA,cAACyD,EAAa,KACZzD,EAAAA,cAACO,EAAAA,GAAU,CACT5C,IAAI,KACJ6C,MAAM,kBACNC,GAAG,cACHyF,MAAO,CAAEA,MAAO,CAAEC,yBAAyB,IAC3Cf,UAAU,QACVlE,KAAK,eAEPlB,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,OACbnB,EAAAA,cAACyD,EAAa,KACZzD,EAAAA,cAACqF,EAAqB,CAACT,OAAO,UAEhC5E,EAAAA,cAACyD,EAAa,KACZzD,EAAAA,cAACqF,EAAqB,CAACT,OAAO,eAMxC5E,EAAAA,cAAC6F,EAAAA,EAAU,CACTrF,MAAM,gBACNsF,UAAW,CAAErE,IAAK,SAAUuB,KAAM,QAClCtC,KAAMV,EAAAA,cAAC+F,EAAAA,EAAQ,MACfC,SAAO,EACPC,YACEjG,EAAAA,cAACyD,EAAa,KACZzD,EAAAA,cAACO,EAAAA,GAAU,CACT5C,IAAI,KACJ6C,MAAM,mBACNC,GAAG,aACHyF,MAAO,CAAEA,MAAO,CAAEC,yBAAyB,IAC3Cf,UAAU,QACVlE,KAAK,eAEPlB,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,OACbnB,EAAAA,cAACyD,EAAa,KACZzD,EAAAA,cAAC0E,EAAmB,CAACE,OAAO,UAE9B5E,EAAAA,cAACyD,EAAa,KACZzD,EAAAA,cAAC0E,EAAmB,CAACE,OAAO,eAMtC5E,EAAAA,cAACO,EAAAA,GAAU,CAACU,MAAM,QAAQtD,IAAI,KAAK6C,MAAM,YAAYC,GAAG,UACxDT,EAAAA,cAACO,EAAAA,GAAU,CAACU,MAAM,QAAQtD,IAAI,KAAK6C,MAAM,SAASC,GAAG,YACrDT,EAAAA,cAACO,EAAAA,GAAU,CAACU,MAAM,QAAQtD,IAAI,KAAK6C,MAAM,WAAWC,GAAG,aACvDT,EAAAA,cAACO,EAAAA,GAAU,CACTU,MAAM,QACNtD,IAAI,KACJ6C,MAAM,QACNC,GAAG,QACHyF,MAAO,CAAEA,MAAO,CAAEE,qBAAqB,MAEzCpG,EAAAA,cAACO,EAAAA,GAAU,CACTU,MAAM,QACNtD,IAAI,KACJ6C,MAAM,YACNC,GAAG,eAELT,EAAAA,cAACO,EAAAA,GAAU,CACTU,MAAM,QACNR,GAAG,UACHC,KAAMV,EAAAA,cAACqG,EAAAA,EAAM,MACb7F,MAAM,SACNwF,SAAO,KAII,E,sBC1NvB,MAAMM,GAAU1H,EAAAA,EAAAA,WAAS,yFAYnB2H,GAAczH,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,sBAAAC,YAAA,eAAXJ,CAAW,mKAEhBwH,GAUTE,GAAa1H,EAAAA,EAAAA,SAAO2H,EAAAA,GAAKzH,WAAA,CAAAC,YAAA,qBAAAC,YAAA,eAAZJ,CAAY,yLAazB4H,GAAgB5H,EAAAA,EAAAA,SAAOC,EAAAA,GAAIC,WAAA,CAAAC,YAAA,wBAAAC,YAAA,eAAXJ,CAAW,2CClC3B6H,EAAOjH,IAA8C,IAA7C,WAAEqC,EAAU,SAAElB,EAAQ,KAAEjB,KAASmB,GAAMrB,EACnD,OACEM,EAAAA,cAACjB,EAAAA,EAAGzD,OAAA0F,OAAA,CACF4F,OAAiB,UAAThH,EAAmB,QAAU,QACrCwF,UAAU,SACNrE,GAEHF,EACG,EAIV8F,EAAKE,aAAe,CAClB9E,WAAY,mBASd,MAAM+E,EAAQ3C,IAAwC,IAAvC,WAAEpC,EAAU,SAAElB,KAAaE,GAAMoD,EAC9C,OACEnE,EAAAA,cAACjB,EAAAA,EAAGzD,OAAA0F,OAAA,CAACe,WAAYA,EAAYgF,MAAM,UAAahG,EAAI,CAAE6F,OAAO,UAC1D/F,EACG,EAIViG,EAAMD,aAAe,CACnB9E,WAAY,mBA4Gd,MApGa4C,IAcN,IAdO,IACZqC,EAAG,WACHjF,EAAU,KACVkF,EAAI,MACJvE,EAAK,MACL5B,EAAK,MACLN,EAAK,KACL0G,EAAI,KACJC,EAAI,OACJ5F,EAAM,KACN6F,EAAI,KACJxH,EAAI,IACJyH,EAAG,gBACHC,GACD3C,EACC,OACE3E,EAAAA,cAACuG,EAAW,CACVhF,OAAQA,EACRpB,IAAKuC,EAAQ,OAAS,QACtBX,WAAYA,EACZgF,MAAM,SACNQ,SAAS,UAER7E,GACC1C,EAAAA,cAAC8G,EAAK,CAAC/E,WAAYuF,GACjBtH,EAAAA,cAACwH,EAAAA,EAAY,CAACC,IAAK/E,EAAOsE,IAAKA,EAAKK,IAAKA,KAG5CF,GACCnH,EAAAA,cAAC2G,EAAI,KACH3G,EAAAA,cAACwH,EAAAA,EAAY,CAACC,IAAKN,EAAMH,IAAKA,EAAKK,IAAI,aAG3CrH,EAAAA,cAACjB,EAAAA,EAAG,CACFoB,IACEuC,EAAQ,CAAEjB,IAAK,OAAQD,OAAQ,QAASpB,WAAY,SAAY,QAGlEJ,EAAAA,cAACjB,EAAAA,EAAG,KACFiB,EAAAA,cAACoB,EAAAA,EAAO,CACNG,OAAQ,CAAEE,IAAK,SAAUD,OAAQ,SACjCF,MAAgB,UAAT1B,EAAmB,EAAI,EAC9ByB,MAAM,eAELP,GAEHd,EAAAA,cAACmD,EAAAA,EAAI,CACH9B,MAAM,cACNzB,KAAe,UAATA,EAAmB,QAAU,UAElCqH,IAGLjH,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAK,CAAEsB,IAAK,UAAYN,UAAU,OACpCiG,EACCpH,EAAAA,cAAC0H,EAAAA,KAAI,CAACjH,GAAI2G,GACRpH,EAAAA,cAACP,EAAAA,EAAM,CACLe,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,eAAeb,IAG/BmH,WAAS,KAIb3H,EAAAA,cAACP,EAAAA,EAAM,CACLe,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,eAAeb,IAG/BoH,KAAMV,EACN1K,OAAO,SACPqL,IAAI,sBACJF,WAAS,MAKL,ECrGlB,MApBiBjI,IAAkC,IAAjC,SAAEmB,EAAQ,KAAEjB,KAASmB,GAAMrB,EAC3C,MAAM2C,EAAoBC,EAAAA,SAAS3F,IAAIkE,GAAW0B,IAC5CC,EAAAA,EAAAA,gBAAeD,IACVE,EAAAA,EAAAA,cAAaF,EAAO,CAAE3C,SAGxB2C,IAET,OACEvC,EAAAA,cAACwG,EAAUlL,OAAA0F,OAAA,CAACqC,IAAI,SAAYtC,GACzBsB,EACU,E,0FCfjB,SAASyF,KAAiS,OAApRA,GAAWxM,OAAO0F,OAAS1F,OAAO0F,OAAO+G,OAAS,SAAUvL,GAAU,IAAK,IAAIwL,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvL,EAASwL,UAAUD,GAAI,IAAK,IAAIrK,KAAOlB,EAAcnB,OAAOC,UAAUqC,eAAenC,KAAKgB,EAAQkB,KAAQnB,EAAOmB,GAAOlB,EAAOkB,GAAU,CAAE,OAAOnB,CAAQ,EAAUsL,GAASK,MAAMC,KAAMH,UAAY,CAGlV,IAAII,IAAiC,IAAAC,aAAW,SAAU3G,EAAO4G,GAC/D,OAAoB,gBAAoBC,GAAA,EAAYV,GAAS,CAC3DS,IAAKA,EACLE,QAAS,YACTC,UAAW,qBACV/G,GAAqB,gBAAoB,OAAQ,CAClDT,KAAM,OACNyH,OAAQ,OACRC,YAAa,IACbC,EAAG,2FAEP,IACAR,GAAkBpJ,YAAc,oB,4BCfhC,SAAS,KAAiS,OAApR,GAAW3D,OAAO0F,OAAS1F,OAAO0F,OAAO+G,OAAS,SAAUvL,GAAU,IAAK,IAAIwL,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvL,EAASwL,UAAUD,GAAI,IAAK,IAAIrK,KAAOlB,EAAcnB,OAAOC,UAAUqC,eAAenC,KAAKgB,EAAQkB,KAAQnB,EAAOmB,GAAOlB,EAAOkB,GAAU,CAAE,OAAOnB,CAAQ,EAAU,GAAS2L,MAAMC,KAAMH,UAAY,CAGlV,IAAIa,IAA2B,IAAAR,aAAW,SAAU3G,EAAO4G,GACzD,OAAoB,gBAAoBC,GAAA,EAAY,GAAS,CAC3DD,IAAKA,EACLE,QAAS,YACTC,UAAW,eACV/G,GAAqB,gBAAoB,OAAQ,CAClDT,KAAM,OACNyH,OAAQ,OACRC,YAAa,IACbC,EAAG,4HAEP,IACAC,GAAY7J,YAAc,c,oDC2C1B,OArDcS,IAA+B,IAA9B,WAAEqJ,EAAU,SAAEC,GAAUtJ,EACrC,MAAM,EAACuJ,EAAQ,EAACC,IAAc9G,EAAAA,EAAAA,UAAS,uCACjC,OAAE+G,GAAWC,OAAOpH,SAE1B,OACEhC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACP,EAAAA,EAAM,CACLiB,KAAMV,EAAAA,cAACqJ,GAAAA,EAAQ,CAACzJ,KAAK,WACrBpD,OAAO,SACPqL,IAAI,sBACJa,UAAU,oBACVlI,MAAOwI,GAAY,WACnBhD,SAAO,EACP4B,KAAI,uDAAyDuB,EAAM,uBAAuBJ,IAE5F/I,EAAAA,cAACP,EAAAA,EAAM,CACL8B,OAAQ,CAAEnB,WAAY,QACtBM,KAAMV,EAAAA,cAACsJ,GAAAA,EAAO,CAAC1J,KAAK,WACpBpD,OAAO,SACPqL,IAAI,sBACJa,UAAU,mBACVlI,MAAOwI,GAAY,UACnBhD,SAAO,EACP4B,KAAI,wCAA0CuB,EAAM,uBAAuBJ,IAE7E/I,EAAAA,cAACP,EAAAA,EAAM,CACLiB,KAAMV,EAAAA,cAACuJ,GAAAA,EAAW,CAAC3J,KAAK,WACxBgB,QAASA,KAEPoI,EACIQ,UAAUC,UAAUC,UACfP,EAAM,uBAAuBJ,GAElCS,UAAUC,UAAUC,UAAUN,OAAOpH,SAAS4F,MAElDsB,EAAW,UAAU,EAEvBS,IAAK,CACHC,UAAW,CAAE3I,MAAO,CAAEO,OAAQ,QAC9BqI,QAASZ,GAEXzI,MAAOwI,GAAY,OACnBhD,SAAO,IAER,EClBA,MAAM8D,GAAkBpK,IAUxB,IAVyB,SAC9BqK,EAAQ,YACRC,EAAW,MACXlJ,EAAK,WACLmJ,EAAU,mBACVC,EAAkB,sBAClBC,EAAqB,wBACrBC,EAAuB,iBACvBC,EAAgB,QAChBC,GACD5K,EACC,MAAM,EAAC6K,EAAc,EAACC,IAAoBpI,EAAAA,EAAAA,UAAS,KAC7C,EAACqI,EAAc,EAACC,IAAoBtI,EAAAA,EAAAA,UAAS,KA0E7C,MAAEuI,EAAK,QAAEC,GAxEMC,KACnB,MAAMC,EAAa,IAAIC,KAAKF,GACtBG,EAAU,IAAID,KAEdE,EAAUC,KAAKC,OAAOL,EAAaE,GAAW,KACpD,IAAIJ,EAAUM,KAAKC,MAAMF,EAAU,IAC/BN,EAAQO,KAAKC,MAAMP,EAAU,IACjC,MAAMQ,EAAOF,KAAKC,MAAMR,EAAQ,IAKhC,OAHAA,GAAgB,GAAPS,EACTR,EAAUA,EAAiB,GAAPQ,EAAY,GAAa,GAART,EAE9B,CAAEA,QAAOC,UAAS,EA4DAS,CAAYf,GACjCgB,EAAoBX,EAAK,SACnB,IAAVA,EAAc,GAAK,KAAG,QAChBC,EAAO,WAAsB,IAAZA,EAAgB,GAAK,KAE9C,OACE5K,EAAAA,cAAC8B,EAAAA,EAAK,CAACa,SAAS,UACd3C,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACoB,EAAAA,EAAO,CAACE,MAAM,IAAIC,OAAQ,CAAEE,IAAK,SAAU,sBAG5CzB,EAAAA,cAACmD,EAAAA,EAAI,CAAC5B,OAAQ,CAAEC,OAAQ,WAAY,sCACCxB,EAAAA,cAAA,cAASc,GAAe,iFAG7Dd,EAAAA,cAACmD,EAAAA,EAAI,KAAC,gBACUmI,EAAe,sBAAoB,IACjDtL,EAAAA,cAAA,cAASc,GAAe,yDAG1Bd,EAAAA,cAACuL,EAAAA,EAAI,CACHC,SAAS,OACTrQ,MAAO4O,EACP0B,SAAUzB,EACV0B,SAAUvH,IAAA,IAAC,MAAEhJ,GAAOgJ,GA/ExBwH,EAAAA,EAAAA,GAAM,CACJC,OAAQ,MAERC,IAAQC,sDAAmE7B,EAC3E8B,QAAS,CACP,iBAAkBC,GAAAA,EAAYC,iBAAiBC,eAGhDC,MAAMC,KACLT,EAAAA,EAAAA,GAAM,CACJC,OAAQ,MAERC,IAAQC,qDAAkEM,EAAalK,KAAKmK,UAC5FN,QAAS,CACP,iBAAkBC,GAAAA,EAAYC,iBAAiBC,eAEhDC,MAAMG,IACHvC,EAASwC,WAAaD,EAAYpK,KAAKqK,SACzC/B,EAAiB,uBACRT,EAASyC,WAAaF,EAAYpK,KAAKsK,UAChD9B,EAAiB,oBACjBF,EAAiB,MAEjBmB,EAAAA,EAAAA,GAAM,CACJC,OAAQ,MAERC,IAAQC,gEAA6E7B,EACrF8B,QAAS,CACP,iBAAkBC,GAAAA,EAAYC,iBAAiBC,eAGhDC,MAAK,KACJjC,GAAmB,GACnBC,EACEnK,EAAAA,cAACmD,EAAAA,EAAI,CAACiC,UAAU,SAAS7D,OAAO,QAAQ3B,KAAK,UAAS,gCACtB,IAC7BwM,EAAalK,KAAKuK,YAAY,eAGnCrC,IACAC,GAAiB,EAAM,IAExBqC,OAAOC,IACNC,QAAQC,IAAI,QAASF,EAAI,GAE/B,GACA,IAEHD,OAAOC,IACNC,QAAQC,IAAI,QAASF,EAAI,GA8B6B,GAEtD3M,EAAAA,cAACjB,EAAAA,EAAG,CAAC2G,MAAM,QAAQnE,OAAQ,CAAElB,SAAU,UACrCL,EAAAA,cAAC8M,EAAAA,EAAS,CACRtM,MAAM,aACNuM,KAAK,WACLC,MAAOzC,EACP0C,UAAQ,GAERjN,EAAAA,cAACkN,EAAAA,EAAS,CAACH,KAAK,cAElB/M,EAAAA,cAAC8M,EAAAA,EAAS,CACRtM,MAAM,YACNuM,KAAK,WACLC,MAAOvC,EACPwC,UAAQ,GAERjN,EAAAA,cAACkN,EAAAA,EAAS,CAACH,KAAK,WAAWI,KAAK,eAGpCnN,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,MAAMkC,IAAI,QAAQ9B,OAAQ,CAAEC,OAAQ,UACjDxB,EAAAA,cAACqI,GAAiB,CAACzI,KAAK,WACxBI,EAAAA,cAACmD,EAAAA,EAAI,KAAC,sBACenD,EAAAA,cAAA,cAASc,GAAe,uLAM/Cd,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,QACV5E,MAAM,aACN2M,KAAK,SACL5L,OAAQ,CAAE2B,MAAO,UACjBkK,SAAO,IAETpN,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,QACV5E,MAAM,kBACNI,QAASyM,UACPnD,GAAmB,GACnBE,IACAC,GAAiB,EAAK,EAExB1C,WAAS,MAIT,EAgBC2F,GAAc3I,IAUpB,IAVqB,SAE1BhF,EAAQ,YACRqK,EAAW,SACXD,EAAQ,WACRwD,EAAU,KACV3N,EAAI,MACJkB,EAAK,YACL0M,EAAW,SACXC,GACD9I,EACC,MAAM,EAACqI,EAAM,EAACU,IAAYtL,EAAAA,EAAAA,UAAS,KAC7B,EAACuL,EAAW,EAACC,IAAiBxL,EAAAA,EAAAA,UAAS,KACvC,EAACyL,EAAuB,EAACC,IAA6B1L,EAAAA,EAAAA,aACtD,EAAC2L,EAAgB,EAAC7D,IAAsB9H,EAAAA,EAAAA,WAAS,IACjD,EAAC4L,EAAkB,EAAC7D,IAAyB/H,EAAAA,EAAAA,UAAS,KACtD,EAAC6L,EAAc,EAAC5D,IAAoBjI,EAAAA,EAAAA,WAAS,IAC7C,EAAC8L,EAAmB,EAACC,IAAyB/L,EAAAA,EAAAA,UAAS,CAC3DmK,SAAU,GACVC,SAAU,MAiCZzM,EAAAA,EAAAA,YAAU,MACHgO,GAAmBE,GACtBtO,GAAS,EACX,GACC,CAACoO,EAAiBpO,EAAUsO,IAE/B,MAAMvC,EAAWA,KACf,GA/BuB0C,KACvB,GAAIA,EAAO,CACT,MAAMC,EAAYD,EACZE,EAAYD,EAAUE,YAAY,KAClCC,EAAaH,EAAUE,YAAY,KAEzC,KAEID,EAAYE,GACZF,EAAY,IACiB,IAA7BD,EAAUI,QAAQ,OAClBD,EAAa,GACbH,EAAUnG,OAASsG,EAAa,GAKlC,OAFAZ,EAAc,uBAEP,EAETA,EAAc,GAChB,CACA,OAAO,CAAI,EAUPc,CAAgB3E,EAASqE,OAAQ,CACnC,MAAMO,EAAeA,MACnBhD,EAAAA,EAAAA,GAAM,CACJC,OAAQ,OACRC,IAAQC,oDACRC,QAAS,CACP,iBAAkBC,GAAAA,EAAYC,iBAAiBC,aAEjDhK,KAAM,IAAK6H,EAAUqE,MAAOrE,EAASqE,MAAM3I,iBAE1C0G,MAAMyC,IACL,GAAwB,MAApBA,EAASC,OAAgB,CAC3B,MAAM,KAAE3M,GAAS0M,EACjBd,EAA0B,CACxBe,OAAQD,EAASC,UACd3M,IAELgI,GAAmB,EACrB,MACEvK,GAAS,GACT4N,GAAW,EACb,IAEDb,OAAOC,IACsB,MAAxBA,EAAIiC,SAASC,OACf7C,GAAAA,EAAY8C,QAAQ3C,MAAK,IAAMwC,OAE/B/B,QAAQC,IAAI,MAAOF,GACnBe,EAAS,CACPmB,OAAQlC,EAAIiC,SAASC,OACrBE,QAASpC,EAAIiC,SAAS1M,KAAK6M,UAE/B,GACA,EAENJ,GACF,GAEF,OACE3O,EAAAA,cAAC8B,EAAAA,EAAK,CACJa,SAAS,QACTqM,KAAe,UAATpP,GAA0B,WAChCqP,MAAO,CAAEC,aAAc,mBACvBnN,WACW,UAATnC,EACI,CACE8C,MAAO,yCACP9C,KAAM,QACN+C,SAAU,SACVwM,OAAQ,YACRC,QAAS,QAEX,CACE/N,MAAO,YAIfrB,EAAAA,cAACP,EAAAA,EAAM,CACLmB,QAASA,KAEPjB,GAAS,EAAM,EAEjByF,UAAU,MACV1E,KAAMV,EAAAA,cAACqP,GAAAA,EAAS,MAChB9N,OAAQ,CAAEE,IAAK,SAAUyB,MAAO,YAElClD,EAAAA,cAACjB,EAAAA,EAAG,CACFwI,SAAS,OACTX,OAAO,QACPlB,MAAgB,UAAT9F,EAAmB,OAAS,QACnCuB,UAAU,SACVhB,IAAK,CAAEqB,OAAQ,QAASwB,KAAM,SAAUE,MAAO,UAC/C3B,OAAiB,UAAT3B,EAAmB,CAAEsD,MAAO,SAAY,CAAEA,MAAO,KACzDkC,UAAU,OAEVpF,EAAAA,cAACoB,EAAAA,EAAO,CAACC,MAAM,UAAUE,OAAQ,CAAEE,IAAK,OAAQD,OAAQ,UAAW,YAGnExB,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,UAAUE,OAAQ,CAAEE,IAAK,OAAQD,OAAQ,UAClDV,EAAM,IAAkB,wBAAhB0M,EAAwC,WAAa,IAEhExN,EAAAA,cAACuL,EAAAA,EAAI,CACHC,SAAS,OACTrQ,MAAO4O,EACP0B,SAAUzB,EACV0B,SAAUpG,IAAA,IAAC,MAAEnK,GAAOmK,EAAA,OAAKoG,GAAmB,GAE5C1L,EAAAA,cAAC8M,EAAAA,EAAS,CACRtM,MAAM,gBACNuM,KAAK,QACLC,MAAOW,EACPV,UAAQ,GAERjN,EAAAA,cAACkN,EAAAA,EAAS,CAACH,KAAK,QAAQ5R,MAAO4O,EAASqE,MAAO3C,SAAUzB,KAE3DhK,EAAAA,cAAC8M,EAAAA,EAAS,CAACtM,MAAM,YAAYuM,KAAK,OAAOE,UAAQ,GAC/CjN,EAAAA,cAACkN,EAAAA,EAAS,CAACH,KAAK,OAAO5R,MAAO4O,EAASgD,KAAMtB,SAAUzB,KAEzDhK,EAAAA,cAAC8M,EAAAA,EAAS,CAACtM,MAAM,eAAeuM,KAAK,UAAUE,UAAQ,GACrDjN,EAAAA,cAACkN,EAAAA,EAAS,CAACH,KAAK,UAAU5R,MAAO4O,EAASuF,QAAS7D,SAAUzB,KAE/DhK,EAAAA,cAACjB,EAAAA,EAAG,CACFwC,OAAQ,CAAEE,IAAK,UACf4B,IAAK2K,EAAoB,OAAS,UAElChO,EAAAA,cAAC8M,EAAAA,EAAS,CAACG,UAAQ,EAACF,KAAK,sBACvB/M,EAAAA,cAACuP,EAAAA,EAAQ,CACPxC,KAAK,qBACL5R,MAAO4O,EAASyF,mBAChB/D,SAAUzB,EACVxJ,MACkB,qBAAhBgN,EACExN,EAAAA,cAACmD,EAAAA,EAAI,KAAC,kDAC4C,IAChDnD,EAAAA,cAACyP,EAAAA,EAAM,CACLjT,OAAO,SACPgE,MAAM,uBACNoH,KAAK,6DACJ,IAAI,MACH,IACJ5H,EAAAA,cAACyP,EAAAA,EAAM,CACLjP,MAAM,uBACNoH,KAAK,+CACLpL,OAAO,SACPqL,IAAI,wBACJ,yCACqC,IACvC7H,EAAAA,cAAA,cAAQ,yBAA8B,2BAEtCA,EAAAA,cAAA,cAAQ,IAAEyN,EAAS,SAAc,8CAEjCzN,EAAAA,cAAA,WACAA,EAAAA,cAAA,SACEA,EAAAA,cAAA,SAAG,UACA,IAAI,4GAKXA,EAAAA,cAACmD,EAAAA,EAAI,KAAC,iDAC2C,IAC/CnD,EAAAA,cAACyP,EAAAA,EAAM,CACLjT,OAAO,SACPgE,MAAM,uBACNoH,KAAK,yCACJ,IAAI,MACH,IACJ5H,EAAAA,cAACyP,EAAAA,EAAM,CACLjP,MAAM,uBACNoH,KAAK,+CACLpL,OAAO,SACPqL,IAAI,wBACJ,yCACqC,IACvC7H,EAAAA,cAAA,cAAQ,6BAAkC,2BAE1CA,EAAAA,cAAA,cAAQ,IAAEyN,EAAS,SAAc,6CAEjCzN,EAAAA,cAAA,WACAA,EAAAA,cAAA,SACEA,EAAAA,cAAA,SAAG,UACA,IAAI,+GAQlBgO,GACChO,EAAAA,cAACjB,EAAAA,EAAG,CACF6G,OAAQ,CAAEvE,MAAO,iBACjBnB,QAAQ,SACRqB,OAAQ,CAAEE,IAAK,QAASD,OAAQ,WAE/BwM,GAGLhO,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,QACV5E,MACkB,qBAAhBgN,EACI,wBACA,4BAENL,KAAK,SACLC,SAAO,KAGVW,GACC/N,EAAAA,cAAC8J,GAAe,CACdC,SAAUmE,EACV9D,wBArOoBA,KAC9B+D,EAAsB,CACpB5B,SAAU,GACVC,SAAU,IACV,EAkOQxC,YAAamE,EACbjE,mBAAoBA,EACpBC,sBAAuBA,EACvBxK,SAAUA,EACV0K,iBAAkBA,EAClBJ,WAAY4D,EAAuB6B,GACnC5O,MAAO+M,EAAuB/M,MAC9BwJ,QAASuD,EAAuBvD,UAGnC0C,EAAM6B,QAA2B,MAAjB7B,EAAM6B,OACrB7O,EAAAA,cAACjB,EAAAA,EAAG,CACFoB,IAAI,QACJD,QAAQ,SACRqB,OAAQ,CAAEE,IAAK,UACfM,WAAW,mBAEX/B,EAAAA,cAACmD,EAAAA,EAAI,CAACiC,UAAU,UAAU4H,EAAM+B,UAEhC,OAGF,EAgBCY,GAAeC,IAAA,IAAC,KAC3B7C,EAAI,SACJpN,EAAQ,KACRC,EAAI,MACJkB,EAAK,MACLsN,EAAK,YAELZ,GACDoC,EAAA,OACC5P,EAAAA,cAAC8B,EAAAA,EAAK,CACJa,SAAS,QACTqM,KAAe,UAATpP,GAA0B,WAChCqP,MAAO,CAAEC,aAAc,mBACvBnN,WACW,UAATnC,EACI,CACE8C,MAAO,yCACP9C,KAAM,QACN+C,SAAU,SACVwM,OAAQ,YACRC,QAAS,QAEX,CACE/N,MAAO,YAIfrB,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,MACVxE,QAASA,IAAMjB,GAAS,GACxBe,KAAMV,EAAAA,cAACqP,GAAAA,EAAS,MAChB9N,OAAQ,CAAEE,IAAK,SAAUyB,MAAO,YAElClD,EAAAA,cAACjB,EAAAA,EAAG,CACF6H,OAAO,OACPlB,MAAgB,UAAT9F,EAAmB,OAAS,QACnCuB,UAAU,SACVhB,IAAK,CAAEqB,OAAQ,QAASwB,KAAM,SAAUE,MAAO,UAC/CkC,UAAU,OAEVpF,EAAAA,cAAC6P,GAAAA,EAAU,CAACjQ,KAAK,UACjBI,EAAAA,cAACjB,EAAAA,EAAG,CAACwC,OAAQ,CAAEC,OAAQ,SAAUC,IAAK,UACpCzB,EAAAA,cAACoB,EAAAA,EAAO,CAACC,MAAM,UAAUE,OAAQ,CAAEE,IAAK,OAAQD,OAAQ,UACrC,qBAAhBgM,EACG,sBACA,sBAENxN,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,WAAU,mCACa,IAChB,qBAAhBmM,EAAqC,YAAc,WAAW,8BAC1CY,EAAM,kCAG/BpO,EAAAA,cAACjB,EAAAA,EAAG,KACFiB,EAAAA,cAACmD,EAAAA,EAAI,KAAC,2BACNnD,EAAAA,cAACmD,EAAAA,EAAI,KACF,IACDnD,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,UAAUyO,OAAO,QAC1B/C,GACK,IAAI,mBACK,IACjB/M,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,UAAUyO,OAAO,QAC1BhP,KAIPd,EAAAA,cAACjB,EAAAA,EAAG,CAACwC,OAAQ,CAAEE,IAAK,UAClBzB,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,QACV5E,MAAM,QACNI,QAASA,KAEPjB,GAAS,EAAM,EAEjByN,SAAO,MAIP,EA6ZV,OAhZqB2C,IAgBd,IAhBe,OACpBC,EAAM,KACN/I,EAAI,KACJgJ,EAAI,SACJC,EAAQ,UACRC,EAAS,KACTC,EAAI,YACJC,EAAW,YACX7C,EAAW,MACX1M,EAAK,aACLwP,EAAY,SACZtO,EAAQ,QACRuO,EAAO,SACPC,EAAQ,SACR/C,EAAQ,QACRgD,GACDV,EACC,MAAMnQ,GAAOC,EAAAA,EAAAA,YAAWC,EAAAA,IAChB4Q,KAAMC,IAAe9Q,EAAAA,EAAAA,YAAWsC,EAAAA,GAClCyO,EAAoB,UAAThR,EAAmB,OAAS,SAC7C,IAAIiR,EACAC,EAAM,GACV,OAAQtD,GACN,IAAK,sBACHqD,EAAkB,UAClBC,EAAShF,sDACT,MACF,IAAK,mBACH+E,EAAkB,yBAClBC,EAAShF,sDACT,MACF,QACE+E,EAAkB,aAEtB,MAAME,GAAUC,EAAAA,EAAAA,QAAO,OACjB,EAACC,EAAqB,EAACC,IAA2B9O,EAAAA,EAAAA,WAAS,IAC3D,EAAC+O,EAAY,EAACC,IAAkBhP,EAAAA,EAAAA,WAAS,IACzC,EAACiP,EAAa,EAACC,IAAmBlP,EAAAA,EAAAA,WAAS,IAC3C,EAACmP,EAAS,EAACC,IAAepP,EAAAA,EAAAA,WAAS,IACnC,EAAC2H,EAAS,EAACC,IAAe5H,EAAAA,EAAAA,UAAS,CACvC2K,MAAM4D,aAAU,EAAVA,EAAY5D,OAAQ,GAC1BqB,OAAOuC,aAAU,EAAVA,EAAYvC,QAAS,GAC5BkB,SAASqB,aAAU,EAAVA,EAAYxD,OAAQ,GAC7BrM,QACAoP,WACA1C,cACAxL,WACAwN,oBAAoB,EACpBiC,MAAO,eAGH,EAACjO,EAAM,EAACI,IAAYxB,EAAAA,EAAAA,WAAS,GAW7BsP,EAAcC,IAClB,GAAIZ,EAAQa,QAAS,CACnB,MAAMC,EAAYd,EAAQa,QAAQE,SAASH,EAAEnV,SAExCgH,GAASqO,GACZjO,GAAS,GAGPJ,IAAUqO,GACZjO,GAAS,EAEb,IAGF7D,EAAAA,EAAAA,YAAU,KACR,MAAMgS,EAAkBA,MACtBpG,EAAAA,EAAAA,GAAM,CACJC,OAAQ,MACRC,IAAI,GAAIiF,EAAMb,EACdlE,QAAS,CAAE,iBAAkBC,GAAAA,EAAYC,iBAAiBC,eAEzDC,MAAM6F,IACDA,EAAI9P,KAAK+P,UAAY,GACvBT,GAAY,EACd,IAED9E,OAAOC,IACsB,MAAxBA,EAAIiC,SAASC,QACf7C,GAAAA,EAAY8C,QAAQ3C,MAAK,IAAM4F,KACjC,GACA,GAGJvE,GACiB,wBAAhBA,GACiB,qBAAhBA,GAEFuE,GACF,GACC,CAAC9B,EAAMzC,EAAasD,KAEvB/Q,EAAAA,EAAAA,YAAU,KACR,GAAIgR,EAAQa,QAAS,CACnB,MAAMM,EAAYnB,EAAQa,QAAQO,aAClCjB,EAAwBgB,EAC1B,IACC,CAACnB,KAEJhR,EAAAA,EAAAA,YAAU,KACRqJ,OAAOgJ,iBAAiB,YAAaV,GAAY,GAE1C,KACLtI,OAAOiJ,oBAAoB,YAAaX,GAAY,EAAK,KAc7D,OACE1R,EAAAA,cAAAA,EAAAA,SAAA,KACGuQ,EACCvQ,EAAAA,cAACuG,EAAW,CACVpG,IAAI,QACJD,QAAQ,UACR6B,WAAY8O,EACZ9J,MAAM,SACNQ,SAAS,UAETvH,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,UACbnB,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,UACbnB,EAAAA,cAACoB,EAAAA,EAAO,CAACG,OAAQ,CAAElB,SAAU,SAAWiB,MAAO,GAC5CR,IAGLd,EAAAA,cAACjB,EAAAA,EAAG,KACFiB,EAAAA,cAACmD,EAAAA,EAAI,CACH5B,OAAQ,CAAEC,OAAQ,SAClB5B,KAAe,UAATA,EAAmB,QAAU,UAElCqH,KAIPjH,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,MAAMkC,IAAI,UACvBrD,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,MAAMkC,IAAI,UACvBrD,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,QACVwC,KAAMyI,EACN7T,OAAO,SACPqL,IAAI,sBACJrH,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,eAAc,eAG9BsG,WAAS,OAMjB3H,EAAAA,cAACuG,EAAW,CACVrG,QAAQ,UACR6B,WAAY8O,EACZ9J,MAAM,SACNQ,SAAS,UAETvH,EAAAA,cAACjB,EAAAA,EAAG,CACFoB,IAAK,CACHsB,IAAc,UAAT7B,EAAmB,QAAU,SAClCQ,WAAY,SAEd2B,WAAYyB,EAAQ,UAAY,YAChC8O,aAAcA,IAAM1O,GAAS,GAC7BI,QAASA,IAAMJ,GAAS,GACxB2O,aAAcA,IAAM3O,GAAS,GAC7BM,OAAQA,IAAMN,GAAS,GACvBgD,OAAO,MACP2B,IAAKwI,GAEL/Q,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,UACXqC,EAoCAxD,EAAAA,cAACjB,EAAAA,EAAG,CAAC6H,OAAWqK,EAAoB,MAClCjR,EAAAA,cAACjB,EAAAA,EAAG,CAACwI,SAAU,CAAEnH,WAAY,SAAUC,SAAU,WAC/CL,EAAAA,cAACoB,EAAAA,EAAO,CAACE,MAAO,EAAGC,OAAQ,CAAEE,IAAK,WAC/BX,GAEHd,EAAAA,cAACmD,EAAAA,EAAI,CACH5B,OAAQ,CAAEC,OAAQ,SAClB5B,KAAe,UAATA,EAAmB,QAAU,UAElCqH,KA5CPjH,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,SAASyF,OAAWqK,EAAoB,MACpDR,GACCzQ,EAAAA,cAAC0G,EAAa,CACZ3E,WAAW,sBACX2D,MAAM,cACNvF,IAAI,UACJ4G,MAAM,UAEN/G,EAAAA,cAACmD,EAAAA,EAAI,CACH9B,MAAM,UACNzB,KAAK,QACL2B,OAAQ,CAAElB,SAAU,MAAOD,WAAY,SACxC,YAKLJ,EAAAA,cAACoB,EAAAA,EAAO,CAACE,MAAO,EAAGC,OAAQ,CAAEC,OAAQ,UAClCV,IAEDkP,GAAUG,GAAaC,IACvBpQ,EAAAA,cAACjB,EAAAA,EAAG,CAACsE,IAAI,QAAQlC,UAAU,OACxB6O,EACChQ,EAAAA,cAACwS,GAAAA,EAAM,CAAC/K,IAAKuI,IAEbhQ,EAAAA,cAACwS,GAAAA,EAAM,CAAC/K,IAAI,yCAEdzH,EAAAA,cAACjB,EAAAA,EAAG,CAACmB,QAAQ,UACXF,EAAAA,cAACmD,EAAAA,EAAI,KAAEgN,GACPnQ,EAAAA,cAACmD,EAAAA,EAAI,KAAEiN,QAsBrBpQ,EAAAA,cAACjB,EAAAA,EAAG,CACFwC,OAAQ,CAAEE,IAAK,SAAUD,OAAQ,SAAUpB,WAAY,UAEvDJ,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,MAAMkC,IAAc,UAATzD,EAAmB,SAAW,UACrD0Q,GACCA,EAAa3T,KAAKqM,GAChBhJ,EAAAA,cAACjB,EAAAA,EAAG,CAACpB,IAAKqL,EAASyJ,cACjBzS,EAAAA,cAACP,EAAAA,EAAM,CACLmI,KAAMoB,EAASyJ,aACf9U,IAAKqL,EAASyJ,aACdjW,OAAO,SACPqL,IAAI,sBACJzC,UAAU,QACV5E,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,cAAczB,KAAMgR,GAC7B,IAAI,YACK5H,EAAS0J,aAIzB/K,WAAS,QAIC,qBAAhB6F,GACgB,wBAAhBA,IACAxN,EAAAA,cAACjB,EAAAA,EAAG,KACFiB,EAAAA,cAACP,EAAAA,EAAM,CACLmB,QAASA,IAAMwQ,GAAe,GAC9BG,SAAUA,EACVnM,UAAU,QACV5E,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,cAAczB,KAAMgR,IA/JxB/B,EAgKgB0C,EA/JxC1C,EACK,yCAEW,qBAAhBrB,EACK,eAEF,cA6JS7F,WAAS,KAIE,qBAAhB6F,GACe,wBAAhBA,EACExN,EAAAA,cAAC0H,EAAAA,KAAI,CAACjH,GAAE,MAAQ4P,GACdrQ,EAAAA,cAACP,EAAAA,EAAM,CACLe,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,cAAczB,KAAMgR,GAAU,kBAQlD5Q,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,MAAMkC,IAAI,UACvBrD,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,QACVwC,KAAMyI,EACN7T,OAAO,SACPqL,IAAI,sBACJrH,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,cAAczB,KAAMgR,GAAU,iBAM/B,mBAAhBpD,GACCxN,EAAAA,cAACP,EAAAA,EAAM,CACL2F,UAAU,QACVwC,KAAK,6DACLpL,OAAO,SACPqL,IAAI,sBACJrH,MACER,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,cAAczB,KAAMgR,GAAU,uBAK9CjJ,WAAS,KAKjB3H,EAAAA,cAAC6F,EAAAA,EAAU,CACTC,UAAW,CAAErE,IAAK,SAAUyB,MAAO,SACnC+C,YACEjG,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,SACPH,EAAAA,cAAC2S,GAAK,CAAC5J,WAAYyH,EAAUxH,UAAQ,KAGzC5D,UAAU,QACV7D,OAAQ,CAAEyB,KAAM,QAChBtC,KAAMV,EAAAA,cAAC8I,GAAW,MAClB9C,SAAO,EACP3C,IAAI,SACJ7C,MACW,UAATZ,GACEI,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAI,UACPH,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,eAAc,aAMnC8P,GACCnR,EAAAA,cAACsN,GAAW,CACVvD,SAAUA,EACVC,YA/SQ2H,IAClB,MAAM,KAAE5E,EAAI,MAAE5R,EAAK,KAAEgS,EAAI,QAAEyF,GAAYjB,EAAEnV,QAAU,GAC7CqW,EAAoB,aAAP1F,EAAqByF,EAAUzX,EAClD6O,EAAY,IACTD,EACH,CAACgD,GAAM8F,GACP,EA0SUlT,SAAUyR,EACV7D,WAAY+D,EACZxQ,MAAOA,EACPlB,KAAMA,EACN4N,YAAaA,EACbC,SAAUA,EACVqF,SAAUnC,IAGbU,GACCrR,EAAAA,cAAC2P,GAAY,CACXhQ,SAAU2R,EACVvE,KAAMhD,EAASgD,KACfnN,KAAMA,EACNkB,MAAOA,EACPsN,MAAOrE,EAASqE,MAEhBZ,YAAaA,OAhQGqB,KAsQzB,E,YCx6BP,OAvB6BnP,IAAmC,IAAlC,SAAEmB,EAAQ,MAAEC,KAAUC,GAAMrB,EACxD,OACEM,EAAAA,cAACjB,EAAAA,EAAGzD,OAAA0F,OAAA,CAACC,MAAM,QAAQyE,MAAM,SAASvE,UAAU,UAAaJ,GACvDf,EAAAA,cAACjB,EAAAA,EAAG,CAACkC,MAAM,SACTjB,EAAAA,cAAC0H,EAAAA,KAAI,CAACjH,GAAG,qBACPT,EAAAA,cAACP,EAAAA,EAAM,CACL4B,MAAM,QACNX,KAAMV,EAAAA,cAAC+S,GAAAA,EAAQ,CAACnT,KAAK,UACrBY,MAAM,oBAGVR,EAAAA,cAACoB,EAAAA,EAAO,CACNC,MAAM,cACNC,MAAM,IACNC,OAAQ,CAAEC,OAAQ,QAASC,IAAK,SAE/BX,IAGJD,EACG,E,uBCmDV,OAxEkBnB,IASX,IATY,KACjBuH,EAAI,GACJyI,EAAE,UACFS,EAAS,KACTC,EAAI,UACJ4C,EAAS,MACTlS,EAAK,WACLmS,EAAU,YACVC,GACDxT,EACC,OACEM,EAAAA,cAAC0H,EAAAA,KAAI,CAACjH,GAAE,sBAAwBiP,GAC9B1P,EAAAA,cAACP,EAAAA,EAAM,CACLmB,QAASA,KACPqS,EAAWvD,GACXwD,GAAY,EAAK,EAEnBjE,MAAO,CAAEkE,UAAW,UAEpBnT,EAAAA,cAACjB,EAAAA,EAAG,CAACsE,IAAI,QAAQlC,UAAU,kBACzBnB,EAAAA,cAACoT,KAAW,CACVvH,IAAKmH,EACL/D,MAAO,CACLoE,SAAU,QACVC,SAAU,QACV5N,MAAO,QACP6N,UAAW,QACX3M,OAAQ,QACR4M,QAAS,MAIbxT,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,UACbnB,EAAAA,cAACjB,EAAAA,EAAG,KACFiB,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,SAAS8O,GACrBnQ,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,SAAS+O,IAEvBpQ,EAAAA,cAACoB,EAAAA,EAAO,CACNC,MAAM,cACNE,OAAQ,CAAEE,IAAK,MAAOD,OAAQ,SAC9BF,MAAO,GAENR,GAEHd,EAAAA,cAACjB,EAAAA,EAAG,KACFiB,EAAAA,cAACmD,EAAAA,EAAI,CACH9B,MAAM,cACNE,OAAQ,CAAEC,OAAQ,SAClBsO,OAAQ,IACRlQ,KAAK,QAEJqH,OAMN,ECoKX,OA3NcvH,IAmBP,IAnBQ,UACb+T,EAAS,OACTzD,EAAM,KACN/I,EAAI,UACJkJ,EAAS,KACTC,EAAI,MACJtP,EAAK,GACL4O,EAAE,WACFuD,EAAU,QACVrB,EAAO,cACP8B,EAAa,SACbC,EAAQ,SACRzD,EAAQ,YACR1C,EAAW,SACXxL,EAAQ,SACRiQ,EAAQ,cACR2B,EAAa,WACb7K,EAAU,iBACV8K,GACDnU,EACCkN,QAAQC,IAAI,oBAAqBgH,GACjCjH,QAAQC,IAAI,WAAYoF,GACxB,MAAM,EAACd,EAAY,EAACC,IAAkBhP,EAAAA,EAAAA,WAAS,IACzC,EAACiP,EAAa,EAACC,IAAmBlP,EAAAA,EAAAA,WAAS,IAC3C,EAAC2H,EAAS,EAACC,IAAe5H,EAAAA,EAAAA,UAAS,CACvC2K,KAAM,GACNqB,MAAO,GACPkB,QAAS,GACTxO,MAAO8S,EACP1D,WACA1C,cACAxL,WACAwN,oBAAoB,EACpBiC,MAAO,cAEHqC,EAAgBA,KACpB9J,EAAY,CACV+C,KAAM,GACNqB,MAAO,GACPkB,QAAS,GACTxO,MAAO8S,EACP1D,WACA1C,cACAxL,WACAwN,oBAAoB,EACpBiC,MAAO,aACP,EAWE7R,GAAOC,EAAAA,EAAAA,YAAWC,EAAAA,GASxB,OACEE,EAAAA,cAACjB,EAAAA,EAAG,KACJiB,EAAAA,cAACjB,EAAAA,EAAG,CAACkQ,MAAO,CAAEtM,SAAU,WAAY+C,MAAO,QAASkB,OAAQ,UAC1D5G,EAAAA,cAACoT,KAAW,CACVW,UAAQ,EACRlI,IAAK4H,EACLO,QAASL,EACTjO,MAAM,OACNkB,OAAO,OACPqN,QAASA,KAELhB,EADErB,GAAW8B,EAAgB,EAClB,EAEAhE,EAAK,EAClB,IAGJ1P,EAAAA,cAAA,OACEY,QAASA,IAAMwI,OAAO8K,KAAKT,EAAW,UACtCxE,MAAO,CACLtM,SAAU,WACVlB,IAAK,EACLuB,KAAM,EACN0C,MAAO,OACPkB,OAAQ,OACR4M,OAAQ,EACRW,OAAQ,UACRtD,gBAAiB,uBAIrB7Q,EAAAA,cAACjB,EAAAA,EAAG,CAACmC,KAAK,aAAa0E,OAAQ,CAAEwO,KAAM,WACrCpU,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,UACbnB,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,UACbnB,EAAAA,cAACjB,EAAAA,EAAG,CACFoC,UAAoB,UAATvB,EAAmB,SAAW,MACzCM,QAAQ,UACRqB,OAAQ,CAAElB,SAAU,UACpBqF,MAAgB,UAAT9F,EAAmB,OAAS,SAElCsQ,GAAY1C,GAAexL,GAC1BhC,EAAAA,cAACjB,EAAAA,EAAG,CAAC2G,MAAoB,IAAbuM,EAAiB,QAAU,SACrCjS,EAAAA,cAACP,EAAAA,EAAM,CACLG,KAAK,QACLgB,QAASA,IAAMwQ,GAAe,GAC9B7P,OAAQ,CAAElB,SAAmB,UAATT,EAAmB,MAAQ,SAC/C2R,SAAuB,IAAbU,EACVzR,MACER,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,cAAczB,KAAK,SACf,IAAbqS,EACG,yCACA,YAGR7E,SAAO,KAIbpN,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,MAAMiE,UAAU,QAAQlF,QAAQ,UAC7CF,EAAAA,cAAC2S,GAAK,CAAC5J,WAAYA,MAGvB/I,EAAAA,cAACjB,EAAAA,EAAG,CAACoC,UAAU,MAAMjB,QAAQ,UAAUqB,OAAQ,CAAEC,OAAQ,UACvDxB,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAK,CAAEE,SAAU,SAAWgD,IAAI,QAAQlC,UAAU,OACpD6O,EACChQ,EAAAA,cAACwS,GAAAA,EAAM,CAAC/K,IAAKuI,IAEbhQ,EAAAA,cAACwS,GAAAA,EAAM,CAAC/K,IAAI,yCAEdzH,EAAAA,cAACjB,EAAAA,EAAG,CAACmB,QAAQ,UACXF,EAAAA,cAACmD,EAAAA,EAAI,CAAC2M,OAAO,OAAOlQ,KAAK,SACtBuQ,GAEHnQ,EAAAA,cAACmD,EAAAA,EAAI,KAAEiN,OAKde,GACCnR,EAAAA,cAACsN,GAAW,CACVvD,SAAUA,EACVsK,MAAOP,EACP9J,YApGU2H,IACpB,MAAM,KAAE5E,EAAI,MAAE5R,EAAK,KAAEgS,EAAI,QAAEyF,GAAYjB,EAAEnV,QAAU,GAC7CqW,EAAoB,aAAP1F,EAAqByF,EAAUzX,EAClD6O,EAAY,IACPD,EACH,CAACgD,GAAM8F,GACP,EA+FQlT,SAAUyR,EACV7D,WAAY+D,EACZxQ,MAAOA,EACPlB,KAAMA,EACN4N,YAAaA,EACbC,SAAUoG,IAGbxC,GACCrR,EAAAA,cAAC2P,GAAY,CACXhQ,SAAU2R,EACVvE,KAAMhD,EAASgD,KACfnN,KAAMA,EACNkB,MAAOA,EACPuT,MAAOP,EACPtG,YAAaA,IAGjBxN,EAAAA,cAACjB,EAAAA,EAAG,CAACsE,IAAI,SACPrD,EAAAA,cAACmD,EAAAA,EAAI,CAAC9B,MAAM,cAAczB,KAAK,QAC5BqH,GAEW,IAAbgL,EAECjS,EAAAA,cAACmD,EAAAA,EAAI,CACH9B,MAAM,cACNE,OAAQ,CAAEC,OAAQ,SAClB5B,KAAK,QACN,iEACgE,IAC/DI,EAAAA,cAAC0H,EAAAA,KAAI,CACHuH,MAAO,CAAE5N,MAAO,QAChBA,MAAM,QACNZ,GAAG,wBACJ,2CAMHT,EAAAA,cAACjB,EAAAA,EAAG,CAACoB,IAAK,CAAEqB,OAAQ,eAKxB,C,0GC1MV,SAASsG,IAAiS,OAApRA,EAAWxM,OAAO0F,OAAS1F,OAAO0F,OAAO+G,OAAS,SAAUvL,GAAU,IAAK,IAAIwL,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvL,EAASwL,UAAUD,GAAI,IAAK,IAAIrK,KAAOlB,EAAcnB,OAAOC,UAAUqC,eAAenC,KAAKgB,EAAQkB,KAAQnB,EAAOmB,GAAOlB,EAAOkB,GAAU,CAAE,OAAOnB,CAAQ,EAAUsL,EAASK,MAAMC,KAAMH,UAAY,CAIlV,IAAI7E,GAAqB,IAAAkF,aAAW,SAAU3G,EAAO4G,GACnD,IAAI+L,GAAa,QAAc3S,GAC/B,OAAoB,gBAAoB,IAAYmG,EAAS,CAC3DS,IAAKA,EACLE,QAAS,YACTC,UAAW,SACV/G,GAAqB,gBAAoB,OAAQmG,EAAS,CAC3D5G,KAAM,OACNyH,OAAQ,OACRC,YAAa,IACbC,EAAG,wBACFyL,IACL,IACAlR,EAAMnE,YAAc,O,+FCjBpB,SAAS6I,IAAiS,OAApRA,EAAWxM,OAAO0F,OAAS1F,OAAO0F,OAAO+G,OAAS,SAAUvL,GAAU,IAAK,IAAIwL,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvL,EAASwL,UAAUD,GAAI,IAAK,IAAIrK,KAAOlB,EAAcnB,OAAOC,UAAUqC,eAAenC,KAAKgB,EAAQkB,KAAQnB,EAAOmB,GAAOlB,EAAOkB,GAAU,CAAE,OAAOnB,CAAQ,EAAUsL,EAASK,MAAMC,KAAMH,UAAY,CAGlV,IAAIoH,GAAyB,IAAA/G,aAAW,SAAU3G,EAAO4G,GACvD,OAAoB,gBAAoB,IAAYT,EAAS,CAC3DS,IAAKA,EACLE,QAAS,YACTC,UAAW,aACV/G,GAAqB,gBAAoB,OAAQ,CAClDT,KAAM,OACNyH,OAAQ,OACRC,YAAa,IACbC,EAAG,yBAEP,IACAwG,EAAUpQ,YAAc,W,0GCfxB,SAAS6I,IAAiS,OAApRA,EAAWxM,OAAO0F,OAAS1F,OAAO0F,OAAO+G,OAAS,SAAUvL,GAAU,IAAK,IAAIwL,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvL,EAASwL,UAAUD,GAAI,IAAK,IAAIrK,KAAOlB,EAAcnB,OAAOC,UAAUqC,eAAenC,KAAKgB,EAAQkB,KAAQnB,EAAOmB,GAAOlB,EAAOkB,GAAU,CAAE,OAAOnB,CAAQ,EAAUsL,EAASK,MAAMC,KAAMH,UAAY,CAIlV,IAAI8K,GAAwB,IAAAzK,aAAW,SAAU3G,EAAO4G,GACtD,IAAI+L,GAAa,QAAc3S,GAC/B,OAAoB,gBAAoB,IAAYmG,EAAS,CAC3DS,IAAKA,EACLE,QAAS,YACTC,UAAW,YACV/G,GAAqB,gBAAoB,OAAQmG,EAAS,CAC3D5G,KAAM,OACNyH,OAAQ,OACRC,YAAa,IACbC,EAAG,oBACFyL,IACL,IACAvB,EAAS9T,YAAc,U,+FCjBvB,SAAS6I,IAAiS,OAApRA,EAAWxM,OAAO0F,OAAS1F,OAAO0F,OAAO+G,OAAS,SAAUvL,GAAU,IAAK,IAAIwL,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvL,EAASwL,UAAUD,GAAI,IAAK,IAAIrK,KAAOlB,EAAcnB,OAAOC,UAAUqC,eAAenC,KAAKgB,EAAQkB,KAAQnB,EAAOmB,GAAOlB,EAAOkB,GAAU,CAAE,OAAOnB,CAAQ,EAAUsL,EAASK,MAAMC,KAAMH,UAAY,CAGlV,IAAI4H,GAA0B,IAAAvH,aAAW,SAAU3G,EAAO4G,GACxD,OAAoB,gBAAoB,IAAYT,EAAS,CAC3DS,IAAKA,EACLE,QAAS,YACTC,UAAW,kBACV/G,GAAqB,gBAAoB,OAAQ,CAClDT,KAAM,OACNyH,OAAQ,OACRC,YAAa,IACbC,EAAG,0FAEP,IACAgH,EAAW5Q,YAAc,Y,mBC8BzB,SAASsV,EAAUC,EAAQC,GACzBD,EAAOE,OAAS,WACdtM,KAAKuM,QAAUvM,KAAKsM,OAAS,KAC7BD,EAAG,KAAMD,EACX,EACAA,EAAOG,QAAU,WAGfvM,KAAKuM,QAAUvM,KAAKsM,OAAS,KAC7BD,EAAG,IAAIrW,MAAM,kBAAoBgK,KAAKX,KAAM+M,EAC9C,CACF,CAEA,SAASI,EAASJ,EAAQC,GACxBD,EAAOK,mBAAqB,WACH,YAAnBzM,KAAK0M,YAA+C,UAAnB1M,KAAK0M,aAC1C1M,KAAKyM,mBAAqB,KAC1BJ,EAAG,KAAMD,GACX,CACF,CA/DA/V,EAAOC,QAAU,SAAe+I,EAAKsN,EAAMN,GACzC,IAAIO,EAAOC,SAASD,MAAQC,SAASC,qBAAqB,QAAQ,GAC9DV,EAASS,SAASE,cAAc,UAEhB,mBAATJ,IACTN,EAAKM,EACLA,EAAO,CAAC,GAGVA,EAAOA,GAAQ,CAAC,EAChBN,EAAKA,GAAM,WAAY,EAEvBD,EAAOrH,KAAO4H,EAAK5H,MAAQ,kBAC3BqH,EAAOY,QAAUL,EAAKK,SAAW,OACjCZ,EAAOnH,QAAQ,UAAW0H,MAASA,EAAK1H,MACxCmH,EAAO/M,IAAMA,EAETsN,EAAKM,OAqBX,SAAuBb,EAAQa,GAC7B,IAAK,IAAIC,KAAQD,EACfb,EAAOe,aAAaD,EAAMD,EAAMC,GAEpC,CAxBIE,CAAchB,EAAQO,EAAKM,OAGzBN,EAAKU,OACPjB,EAAOiB,KAAO,GAAKV,EAAKU,OAGd,WAAYjB,EAASD,EAAWK,GACtCJ,EAAQC,GAKTD,EAAOE,QACVH,EAASC,EAAQC,GAGnBO,EAAKU,YAAYlB,EACnB,C,4CCrCA,IAAImB,EAAYC,OAAOC,OACnB,SAAkB1a,GACd,MAAwB,iBAAVA,GAAsBA,GAAUA,CAClD,EAUJ,SAAS2a,EAAeC,EAAWC,GAC/B,GAAID,EAAU7N,SAAW8N,EAAW9N,OAChC,OAAO,EAEX,IAAK,IAAIF,EAAI,EAAGA,EAAI+N,EAAU7N,OAAQF,IAClC,GAdSiO,EAcIF,EAAU/N,GAdPkO,EAcWF,EAAWhO,KAbtCiO,IAAUC,GAGVP,EAAUM,IAAUN,EAAUO,IAW1B,OAAO,EAfnB,IAAiBD,EAAOC,EAkBpB,OAAO,CACX,CAyBA,UAvBA,SAAoBC,EAAUC,GAE1B,IAAIC,OADY,IAAZD,IAAsBA,EAAUN,GAEpC,IACIQ,EADAC,EAAW,GAEXC,GAAa,EAejB,OAdA,WAEI,IADA,IAAIC,EAAU,GACLC,EAAK,EAAGA,EAAKzO,UAAUC,OAAQwO,IACpCD,EAAQC,GAAMzO,UAAUyO,GAE5B,OAAIF,GAAcH,IAAajO,MAAQgO,EAAQK,EAASF,KAGxDD,EAAaH,EAAShO,MAAMC,KAAMqO,GAClCD,GAAa,EACbH,EAAWjO,KACXmO,EAAWE,GALAH,CAOf,CAEJ,C,wBC9CA,IA2BoBK,EA3BhBC,EAAWtb,OAAOub,OAClBC,EAAYxb,OAAOyb,eACnBC,EAAmB1b,OAAO2b,yBAC1BC,EAAoB5b,OAAO6b,oBAC3BC,EAAe9b,OAAO+b,eACtBC,EAAehc,OAAOC,UAAUqC,eAMhC2Z,EAAc,CAAC9W,EAAI+W,EAAMC,EAAQxQ,KACnC,GAAIuQ,GAAwB,iBAATA,GAAqC,mBAATA,EAC7C,IAAK,IAAI7Z,KAAOuZ,EAAkBM,GAC3BF,EAAa7b,KAAKgF,EAAI9C,IAAQA,IAAQ8Z,GACzCX,EAAUrW,EAAI9C,EAAK,CAAE+Z,IAAK,IAAMF,EAAK7Z,GAAMga,aAAc1Q,EAAO+P,EAAiBQ,EAAM7Z,KAASsJ,EAAK0Q,aAE3G,OAAOlX,CAAE,EAEPmX,EAAU,CAACjB,EAAKkB,EAAYrb,KAAYA,EAAgB,MAAPma,EAAcC,EAASQ,EAAaT,IAAQ,CAAC,EAAGY,GAKnGM,GAAelB,GAAQA,EAAImB,WAA8Etb,EAAjEsa,EAAUta,EAAQ,UAAW,CAAErB,MAAOwb,EAAKgB,YAAY,IAC/FhB,IAGEoB,EAAgB,CAACC,EAAKra,EAAKxC,KAtBT,EAAC6c,EAAKra,EAAKxC,KAAUwC,KAAOqa,EAAMlB,EAAUkB,EAAKra,EAAK,CAAEga,YAAY,EAAMM,cAAc,EAAMC,UAAU,EAAM/c,UAAW6c,EAAIra,GAAOxC,CAAK,EAuB7Jgd,CAAgBH,EAAoB,iBAARra,EAAmBA,EAAM,GAAKA,EAAKxC,GACxDA,GAELid,EAAiB,CAAC,EAzBP,EAAC5b,EAAQ0B,KACtB,IAAK,IAAI6O,KAAQ7O,EACf4Y,EAAUta,EAAQuQ,EAAM,CAAE2K,IAAKxZ,EAAI6O,GAAO4K,YAAY,GAAO,EAwBjEU,CAASD,EAAgB,CACvBE,QAAS,IAAMC,IAEjB9Z,EAAOC,SATaiY,EASUyB,EATFb,EAAYT,EAAU,CAAC,EAAG,aAAc,CAAE3b,OAAO,IAASwb,IAUtF,IAAI6B,EAAeZ,EAAQ,EAAQ,QAC/Ba,EAA4Bb,EAAQ,EAAQ,QAC5Cc,EAAe,EAAQ,MACvBC,EAAe,EAAQ,OAE3B,MAAMJ,UAAeC,EAAaI,UAChC,WAAAC,GACEC,SAAS7Q,WACT8P,EAAc3P,KAAM,WAAW,GAC/B2P,EAAc3P,KAAM,WAAW,GAC/B2P,EAAc3P,KAAM,aAAa,GAEjC2P,EAAc3P,KAAM,aAAa,GAEjC2P,EAAc3P,KAAM,cAAe,MACnC2P,EAAc3P,KAAM,eAAe,GACnC2P,EAAc3P,KAAM,aAAc,MAClC2P,EAAc3P,KAAM,oBAAoB,GACxC2P,EAAc3P,KAAM,qBAAsB2Q,IACpC3Q,KAAK2Q,SAIT3Q,KAAK2Q,OAASA,EACd3Q,KAAK2Q,OAAOC,KAAK5Q,KAAKzG,MAAMkK,MAJ1BzD,KAAK6Q,UAKQ,IAEjBlB,EAAc3P,KAAM,qBAAsBzK,GACnCyK,KAAK2Q,OAEH3Q,KAAK2Q,OAAOpb,GADV,OAGXoa,EAAc3P,KAAM,YAAY,KAC9B,GAAIA,KAAKzG,MAAMkK,KAAOzD,KAAK2Q,QAAU3Q,KAAK8Q,QAAS,CACjD,MAAMC,EAAgB/Q,KAAKgR,kBAAoB,EACzCC,EAAgBjR,KAAKkR,mBACrB7L,EAAWrF,KAAKmR,cACtB,GAAI9L,EAAU,CACZ,MAAMwL,EAAW,CACfE,gBACAK,OAAQL,EAAgB1L,GAEJ,OAAlB4L,IACFJ,EAASI,cAAgBA,EACzBJ,EAASQ,OAASJ,EAAgB5L,GAEhCwL,EAASE,gBAAkB/Q,KAAKsR,YAAcT,EAASI,gBAAkBjR,KAAKuR,YAChFvR,KAAKzG,MAAMiY,WAAWX,GAExB7Q,KAAKsR,WAAaT,EAASE,cAC3B/Q,KAAKuR,WAAaV,EAASI,aAC7B,CACF,CACAjR,KAAKyR,gBAAkBC,WAAW1R,KAAK6Q,SAAU7Q,KAAKzG,MAAMoY,mBAAqB3R,KAAKzG,MAAMqY,iBAAiB,IAE/GjC,EAAc3P,KAAM,eAAe,KACjC,IAAKA,KAAK6R,QACR,OACF7R,KAAK8Q,SAAU,EACf9Q,KAAK8R,WAAY,EACjB,MAAM,QAAEC,EAAO,QAAEnG,EAAO,OAAEoG,EAAM,MAAEC,GAAUjS,KAAKzG,MACjDwY,IACKE,GAAoB,OAAXD,GACZhS,KAAK2Q,OAAOuB,UAAUF,GAEpBhS,KAAKmS,aACPnS,KAAK2Q,OAAOC,KAAK5Q,KAAKmS,aAAa,GACnCnS,KAAKmS,YAAc,MACVvG,GACT5L,KAAK2Q,OAAOyB,OAEdpS,KAAKqS,qBAAqB,IAE5B1C,EAAc3P,KAAM,cAAc,KAChCA,KAAKsS,WAAY,EACjBtS,KAAK8R,WAAY,EACjB,MAAM,QAAES,EAAO,OAAEC,EAAM,aAAEC,GAAiBzS,KAAKzG,MAC3CyG,KAAK0S,cACH1S,KAAK2Q,OAAOgC,iBAAoC,IAAjBF,GACjCzS,KAAK2Q,OAAOgC,gBAAgBF,GAE9BF,IACAvS,KAAK0S,aAAc,GAErBF,IACIxS,KAAK4S,aACP5S,KAAK6S,OAAO7S,KAAK4S,YACjB5S,KAAK4S,WAAa,MAEpB5S,KAAKqS,qBAAqB,IAE5B1C,EAAc3P,KAAM,eAAgBuJ,IAClCvJ,KAAKsS,WAAY,EACZtS,KAAK8R,WACR9R,KAAKzG,MAAMuZ,QAAQvJ,EACrB,IAEFoG,EAAc3P,KAAM,eAAe,KACjC,MAAM,aAAE+S,EAAY,KAAEC,EAAI,QAAEnH,GAAY7L,KAAKzG,MACzCwZ,EAAaE,aAAeD,GAC9BhT,KAAK6S,OAAO,GAETG,IACHhT,KAAKsS,WAAY,EACjBzG,IACF,IAEF8D,EAAc3P,KAAM,eAAe,IAAIkT,KACrClT,KAAK8R,WAAY,EACjB9R,KAAKzG,MAAM4Z,WAAWD,EAAK,IAE7BvD,EAAc3P,KAAM,uBAAuB,KACzCoT,aAAapT,KAAKqT,sBAClB,MAAMhO,EAAWrF,KAAKmR,cAClB9L,EACGrF,KAAKsT,mBACRtT,KAAKzG,MAAMga,WAAWlO,GACtBrF,KAAKsT,kBAAmB,GAG1BtT,KAAKqT,qBAAuB3B,WAAW1R,KAAKqS,oBAAqB,IACnE,IAEF1C,EAAc3P,KAAM,gBAAgB,KAClCA,KAAK8R,WAAY,CAAK,GAE1B,CACA,iBAAA0B,GACExT,KAAK6R,SAAU,CACjB,CACA,oBAAA4B,GACEL,aAAapT,KAAKyR,iBAClB2B,aAAapT,KAAKqT,sBACdrT,KAAK8Q,SAAW9Q,KAAKzG,MAAMma,gBAC7B1T,KAAK2Q,OAAOgD,OACR3T,KAAK2Q,OAAOiD,YACd5T,KAAK2Q,OAAOiD,cAGhB5T,KAAK6R,SAAU,CACjB,CACA,kBAAAgC,CAAmBC,GACjB,IAAK9T,KAAK2Q,OACR,OAEF,MAAM,IAAElN,EAAG,QAAEmI,EAAO,OAAEoG,EAAM,MAAEC,EAAK,aAAEQ,EAAY,IAAEsB,EAAG,KAAEf,EAAI,aAAED,EAAY,uBAAEiB,GAA2BhU,KAAKzG,MAC5G,KAAK,EAAI8W,EAA0BH,SAAS4D,EAAUrQ,IAAKA,GAAM,CAC/D,GAAIzD,KAAK8R,YAAciB,EAAakB,YAAcD,KAA2B,EAAIzD,EAAa2D,eAAezQ,GAG3G,OAFAe,QAAQ2P,KAAK,oCAAoC1Q,wDACjDzD,KAAKmS,YAAc1O,GAGrBzD,KAAK8R,WAAY,EACjB9R,KAAK0S,aAAc,EACnB1S,KAAKsT,kBAAmB,EACxBtT,KAAK2Q,OAAOC,KAAKnN,EAAKzD,KAAK8Q,QAC7B,CACKgD,EAAUlI,UAAWA,GAAY5L,KAAKsS,WACzCtS,KAAK2Q,OAAOyB,OAEV0B,EAAUlI,UAAYA,GAAW5L,KAAKsS,WACxCtS,KAAK2Q,OAAOyD,SAETN,EAAUC,KAAOA,GAAO/T,KAAK2Q,OAAO0D,WACvCrU,KAAK2Q,OAAO0D,YAEVP,EAAUC,MAAQA,GAAO/T,KAAK2Q,OAAOiD,YACvC5T,KAAK2Q,OAAOiD,aAEVE,EAAU9B,SAAWA,GAAqB,OAAXA,GACjChS,KAAK2Q,OAAOuB,UAAUF,GAEpB8B,EAAU7B,QAAUA,IAClBA,EACFjS,KAAK2Q,OAAO2D,QAEZtU,KAAK2Q,OAAO4D,SACG,OAAXvC,GACFN,YAAW,IAAM1R,KAAK2Q,OAAOuB,UAAUF,OAIzC8B,EAAUrB,eAAiBA,GAAgBzS,KAAK2Q,OAAOgC,iBACzD3S,KAAK2Q,OAAOgC,gBAAgBF,GAE1BqB,EAAUd,OAASA,GAAQhT,KAAK2Q,OAAO6D,SACzCxU,KAAK2Q,OAAO6D,QAAQxB,EAExB,CACA,WAAA7B,GACE,OAAKnR,KAAK8Q,QAEH9Q,KAAK2Q,OAAOQ,cADV,IAEX,CACA,cAAAH,GACE,OAAKhR,KAAK8Q,QAEH9Q,KAAK2Q,OAAOK,iBADV,IAEX,CACA,gBAAAE,GACE,OAAKlR,KAAK8Q,QAEH9Q,KAAK2Q,OAAOO,mBADV,IAEX,CACA,MAAA2B,CAAO4B,EAAQ1P,EAAM2P,GACnB,IAAK1U,KAAK8Q,QAOR,YANe,IAAX2D,IACFzU,KAAK4S,WAAa6B,EAClB/C,YAAW,KACT1R,KAAK4S,WAAa,IAAI,GA7MJ,OAmNxB,GADoB7N,EAA2C,aAATA,EAA3B0P,EAAS,GAAKA,EAAS,EAClC,CACd,MAAMpP,EAAWrF,KAAK2Q,OAAOQ,cAC7B,OAAK9L,OAILrF,KAAK2Q,OAAOkC,OAAOxN,EAAWoP,EAAQC,QAHpClQ,QAAQ2P,KAAK,0EAKjB,CACAnU,KAAK2Q,OAAOkC,OAAO4B,EAAQC,EAC7B,CACA,MAAAC,GACE,MAAMC,EAAU5U,KAAKzG,MAAMwZ,aAC3B,OAAK6B,EAGkBxE,EAAaF,QAAQnD,cAC1C6H,EACA,IACK5U,KAAKzG,MACRsb,QAAS7U,KAAK8U,kBACd/C,QAAS/R,KAAK+U,YACdvC,OAAQxS,KAAKgV,WACblC,QAAS9S,KAAKiV,YACdpJ,QAAS7L,KAAKkV,YACdC,SAAUnV,KAAKoV,aACfjC,QAASnT,KAAKqV,cAZT,IAeX,EAEF1F,EAAcQ,EAAQ,cAAe,UACrCR,EAAcQ,EAAQ,YAAaG,EAAagF,WAChD3F,EAAcQ,EAAQ,eAAgBG,EAAa7R,a,wBC7RnD,IA2BoB8P,EA3BhBC,EAAWtb,OAAOub,OAClBC,EAAYxb,OAAOyb,eACnBC,EAAmB1b,OAAO2b,yBAC1BC,EAAoB5b,OAAO6b,oBAC3BC,EAAe9b,OAAO+b,eACtBC,EAAehc,OAAOC,UAAUqC,eAMhC2Z,EAAc,CAAC9W,EAAI+W,EAAMC,EAAQxQ,KACnC,GAAIuQ,GAAwB,iBAATA,GAAqC,mBAATA,EAC7C,IAAK,IAAI7Z,KAAOuZ,EAAkBM,GAC3BF,EAAa7b,KAAKgF,EAAI9C,IAAQA,IAAQ8Z,GACzCX,EAAUrW,EAAI9C,EAAK,CAAE+Z,IAAK,IAAMF,EAAK7Z,GAAMga,aAAc1Q,EAAO+P,EAAiBQ,EAAM7Z,KAASsJ,EAAK0Q,aAE3G,OAAOlX,CAAE,EAEPmX,EAAU,CAACjB,EAAKkB,EAAYrb,KAAYA,EAAgB,MAAPma,EAAcC,EAASQ,EAAaT,IAAQ,CAAC,EAAGY,GAKnGM,GAAelB,GAAQA,EAAImB,WAA8Etb,EAAjEsa,EAAUta,EAAQ,UAAW,CAAErB,MAAOwb,EAAKgB,YAAY,IAC/FhB,IAGEoB,EAAgB,CAACC,EAAKra,EAAKxC,KAtBT,EAAC6c,EAAKra,EAAKxC,KAAUwC,KAAOqa,EAAMlB,EAAUkB,EAAKra,EAAK,CAAEga,YAAY,EAAMM,cAAc,EAAMC,UAAU,EAAM/c,UAAW6c,EAAIra,GAAOxC,CAAK,EAuB7Jgd,CAAgBH,EAAoB,iBAARra,EAAmBA,EAAM,GAAKA,EAAKxC,GACxDA,GAELwiB,EAAsB,CAAC,EAzBZ,EAACnhB,EAAQ0B,KACtB,IAAK,IAAI6O,KAAQ7O,EACf4Y,EAAUta,EAAQuQ,EAAM,CAAE2K,IAAKxZ,EAAI6O,GAAO4K,YAAY,GAAO,EAwBjEU,CAASsF,EAAqB,CAC5BC,kBAAmB,IAAMA,IAE3Bnf,EAAOC,SATaiY,EASUgH,EATFpG,EAAYT,EAAU,CAAC,EAAG,aAAc,CAAE3b,OAAO,IAASwb,IAUtF,IAAI6B,EAAeZ,EAAQ,EAAQ,QAC/BiG,EAAmBjG,EAAQ,EAAQ,QACnCkG,EAAqBlG,EAAQ,EAAQ,QACrCa,EAA4Bb,EAAQ,EAAQ,QAC5Cc,EAAe,EAAQ,MACvBC,EAAe,EAAQ,OACvBoF,EAAgBnG,EAAQ,EAAQ,QACpC,MAAMoG,GAAU,EAAIrF,EAAasF,OAAM,IAAM,uCAIvCC,EAA+B,oBAAX9U,QAA0BA,OAAO6L,UAAgC,oBAAbA,SACxEkJ,OAA8B,IAAX,EAAAC,GAA0B,EAAAA,EAAOhV,QAAU,EAAAgV,EAAOhV,OAAO6L,SAC5EoJ,EAAkB/iB,OAAOwB,KAAK4b,EAAagF,WAC3CY,EAAoBJ,GAAcC,EAAY3F,EAAa+F,SAAW,IAAM,KAC5EC,EAAgB,GAChBZ,EAAoB,CAACa,EAASC,KAClC,IAAIC,EACJ,OAAOA,EAAK,cAAcnG,EAAaI,UACrC,WAAAC,GACEC,SAAS7Q,WACT8P,EAAc3P,KAAM,QAAS,CAC3BwW,cAAexW,KAAKzG,MAAMkd,QAG5B9G,EAAc3P,KAAM,aAAc,CAChC0W,QAAUA,IACR1W,KAAK0W,QAAUA,CAAO,EAExB/F,OAASA,IACP3Q,KAAK2Q,OAASA,CAAM,IAGxBhB,EAAc3P,KAAM,sBAAuBuJ,IACzCvJ,KAAK2W,SAAS,CAAEH,aAAa,IAC7BxW,KAAKzG,MAAMqd,eAAerN,EAAE,IAE9BoG,EAAc3P,KAAM,eAAe,KACjCA,KAAK2W,SAAS,CAAEH,aAAa,GAAO,IAEtC7G,EAAc3P,KAAM,eAAe,IAC5BA,KAAK2Q,OAEH3Q,KAAK2Q,OAAOQ,cADV,OAGXxB,EAAc3P,KAAM,kBAAkB,IAC/BA,KAAK2Q,OAEH3Q,KAAK2Q,OAAOK,iBADV,OAGXrB,EAAc3P,KAAM,oBAAoB,IACjCA,KAAK2Q,OAEH3Q,KAAK2Q,OAAOO,mBADV,OAGXvB,EAAc3P,KAAM,qBAAqB,CAACzK,EAAM,WACzCyK,KAAK2Q,OAEH3Q,KAAK2Q,OAAOkG,kBAAkBthB,GAD5B,OAGXoa,EAAc3P,KAAM,UAAU,CAAC8W,EAAU/R,EAAM2P,KAC7C,IAAK1U,KAAK2Q,OACR,OAAO,KACT3Q,KAAK2Q,OAAOkC,OAAOiE,EAAU/R,EAAM2P,EAAY,IAEjD/E,EAAc3P,KAAM,eAAe,KACjCA,KAAKzG,MAAMwY,QAAQ/R,KAAK,IAE1B2P,EAAc3P,KAAM,mBAAmB,EAAI0V,EAAmBxF,UAAUzM,IACtE,IAAK,MAAMkN,IAAU,IAAIyF,KAAkBC,GACzC,GAAI1F,EAAOoG,QAAQtT,GACjB,OAAOkN,EAGX,OAAI2F,GAGG,IAAI,KAEb3G,EAAc3P,KAAM,aAAa,EAAI0V,EAAmBxF,UAAS,CAACzM,EAAKlO,KACrE,MAAM,OAAEyhB,GAAWhX,KAAKzG,MACxB,OAAOkc,EAAiBvF,QAAQpa,IAAI,CAClCwa,EAAa7R,aAAauY,OAC1B1G,EAAa7R,aAAauY,OAAOzhB,IAAQ,CAAC,EAC1CyhB,EACAA,EAAOzhB,IAAQ,CAAC,GAChB,KAEJoa,EAAc3P,KAAM,iBAAiB,EAAI0V,EAAmBxF,UAAUzM,IAC7D,EAAI8M,EAAa0G,MAAMjX,KAAKzG,MAAO0c,MAE5CtG,EAAc3P,KAAM,sBAAuByD,IACzC,IAAKA,EACH,OAAO,KACT,MAAMkN,EAAS3Q,KAAKkX,gBAAgBzT,GACpC,IAAKkN,EACH,OAAO,KACT,MAAMqG,EAAShX,KAAKmX,UAAU1T,EAAKkN,EAAOpb,KAC1C,OAAuB6a,EAAaF,QAAQnD,cAC1C4I,EAAczF,QACd,IACKlQ,KAAKzG,MACRhE,IAAKob,EAAOpb,IACZ4K,IAAKH,KAAKoX,WAAWzG,OACrBqG,SACAjE,aAAcpC,EAAO0G,YAAc1G,EACnCoB,QAAS/R,KAAK+U,aAEjB,GAEL,CACA,qBAAAuC,CAAsBC,EAAWC,GAC/B,QAAQ,EAAInH,EAA0BH,SAASlQ,KAAKzG,MAAOge,MAAe,EAAIlH,EAA0BH,SAASlQ,KAAKlC,MAAO0Z,EAC/H,CACA,kBAAA3D,CAAmBC,GACjB,MAAM,MAAE2C,GAAUzW,KAAKzG,OAClBua,EAAU2C,OAASA,GACtBzW,KAAK2W,SAAS,CAAEH,aAAa,IAE3B1C,EAAU2C,QAAUA,GACtBzW,KAAK2W,SAAS,CAAEH,aAAa,GAEjC,CACA,aAAAiB,CAAchU,GACZ,IAAKA,EACH,OAAO,KACT,MAAM,MAAEgT,EAAK,SAAEiB,EAAQ,gBAAEC,EAAe,UAAEC,EAAS,iBAAEC,GAAqB7X,KAAKzG,MAC/E,OAAuB6W,EAAaF,QAAQnD,cAC1C6I,EACA,CACEnS,MACAgT,QACAiB,WACAC,kBACAE,mBACAD,YACApf,QAASwH,KAAK8X,oBAGpB,CACA,MAAAnD,GACE,MAAM,IAAElR,EAAG,MAAEoD,EAAK,MAAEvJ,EAAK,OAAEkB,EAAQ8X,SAAUyB,EAAWrB,QAASsB,GAAYhY,KAAKzG,OAC5E,YAAEid,GAAgBxW,KAAKlC,MACvBma,EAAajY,KAAKkY,cAAczU,GAChC0U,EAAgC,iBAAZH,EAAuBhY,KAAKoX,WAAWV,aAAU,EAC3E,OAAuBtG,EAAaF,QAAQnD,cAAciL,EAAS,CAAE7X,IAAKgY,EAAYtR,MAAO,IAAKA,EAAOvJ,QAAOkB,aAAayZ,GAA8B7H,EAAaF,QAAQnD,cAAcmJ,EAAmB,CAAEI,SAAUyB,GAAavB,EAAcxW,KAAKyX,cAAchU,GAAOzD,KAAKoY,mBAAmB3U,IAC5S,GACCkM,EAAc4G,EAAI,cAAe,eAAgB5G,EAAc4G,EAAI,YAAajG,EAAagF,WAAY3F,EAAc4G,EAAI,eAAgBjG,EAAa7R,cAAekR,EAAc4G,EAAI,mBAAoB5F,IAC9MyF,EAAciC,KAAK1H,EAAO,IACxBhB,EAAc4G,EAAI,uBAAuB,KAC3CH,EAActW,OAAS,CAAC,IACtB6P,EAAc4G,EAAI,WAAY9S,IAChC,IAAK,MAAMmR,IAAW,IAAIwB,KAAkBC,GAC1C,GAAIzB,EAAQmC,QAAQtT,GAClB,OAAO,EAGX,OAAO,CAAK,IACVkM,EAAc4G,EAAI,gBAAiB9S,IACrC,IAAK,MAAMmR,IAAW,IAAIwB,KAAkBC,GAC1C,GAAIzB,EAAQ0D,cAAgB1D,EAAQ0D,aAAa7U,GAC/C,OAAO,EAGX,OAAO,CAAK,IACV8S,CAAE,C,wBC1MR,IA0BoBhI,EA1BhBC,EAAWtb,OAAOub,OAClBC,EAAYxb,OAAOyb,eACnBC,EAAmB1b,OAAO2b,yBAC1BC,EAAoB5b,OAAO6b,oBAC3BC,EAAe9b,OAAO+b,eACtBC,EAAehc,OAAOC,UAAUqC,eAKhC2Z,EAAc,CAAC9W,EAAI+W,EAAMC,EAAQxQ,KACnC,GAAIuQ,GAAwB,iBAATA,GAAqC,mBAATA,EAC7C,IAAK,IAAI7Z,KAAOuZ,EAAkBM,GAC3BF,EAAa7b,KAAKgF,EAAI9C,IAAQA,IAAQ8Z,GACzCX,EAAUrW,EAAI9C,EAAK,CAAE+Z,IAAK,IAAMF,EAAK7Z,GAAMga,aAAc1Q,EAAO+P,EAAiBQ,EAAM7Z,KAASsJ,EAAK0Q,aAE3G,OAAOlX,CAAE,EAWPkgB,EAAc,CAAC,EArBJ,EAACnkB,EAAQ0B,KACtB,IAAK,IAAI6O,KAAQ7O,EACf4Y,EAAUta,EAAQuQ,EAAM,CAAE2K,IAAKxZ,EAAI6O,GAAO4K,YAAY,GAAO,EAoBjEU,CAASsI,EAAa,CACpBrI,QAAS,IAAMsI,IAEjBniB,EAAOC,SALaiY,EAKUgK,EALFpJ,EAAYT,EAAU,CAAC,EAAG,aAAc,CAAE3b,OAAO,IAASwb,IAMtF,IAAIkK,EAdU,EAAClK,EAAKkB,EAAYrb,KAAYA,EAAgB,MAAPma,EAAcC,EAASQ,EAAaT,IAAQ,CAAC,EAAGY,GAKnGM,GAAelB,GAAQA,EAAImB,WAA8Etb,EAAjEsa,EAAUta,EAAQ,UAAW,CAAErB,MAAOwb,EAAKgB,YAAY,IAC/FhB,IAQmBiB,CAAQ,EAAQ,QACjCkJ,EAAqB,EAAQ,OACjC,MAAMpC,EAAWmC,EAAevI,QAAQuI,EAAevI,QAAQpQ,OAAS,GACxE,IAAI0Y,GAAc,EAAIE,EAAmBlD,mBAAmBiD,EAAevI,QAASoG,E,wBCnCpF,IAgBoB/H,EAhBhBG,EAAYxb,OAAOyb,eACnBC,EAAmB1b,OAAO2b,yBAC1BC,EAAoB5b,OAAO6b,oBAC3BG,EAAehc,OAAOC,UAAUqC,eAchCmjB,EAAmB,CAAC,EAbT,EAACvkB,EAAQ0B,KACtB,IAAK,IAAI6O,KAAQ7O,EACf4Y,EAAUta,EAAQuQ,EAAM,CAAE2K,IAAKxZ,EAAI6O,GAAO4K,YAAY,GAAO,EAYjEU,CAAS0I,EAAkB,CACzBC,iBAAkB,IAAMA,EACxBC,gBAAiB,IAAMA,EACvBC,eAAgB,IAAMA,EACtBC,eAAgB,IAAMA,EACtBC,sBAAuB,IAAMA,EAC7BC,mBAAoB,IAAMA,EAC1BC,yBAA0B,IAAMA,EAChCC,kBAAmB,IAAMA,EACzBC,mBAAoB,IAAMA,EAC1BC,cAAe,IAAMA,EACrBC,qBAAsB,IAAMA,EAC5BC,qBAAsB,IAAMA,EAC5BC,yBAA0B,IAAMA,EAChCC,uBAAwB,IAAMA,EAC9BC,kBAAmB,IAAMA,EACzBC,gBAAiB,IAAMA,EACvBC,iBAAkB,IAAMA,EACxBC,kBAAmB,IAAMA,EACzBC,iBAAkB,IAAMA,EACxB/C,QAAS,IAAMA,IAEjB1gB,EAAOC,SAxBaiY,EAwBUoK,EAhCZ,EAACtgB,EAAI+W,EAAMC,EAAQxQ,KACnC,GAAIuQ,GAAwB,iBAATA,GAAqC,mBAATA,EAC7C,IAAK,IAAI7Z,KAAOuZ,EAAkBM,GAC3BF,EAAa7b,KAAKgF,EAAI9C,IAAQA,IAAQ8Z,GACzCX,EAAUrW,EAAI9C,EAAK,CAAE+Z,IAAK,IAAMF,EAAK7Z,GAAMga,aAAc1Q,EAAO+P,EAAiBQ,EAAM7Z,KAASsJ,EAAK0Q,aAE3G,OAAOlX,CAAE,EAEiB8W,CAAYT,EAAU,CAAC,EAAG,aAAc,CAAE3b,OAAO,IAASwb,IAyBtF,IAAIgC,EAAe,EAAQ,OAC3B,MAAMsJ,EAAoB,sLACpBP,EAAuB,sCACvBK,EAAkB,yCAClBN,EAAgB,uCAChBJ,EAAqB,6EACrBC,EAA2B,6BAC3BK,EAAuB,gCACvBK,EAAmB,yEACnBH,EAAyB,iDACzBD,EAA2B,mDAC3BR,EAAwB,qIACxBI,EAAqB,gCACrBM,EAAoB,4CACpBP,EAAoB,iKACpBP,EAAmB,yEACnBkB,EAAmB,kDACnBf,EAAiB,kBACjBF,EAAkB,iBAClBC,EAAiB,iBACjBiB,EAAetW,IACnB,GAAIA,aAAexP,MAAO,CACxB,IAAK,MAAM+lB,KAAQvW,EAAK,CACtB,GAAoB,iBAATuW,GAAqBD,EAAYC,GAC1C,OAAO,EAET,GAAID,EAAYC,EAAK3a,KACnB,OAAO,CAEX,CACA,OAAO,CACT,CACA,UAAI,EAAIkR,EAAa2D,eAAezQ,MAAQ,EAAI8M,EAAa0J,WAAWxW,MAGjEmV,EAAiBsB,KAAKzW,IAAQqW,EAAiBI,KAAKzW,IAAQsV,EAAemB,KAAKzW,IAAQoV,EAAgBqB,KAAKzW,IAAQqV,EAAeoB,KAAKzW,GAAI,EAEhJsT,EAAU,CACdoD,QAAU1W,GACJA,aAAexP,MACVwP,EAAI2W,OAAOJ,GAASH,EAAkBK,KAAKF,KAE7CH,EAAkBK,KAAKzW,GAEhC4W,WAAa5W,GAAQ6V,EAAqBY,KAAKzW,KAASmV,EAAiBsB,KAAKzW,GAC9E6W,MAAQ7W,GAAQkW,EAAgBO,KAAKzW,KAASqW,EAAiBI,KAAKzW,KAASsV,EAAemB,KAAKzW,GACjG8W,IAAM9W,GAAQ4V,EAAca,KAAKzW,GACjC+W,SAAW/W,GAAQwV,EAAmBiB,KAAKzW,IAAQyV,EAAyBgB,KAAKzW,GACjFgX,WAAahX,GAAQ8V,EAAqBW,KAAKzW,GAC/CiX,OAASjX,GAAQmW,EAAiBM,KAAKzW,GACvCkX,OAASlX,GAAQgW,EAAuBS,KAAKzW,IAAQ+V,EAAyBU,KAAKzW,GACnFmX,YAAcnX,GAAQuV,EAAsBkB,KAAKzW,GACjDoX,SAAWpX,GAAQ2V,EAAmBc,KAAKzW,GAC3CqX,QAAUrX,GAAQiW,EAAkBQ,KAAKzW,GACzCsX,QAAUtX,GAAQ0V,EAAkBe,KAAKzW,GACzCuX,KAAMjB,E,wBChGO7mB,OAAOub,OAAtB,IA0BoBF,EAzBhBG,EAAYxb,OAAOyb,eACnBC,EAAmB1b,OAAO2b,yBAC1BC,EAAoB5b,OAAO6b,oBAE3BG,GADehc,OAAO+b,eACP/b,OAAOC,UAAUqC,gBAKhC2Z,EAAc,CAAC9W,EAAI+W,EAAMC,EAAQxQ,KACnC,GAAIuQ,GAAwB,iBAATA,GAAqC,mBAATA,EAC7C,IAAK,IAAI7Z,KAAOuZ,EAAkBM,GAC3BF,EAAa7b,KAAKgF,EAAI9C,IAAQA,IAAQ8Z,GACzCX,EAAUrW,EAAI9C,EAAK,CAAE+Z,IAAK,IAAMF,EAAK7Z,GAAMga,aAAc1Q,EAAO+P,EAAiBQ,EAAM7Z,KAASsJ,EAAK0Q,aAE3G,OAAOlX,CAAE,EAWP4iB,EAAkB,CAAC,EArBR,EAAC7mB,EAAQ0B,KACtB,IAAK,IAAI6O,KAAQ7O,EACf4Y,EAAUta,EAAQuQ,EAAM,CAAE2K,IAAKxZ,EAAI6O,GAAO4K,YAAY,GAAO,EAoBjEU,CAASgL,EAAiB,CACxB/K,QAAS,IAAMgL,IAEjB7kB,EAAOC,SALaiY,EAKU0M,EALF9L,EAAYT,EAAU,CAAC,EAAG,aAAc,CAAE3b,OAAO,IAASwb,IAMtF,IAAIgC,EAAe,EAAQ,OACvB4K,EAAkB,EAAQ,OAC1BD,EAAkB,CACpB,CACE3lB,IAAK,UACLoP,KAAM,UACNoS,QAASoE,EAAgBpE,QAAQoD,QACjC9C,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,aACLoP,KAAM,aACNoS,QAASoE,EAAgBpE,QAAQsD,WACjChD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,QACLoP,KAAM,QACNoS,QAASoE,EAAgBpE,QAAQuD,MACjCjD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,MACLoP,KAAM,MACNoS,QAASoE,EAAgBpE,QAAQwD,IACjClD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,WACLoP,KAAM,WACNoS,QAASoE,EAAgBpE,QAAQyD,SACjCnD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,aACLoP,KAAM,aACNoS,QAASoE,EAAgBpE,QAAQ0D,WACjCpD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,uCAK3C,CACEtgB,IAAK,SACLoP,KAAM,SACNoS,QAASoE,EAAgBpE,QAAQ2D,OACjCrD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,SACLoP,KAAM,SACNoS,QAASoE,EAAgBpE,QAAQ4D,OACjCtD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,cACLoP,KAAM,cACNoS,QAASoE,EAAgBpE,QAAQ6D,YACjCvD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,WACLoP,KAAM,WACNoS,QAASoE,EAAgBpE,QAAQ8D,SACjCxD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,uCAK3C,CACEtgB,IAAK,UACLoP,KAAM,UACNoS,QAASoE,EAAgBpE,QAAQ+D,QACjCzD,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,UACLoP,KAAM,UACNoS,QAASoE,EAAgBpE,QAAQgE,QACjC1D,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wCAK3C,CACEtgB,IAAK,OACLoP,KAAM,aACNoS,QAASoE,EAAgBpE,QAAQiE,KACjC1C,aAAe7U,GACN0X,EAAgBpE,QAAQiE,KAAKvX,KAASoJ,SAASuO,0BAA2B,EAAI7K,EAAa8K,qCAAuCF,EAAgBvC,iBAAiBsB,KAAKzW,GAEjL4T,YAAY,EAAI9G,EAAasF,OAAM,IAAM,wC,uBCtJ7C,IA0BoBtH,EA1BhBC,EAAWtb,OAAOub,OAClBC,EAAYxb,OAAOyb,eACnBC,EAAmB1b,OAAO2b,yBAC1BC,EAAoB5b,OAAO6b,oBAC3BC,EAAe9b,OAAO+b,eACtBC,EAAehc,OAAOC,UAAUqC,eAKhC2Z,EAAc,CAAC9W,EAAI+W,EAAMC,EAAQxQ,KACnC,GAAIuQ,GAAwB,iBAATA,GAAqC,mBAATA,EAC7C,IAAK,IAAI7Z,KAAOuZ,EAAkBM,GAC3BF,EAAa7b,KAAKgF,EAAI9C,IAAQA,IAAQ8Z,GACzCX,EAAUrW,EAAI9C,EAAK,CAAE+Z,IAAK,IAAMF,EAAK7Z,GAAMga,aAAc1Q,EAAO+P,EAAiBQ,EAAM7Z,KAASsJ,EAAK0Q,aAE3G,OAAOlX,CAAE,EAWPijB,EAAgB,CAAC,EArBN,EAAClnB,EAAQ0B,KACtB,IAAK,IAAI6O,KAAQ7O,EACf4Y,EAAUta,EAAQuQ,EAAM,CAAE2K,IAAKxZ,EAAI6O,GAAO4K,YAAY,GAAO,EAoBjEU,CAASqL,EAAe,CACtB7c,aAAc,IAAMA,EACpB6W,UAAW,IAAMA,IAEnBjf,EAAOC,SANaiY,EAMU+M,EANFnM,EAAYT,EAAU,CAAC,EAAG,aAAc,CAAE3b,OAAO,IAASwb,IAOtF,IAAIgN,EAfU,EAAChN,EAAKkB,EAAYrb,KAAYA,EAAgB,MAAPma,EAAcC,EAASQ,EAAaT,IAAQ,CAAC,EAAGY,GAKnGM,GAAelB,GAAQA,EAAImB,WAA8Etb,EAAjEsa,EAAUta,EAAQ,UAAW,CAAErB,MAAOwb,EAAKgB,YAAY,IAC/FhB,IASsBiB,CAAQ,EAAQ,OACxC,MAAM,OAAEgM,EAAM,KAAEC,EAAI,OAAEC,EAAM,MAAE3lB,EAAK,UAAE4lB,EAAS,MAAEC,EAAK,OAAE3mB,EAAM,KAAE4mB,EAAI,KAAEhf,GAAS0e,EAAkBrL,QAC1FoF,EAAY,CAChB7R,IAAKkY,EAAU,CAACH,EAAQzlB,EAAOd,IAC/B2W,QAAS6P,EACTzI,KAAMyI,EACN9P,SAAU8P,EACVzJ,OAAQ0J,EACRzJ,MAAOwJ,EACPhJ,aAAciJ,EACdpe,MAAOqe,EAAU,CAACH,EAAQE,IAC1Bld,OAAQmd,EAAU,CAACH,EAAQE,IAC3B7U,MAAO5R,EACP2c,iBAAkB8J,EAClBI,YAAaL,EACb1H,IAAK0H,EACL/H,cAAe+H,EACfhF,MAAOkF,EAAU,CAACF,EAAMD,EAAQvmB,IAChCyiB,SAAU7a,EACV8a,gBAAiB+D,EACjB7D,iBAAkB2D,EAClBlF,SAAUzZ,EACV+a,UAAW4D,EACX9E,QAASiF,EAAU,CACjBH,EACAK,EACAD,EAAM,CAAEjH,OAAQkH,EAAKE,eAEvB/E,OAAQ4E,EAAM,CACZvB,WAAYuB,EAAM,CAChB/nB,QAASoB,IAEXklB,QAASyB,EAAM,CACbI,WAAY/mB,EACZgnB,aAAchnB,EACdinB,YAAaL,IAEfrB,SAAUoB,EAAM,CACdO,MAAOX,EACPY,QAASZ,EACTa,SAAUb,EACVvD,WAAYhjB,IAEd2lB,YAAagB,EAAM,CACjBU,OAAQrnB,IAEVqlB,MAAOsB,EAAM,CACXW,cAAetnB,EACfyD,MAAO8iB,IAETjB,IAAKqB,EAAM,CACT3D,WAAYhjB,EACZmnB,QAASZ,IAEXR,KAAMY,EAAM,CACV3D,WAAYhjB,EACZunB,OAAQzmB,EACR0mB,WAAYhB,EACZiB,WAAYjB,EACZkB,SAAUlB,EACVmB,eAAgBnB,EAChBoB,gBAAiBpB,EACjBqB,UAAWrB,EACXsB,SAAUtB,EACVuB,WAAY/nB,EACZgoB,WAAYzB,EACZ0B,YAAa1B,EACb2B,WAAY3B,IAEdd,OAAQkB,EAAM,CACZ/nB,QAASoB,EACTonB,SAAUb,EACV4B,eAAgBrnB,IAElB8kB,SAAUe,EAAM,CACd/nB,QAASoB,IAEX0lB,OAAQiB,EAAM,CACZ/nB,QAASoB,EACTonB,SAAUb,IAEZV,QAASc,EAAM,CACb/nB,QAASoB,MAGb8c,QAAS8J,EACTtJ,QAASsJ,EACTrJ,OAAQqJ,EACR/I,QAAS+I,EACTwB,SAAUxB,EACVyB,YAAazB,EACbhQ,QAASgQ,EACT1I,QAAS0I,EACTtI,WAAYsI,EACZ0B,OAAQ1B,EACR2B,qBAAsB3B,EACtB4B,wBAAyB5B,EACzBrK,WAAYqK,EACZjF,eAAgBiF,EAChB6B,YAAa7B,EACb8B,aAAc9B,GAEV+B,EAAO,OAEPnf,EAAe,CACnBmN,SAAS,EACToH,MAAM,EACNrH,UAAU,EACVqG,OAAQ,KACRC,OAAO,EACPQ,aAAc,EACdnV,MAAO,QACPkB,OAAQ,QACRqI,MAAO,CAAC,EACR+K,iBAAkB,IAClBkK,aAAa,EACb/H,KAAK,EACLL,eAAe,EACf+C,OAAO,EACPH,SAAU,KACVI,QAAS,MACTiB,gBAAiB,EACjBE,iBAAkB,GAClBD,UAAW,sCACXZ,OAAQ,CACNqD,WAAY,CACVxmB,QAAS,CACPgqB,QAAQ,EAERC,QAAQ,EACRC,QAAQ,EACRC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,gBAAgB,IAGpBhE,QAAS,CACP6B,WAAY,CACVF,YAAa,EACbsC,SAAU,EACV3e,IAAK,EACL4e,eAAgB,EAChBC,eAAgB,GAElBrC,aAAc,CAAC,EACfC,YAAa0B,GAEfpD,SAAU,CACR2B,MAAO,mBACPC,QAAS,OACTC,SAAU,KACVpE,WAAY,CAAC,GAEf2C,YAAa,CACX0B,OAAQ,CACNiC,IAAK,EACL,oBAAoB,IAGxBjE,MAAO,CACLiC,cAAe,CACbiC,WAAW,EACXC,QAAQ,EACRC,UAAU,EACVhmB,OAAO,GAETA,MAAO,MAET6hB,IAAK,CACHtC,WAAY,CAAC,EACbmE,QAAS,KAEXpB,KAAM,CACJ/C,WAAY,CAAC,EACbuE,OAAQ,GACRC,YAAY,EACZC,YAAY,EACZC,UAAU,EACVG,WAAW,EACXC,UAAU,EACVC,WAAY,CAAC,EACbC,WAAY,QACZC,YAAa,QACbC,WAAY,QACZN,iBAAiB,GAEnBnC,OAAQ,CACN7mB,QAAS,CAAC,EACVwoB,SAAU,KACVe,eAAgB,MAElBvC,SAAU,CACRhnB,QAAS,CACP8qB,WAAY,IAGhBhE,OAAQ,CACN9mB,QAAS,CAAC,EACVwoB,SAAU,MAEZvB,QAAS,CACPjnB,QAAS,CAAC,IAGdke,QAAS6L,EACTrL,QAASqL,EACTpL,OAAQoL,EACR9K,QAAS8K,EACTP,SAAUO,EACVN,YAAaM,EACb/R,QAAS+R,EACTzK,QAASyK,EACTrK,WAAYqK,EACZL,OAAQK,EACRJ,qBAAsBI,EACtBH,wBAAyBG,EACzBpM,WAAYoM,EACZhH,eAAgBgH,EAChBF,YAAaE,EACbD,aAAcC,E,wBC7PhB,IA0BoBrP,EA1BhBC,EAAWtb,OAAOub,OAClBC,EAAYxb,OAAOyb,eACnBC,EAAmB1b,OAAO2b,yBAC1BC,EAAoB5b,OAAO6b,oBAC3BC,EAAe9b,OAAO+b,eACtBC,EAAehc,OAAOC,UAAUqC,eAKhC2Z,EAAc,CAAC9W,EAAI+W,EAAMC,EAAQxQ,KACnC,GAAIuQ,GAAwB,iBAATA,GAAqC,mBAATA,EAC7C,IAAK,IAAI7Z,KAAOuZ,EAAkBM,GAC3BF,EAAa7b,KAAKgF,EAAI9C,IAAQA,IAAQ8Z,GACzCX,EAAUrW,EAAI9C,EAAK,CAAE+Z,IAAK,IAAMF,EAAK7Z,GAAMga,aAAc1Q,EAAO+P,EAAiBQ,EAAM7Z,KAASsJ,EAAK0Q,aAE3G,OAAOlX,CAAE,EAEPmX,EAAU,CAACjB,EAAKkB,EAAYrb,KAAYA,EAAgB,MAAPma,EAAcC,EAASQ,EAAaT,IAAQ,CAAC,EAAGY,GAKnGM,GAAelB,GAAQA,EAAImB,WAA8Etb,EAAjEsa,EAAUta,EAAQ,UAAW,CAAErB,MAAOwb,EAAKgB,YAAY,IAC/FhB,IAGEqQ,EAAgB,CAAC,EArBN,EAACxqB,EAAQ0B,KACtB,IAAK,IAAI6O,KAAQ7O,EACf4Y,EAAUta,EAAQuQ,EAAM,CAAE2K,IAAKxZ,EAAI6O,GAAO4K,YAAY,GAAO,EAoBjEU,CAAS2O,EAAe,CACtBC,WAAY,IAAMA,EAClB1H,UAAW,IAAMA,EACjB2H,OAAQ,IAAMA,EACd7E,UAAW,IAAMA,EACjB/F,cAAe,IAAMA,EACrB2B,KAAM,IAAMA,EACZoB,KAAM,IAAMA,EACZ8H,aAAc,IAAMA,EACpBC,eAAgB,IAAMA,EACtBC,YAAa,IAAMA,EACnBC,aAAc,IAAMA,EACpB7D,+BAAgC,IAAMA,IAExChlB,EAAOC,SAhBaiY,EAgBUqQ,EAhBFzP,EAAYT,EAAU,CAAC,EAAG,aAAc,CAAE3b,OAAO,IAASwb,IAiBtF,IAAI6B,EAAeZ,EAAQ,EAAQ,QAC/B2P,EAAqB3P,EAAQ,EAAQ,OACrCiG,EAAmBjG,EAAQ,EAAQ,QACvC,MAAMqG,EAAQuJ,GAAsBhP,EAAaF,QAAQ2F,MAAK5Q,UAC5D,MAAM2K,QAAYwP,IAClB,MAA8B,mBAAhBxP,EAAIM,QAAyBN,EAAMA,EAAIM,OAAO,IAExDmP,EAAoB,+BACpBC,EAAkB,uBAClBC,EAAoB,gBACpBC,EAAgB,QACtB,SAASC,EAAehc,EAAKic,GAC3B,GAAIjc,aAAexP,MACjB,OAEF,MAAM0rB,EAAQlc,EAAIkc,MAAMD,GACxB,GAAIC,EAAO,CACT,MAAMC,EAAQD,EAAM,GACpB,GAAIC,EAAMD,MAAMJ,GACd,OAQN,SAAyBK,GACvB,IAAI/c,EAAU,EACV9M,EAAQwpB,EAAkBM,KAAKD,GACnC,KAAiB,OAAV7pB,GAAgB,CACrB,MAAO,CAAE+pB,EAAOC,GAAUhqB,EACX,MAAXgqB,IACFld,GAAiC,GAAtBmd,SAASF,EAAO,IAAW,IACzB,MAAXC,IACFld,GAAiC,GAAtBmd,SAASF,EAAO,KACd,MAAXC,IACFld,GAAWmd,SAASF,EAAO,KAC7B/pB,EAAQwpB,EAAkBM,KAAKD,EACjC,CACA,OAAO/c,CACT,CAtBaod,CAAgBL,GAEzB,GAAIJ,EAActF,KAAK0F,GACrB,OAAOI,SAASJ,EAEpB,CAEF,CAgBA,SAASZ,EAAevb,GACtB,OAAOgc,EAAehc,EAAK4b,EAC7B,CACA,SAASN,EAAatb,GACpB,OAAOgc,EAAehc,EAAK6b,EAC7B,CACA,SAASJ,IACP,OAAOpc,KAAKod,SAAS9sB,SAAS,IAAI+sB,OAAO,EAAG,EAC9C,CACA,SAASlB,EAAYhqB,GACnB,OAAO/B,OAAOwB,KAAKO,GAAQV,KAAKgB,GAAQ,GAAGA,KAAON,EAAOM,OAAQ6qB,KAAK,IACxE,CACA,SAASC,EAAU9qB,GACjB,OAAIyL,OAAOzL,GACFyL,OAAOzL,GAEZyL,OAAO1K,SAAW0K,OAAO1K,QAAQf,GAC5ByL,OAAO1K,QAAQf,GAEpByL,OAAO3K,QAAU2K,OAAO3K,OAAOC,SAAW0K,OAAO3K,OAAOC,QAAQf,GAC3DyL,OAAO3K,OAAOC,QAAQf,GAExB,IACT,CACA,MAAM+qB,EAAW,CAAC,EACZxB,EAqEN,SAAsByB,GAChB,EAKJ,OAAOA,CACT,CA5EeC,EAAa,SAAiB/c,EAAKgd,EAAWC,EAAW,KAAMC,EAAW,MAAM,GAAMC,EAAczB,EAAmBjP,SACpI,MAAM2Q,EAAiBR,EAAUI,GACjC,OAAII,GAAkBF,EAASE,GACtBC,QAAQC,QAAQF,GAElB,IAAIC,SAAQ,CAACC,EAASC,KAC3B,GAAIV,EAAS7c,GAEX,YADA6c,EAAS7c,GAAK4U,KAAK,CAAE0I,UAASC,WAGhCV,EAAS7c,GAAO,CAAC,CAAEsd,UAASC,WAC5B,MAAM7L,EAAY8L,IAChBX,EAAS7c,GAAKnO,SAAS4rB,GAAYA,EAAQH,QAAQE,IAAK,EAE1D,GAAIP,EAAU,CACZ,MAAMS,EAAkBngB,OAAO0f,GAC/B1f,OAAO0f,GAAY,WACbS,GACFA,IACFhM,EAASkL,EAAUI,GACrB,CACF,CACAG,EAAYnd,GAAMc,IACZA,GACF+b,EAAS7c,GAAKnO,SAAS4rB,GAAYA,EAAQF,OAAOzc,KAClD+b,EAAS7c,GAAO,MACNid,GACVvL,EAASkL,EAAUI,GACrB,GACA,GAEN,IACA,SAAStJ,EAAU5d,EAAOkF,GACxB,OAAO,EAAIgX,EAAiBvF,SAASzR,EAAauY,OAAQzd,EAAMyd,OAClE,CACA,SAASC,EAAKhiB,KAAWmsB,GACvB,MAAMC,EAAW,GAAG/sB,UAAU8sB,GACxBE,EAAS,CAAC,EACV5sB,EAAOxB,OAAOwB,KAAKO,GACzB,IAAK,MAAMM,KAAOb,GACe,IAA3B2sB,EAAShb,QAAQ9Q,KACnB+rB,EAAO/rB,GAAON,EAAOM,IAGzB,OAAO+rB,CACT,CACA,SAASzC,EAAWrb,KAAW0P,GAC7B,IAAKlT,KAAK2Q,SAAW3Q,KAAK2Q,OAAOnN,GAAS,CACxC,IAAImD,EAAU,gBAAgB3G,KAAKyQ,YAAY5Z,uCAAuC2M,SAOtF,OANKxD,KAAK2Q,OAEE3Q,KAAK2Q,OAAOnN,KACtBmD,GAAW,gCAFXA,GAAW,+BAIbnC,QAAQ2P,KAAKxN,EAAS,oBAAqB,IACpC,IACT,CACA,OAAO3G,KAAK2Q,OAAOnN,MAAW0P,EAChC,CACA,SAASgB,EAAczQ,GACrB,MAAyB,oBAAXzC,aAAwD,IAAvBA,OAAOugB,aAA+B9d,aAAezC,OAAOugB,WAC7G,CACA,SAAStH,EAAUxW,GACjB,MAAO,SAASyW,KAAKzW,EACvB,CACA,SAAS4X,EAA+BmG,EAAQ3U,SAASE,cAAc,UACrE,MAAM0U,GAAwD,IAA5C,cAAcvH,KAAK9Y,UAAUsgB,WAC/C,OAAOF,EAAMG,gCAA6E,mBAApCH,EAAMI,2BAA4CH,CAC1G,C","sources":["webpack://hpe-dev-portal/./node_modules/deepmerge/dist/cjs.js","webpack://hpe-dev-portal/./src/components/hackshack/StyledComponents/index.js","webpack://hpe-dev-portal/./src/components/hackshack/ButtonSplit/styles.js","webpack://hpe-dev-portal/./src/components/hackshack/ButtonSplit/index.js","webpack://hpe-dev-portal/./src/components/hackshack/Header/index.js","webpack://hpe-dev-portal/./src/components/hackshack/PageHeading/index.js","webpack://hpe-dev-portal/./src/components/hackshack/Layout/styles.js","webpack://hpe-dev-portal/./src/components/hackshack/Layout/index.js","webpack://hpe-dev-portal/./src/components/hackshack/SideNav/index.js","webpack://hpe-dev-portal/./src/components/hackshack/Card/styles.js","webpack://hpe-dev-portal/./src/components/hackshack/Card/Card.js","webpack://hpe-dev-portal/./src/components/hackshack/Card/CardGrid.js","webpack://hpe-dev-portal/./node_modules/grommet-icons/es6/icons/CircleInformation.js","webpack://hpe-dev-portal/./node_modules/grommet-icons/es6/icons/ShareOption.js","webpack://hpe-dev-portal/./src/components/hackshack/Share/index.js","webpack://hpe-dev-portal/./src/components/hackshack/Card/ScheduleCard.js","webpack://hpe-dev-portal/./src/components/hackshack/SubPageHeaders/index.js","webpack://hpe-dev-portal/./src/components/hackshack/Video/VideoList.js","webpack://hpe-dev-portal/./src/components/hackshack/Video/Video.js","webpack://hpe-dev-portal/./node_modules/grommet-icons/es6/icons/Close.js","webpack://hpe-dev-portal/./node_modules/grommet-icons/es6/icons/FormClose.js","webpack://hpe-dev-portal/./node_modules/grommet-icons/es6/icons/Previous.js","webpack://hpe-dev-portal/./node_modules/grommet-icons/es6/icons/StatusGood.js","webpack://hpe-dev-portal/./node_modules/load-script/index.js","webpack://hpe-dev-portal/./node_modules/memoize-one/dist/memoize-one.esm.js","webpack://hpe-dev-portal/./node_modules/react-player/lib/Player.js","webpack://hpe-dev-portal/./node_modules/react-player/lib/ReactPlayer.js","webpack://hpe-dev-portal/./node_modules/react-player/lib/index.js","webpack://hpe-dev-portal/./node_modules/react-player/lib/patterns.js","webpack://hpe-dev-portal/./node_modules/react-player/lib/players/index.js","webpack://hpe-dev-portal/./node_modules/react-player/lib/props.js","webpack://hpe-dev-portal/./node_modules/react-player/lib/utils.js"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import styled, { keyframes } from 'styled-components';\nimport { Box } from 'grommet';\n\nconst slideUp = keyframes`\n 0% {\n opacity: 0;\n transform: translateX(10px);\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0px);\n }\n`;\n\nexport const MainTitle = styled(Box)`\n opacity: 0;\n animation: ${slideUp} 0.8s ease-out;\n animation-fill-mode: forwards;\n animation-delay: 0.25s;\n`;\n","import { Box, Button } from 'grommet';\nimport styled, { keyframes } from 'styled-components';\n\nconst tealSlide = keyframes`\n 0% {\n transform: translateX(-5px) translateY(-5px);\n }\n\n 30% {\n transform: translateX(5px) translateY(-5px);\n }\n\n 60% {\n transform: translateX(5px) translateY(5px) scale(1.025);\n }\n\n 100% {\n transform: translateX(1px) translateY(1px) scale(1.025);\n }\n`;\n\nconst tealSlideReverse = keyframes`\n 0% {\n transform: translateX(0) translateY(0);\n }\n\n 30% {\n transform: translateX(4px) translateY(0);\n }\n\n 50% {\n transform: translateX(5px) translateY(-5px);\n }\n\n 100% {\n transform: translateX(-5px) translateY(-5px);\n }\n`;\n\nexport const TealBox = styled(Box)`\n transform: translateX(-5px) translateY(-5px);\n transition: transform 0.15s ease-in-out;\n animation: ${tealSlideReverse} 0.25s forwards ease-out;\n`;\n\nconst pinkSlide = keyframes`\n0% {\n transform: translateX(5px) translateY(5px);\n}\n\n30% {\n transform: translateX(-5px) translateY(5px);\n}\n\n60% {\n transform: translateX(-6px) translateY(-2px) scale(1.025);\n}\n\n100% {\n transform: translateX(-1px) translateY(-1px) scale(1.025);\n}\n`;\n\nconst pinkSlideReverse = keyframes`\n0% {\n transform: translateX(0) translateY(0);\n}\n\n30% {\n transform: translateX(-4px) translateY(0);\n}\n\n50% {\n transform: translateX(-5px) translateY(5px);\n}\n\n100% {\n transform: translateX(5px) translateY(5px);\n}\n`;\n\nexport const PinkBox = styled(Box)`\n transform: translateX(5px) translateY(5px);\n transition: transform 0.15s ease-in-out;\n mix-blend-mode: screen;\n animation: ${pinkSlideReverse} 0.2s forwards ease-out;\n`;\n\nexport const MainButton = styled(Button)`\n &:hover {\n ${TealBox} {\n animation: ${tealSlide} 0.2s forwards ease-out;\n }\n\n ${PinkBox} {\n animation: ${pinkSlide} 0.25s forwards ease-out;\n animation-delay: 0.05s;\n }\n }\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Box, Stack, Text } from 'grommet';\nimport { MainButton, PinkBox, TealBox } from './styles';\n\nexport const ButtonSplit = ({ to, children }) => {\n const [hover, setHover] = useState(false);\n // Each box needs to include the child text to maintain\n // dynamic width\n const TextSizeHolder = () => (\n <Text color=\"rgba(0,0,0,0)\" size=\"large\" weight=\"bold\">\n {children}\n </Text>\n );\n return (\n <MainButton\n plain\n href={to}\n target=\"_blank\"\n onMouseOver={() => setHover(true)}\n onFocus={() => setHover(true)}\n onMouseOut={() => setHover(false)}\n onBlur={() => setHover(false)}\n >\n <Box>\n <Stack>\n <TealBox\n background=\"teal!\"\n pad={{ horizontal: 'large', vertical: 'small' }}\n round=\"small\"\n >\n <TextSizeHolder />\n </TealBox>\n <PinkBox\n background=\"#F740FF\"\n pad={{ horizontal: 'large', vertical: 'small' }}\n round=\"small\"\n >\n <TextSizeHolder />\n </PinkBox>\n <Box pad={{ horizontal: 'large', vertical: 'small' }}>\n <Text color={hover ? 'black' : 'dark-1'} size=\"large\" weight=\"bold\">\n {children}\n </Text>\n </Box>\n {/* \n The hit area of the button changes when the boxes are\n animated The below Boxes keep the hit area\n consistent regardless of hover state\n */}\n <Box\n style={{\n transform: 'translate(5px) translateY(5px)',\n }}\n pad={{ horizontal: 'large', vertical: 'small' }}\n opacity={0}\n >\n <TextSizeHolder />\n </Box>\n <Box\n style={{\n transform: 'translate(-5px) translateY(-5px)',\n }}\n pad={{ horizontal: 'large', vertical: 'small' }}\n opacity={0}\n >\n <TextSizeHolder />\n </Box>\n </Stack>\n </Box>\n </MainButton>\n );\n};\n\nButtonSplit.propTypes = {\n children: PropTypes.node.isRequired,\n to: PropTypes.string.isRequired,\n};\n\nexport default ButtonSplit;\n","import React, { useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Box,\n Button,\n Header as HeaderGrommet,\n ResponsiveContext,\n} from 'grommet';\nimport { Menu } from 'grommet-icons';\nimport { ButtonLink } from '../..';\n\nexport const Header = ({ setLayer }) => {\n const size = useContext(ResponsiveContext);\n useEffect(() => {\n if (size !== 'small') setLayer(false);\n }, [size, setLayer]);\n\n return (\n <HeaderGrommet\n justify=\"between\"\n pad={{ horizontal: 'medium', vertical: 'small' }}\n >\n {size === 'small' && (\n <Box flex={false}>\n <ButtonLink label=\"HPE Developer\" to=\"/\" />\n </Box>\n )}\n {size === 'small' && (\n <Box>\n <Button icon={<Menu />} onClick={() => setLayer(true)} />\n </Box>\n )}\n </HeaderGrommet>\n );\n};\nexport default Header;\n\nHeader.propTypes = {\n setLayer: PropTypes.func,\n};\n","/* (C) Copyright 2019 Hewlett Packard Enterprise Development LP. */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Box, Heading } from 'grommet';\nimport { MainTitle } from '../StyledComponents';\n\nexport const PageHeader = ({ children, title, ...rest }) => {\n return (\n <MainTitle align=\"start\" fill direction=\"column\" {...rest}>\n <Box align=\"start\">\n <Heading\n color=\"text-strong\"\n level=\"1\"\n margin={{ bottom: 'large', top: 'none' }}\n >\n {title}\n </Heading>\n </Box>\n {children}\n </MainTitle>\n );\n};\nexport default PageHeader;\n\nPageHeader.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n};\n","import styled from 'styled-components';\nimport { Box, Layer } from 'grommet';\n\nconst ResponsiveLayout = styled(Box)`\n min-width: 366px;\n min-height: 100%;\n @supports (-moz-appearance: none) {\n filter: ${(props) => (props.layer ? 'blur(15px)' : 'none')};\n }\n`;\n\nconst StyledLayer = styled(Layer)`\n background-color: rgba(38, 48, 64, 0.8);\n backdrop-filter: blur(15px);\n`;\n\nexport { ResponsiveLayout, StyledLayer };\n","import React, {\n Children,\n cloneElement,\n isValidElement,\n useContext,\n useState,\n} from 'react';\nimport { useLocation } from '@reach/router';\nimport PropTypes from 'prop-types';\nimport { Box, ResponsiveContext, Text, Button } from 'grommet';\nimport { Close } from 'grommet-icons';\nimport { ResponsiveLayout, StyledLayer } from './styles';\nimport { Header as HackShackHeader, SideNav } from '../index';\nimport { Header as HPEDevHeader } from '../../index';\nimport { AppContext } from '../../../providers/AppProvider';\n\nconst Layout = ({ children, background }) => {\n const size = useContext(ResponsiveContext);\n const location = useLocation();\n const { data } = useContext(AppContext);\n const [layer, setLayer] = useState(false);\n\n const childrenWithProps = Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, { size });\n }\n\n return child;\n });\n\n return (\n <ResponsiveLayout\n background={{\n image: `url(${background})`,\n size: '100%',\n position: 'top center',\n }}\n justify=\"between\"\n layer={layer}\n >\n <Box>\n {location.pathname.includes('/hackshack') && size !== 'small' ? (\n <HPEDevHeader data={data} />\n ) : (\n <HackShackHeader setLayer={setLayer} />\n )}\n\n <Box direction=\"row\">\n {location.pathname.includes('/hackshack') && size !== 'small' && (\n <Box margin={{ top: 'xlarge', left: 'large' }}>\n <SideNav data={data} />\n </Box>\n )}\n <Box\n align={size !== 'small' ? 'start' : 'center'}\n fill=\"horizontal\"\n direction=\"column\"\n pad=\"xlarge\"\n >\n {childrenWithProps}\n </Box>\n </Box>\n </Box>\n {layer && (\n <StyledLayer>\n <Box pad={{ top: 'xlarge', right: 'large' }}>\n <Box\n direction=\"row\"\n align=\"center\"\n justify=\"end\"\n margin={{ bottom: 'xlarge' }}\n >\n <Text color=\"#FFFFFF\">CLOSE</Text>\n <Button icon={<Close />} onClick={() => setLayer(false)} />\n </Box>\n <Box align=\"start\" gap=\"large\" pad=\"xlarge\">\n <SideNav data={data} />\n </Box>\n </Box>\n </StyledLayer>\n )}\n </ResponsiveLayout>\n );\n};\n\nLayout.propTypes = {\n children: PropTypes.node.isRequired,\n background: PropTypes.string.isRequired,\n};\n\nexport default Layout;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { Box, Button, Heading, DropButton, ResponsiveContext } from 'grommet';\nimport { Search, FormDown } from 'grommet-icons';\nimport { navigate } from 'gatsby';\nimport { useLocation } from '@reach/router';\nimport { ButtonLink } from '../..';\n\nconst getNavColor = (active, hover) => {\n if (active) return 'white';\n if (hover) return 'white';\n return 'rgba(255, 255, 255, 0.3)';\n};\n\nconst TextAlignLeft = styled(Box)`\n & > a {\n text-align: left;\n font-weight: 400;\n padding-right: 30px;\n }\n`;\n\nconst SideNavContainer = styled(Box)`\n z-index: 1;\n`;\n\nconst NavButton = ({ active, to, children }) => {\n const [hover, setHover] = useState(false);\n\n return (\n <Button\n plain\n onClick={() => {\n navigate(to);\n }}\n onMouseOver={() => setHover(true)}\n onFocus={() => setHover(true)}\n onMouseOut={() => setHover(false)}\n onBlur={() => setHover(false)}\n >\n <Heading margin=\"none\" size=\"small\" color={getNavColor(active, hover)}>\n {children}\n </Heading>\n </Button>\n );\n};\n\nNavButton.propTypes = {\n active: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n to: PropTypes.string.isRequired,\n};\n\nconst SideNav = ({ data }) => {\n const size = useContext(ResponsiveContext);\n const location = useLocation();\n const platforms = data?.platform?.edges;\n const opensource = data?.opensource?.edges;\n\n const PlatformButtonLinks = ({ column }) => {\n const leftColumn = platforms.filter((platform, index) => index % 2 === 0);\n const rightColumn = platforms.filter((platform, index) => index % 2);\n const platformsColumn = column === 'left' ? leftColumn : rightColumn;\n\n return platformsColumn.map((platform, index) => {\n const { slug } = platform.node.fields;\n const { title } = platform.node.frontmatter;\n\n return (\n <ButtonLink\n key={index}\n label={title}\n to={`/platform${slug}`}\n alignSelf=\"start\"\n fill=\"horizontal\"\n />\n );\n });\n };\n\n const OpenSourceButtonLinks = ({ column }) => {\n const leftColumn = opensource.filter((os, index) => index % 2 === 0);\n const rightColumn = opensource.filter((os, index) => index % 2);\n const osColumn = column === 'left' ? leftColumn : rightColumn;\n\n return osColumn.map((os, index) => {\n const { slug } = os.node.fields;\n const s = slug.toLowerCase();\n const { title } = os.node.frontmatter;\n\n return (\n <ButtonLink\n key={index}\n label={title}\n to={`/platform${s}home`}\n alignSelf=\"start\"\n fill=\"horizontal\"\n />\n );\n });\n };\n return (\n <SideNavContainer align=\"start\" gap=\"xsmall\" width={{ min: '250px' }}>\n <NavButton active={location.pathname === '/hackshack'} to=\"/hackshack\">\n HACK SHACK\n </NavButton>\n <NavButton\n active={location.pathname === '/hackshack/workshops'}\n to=\"/hackshack/workshops\"\n >\n WORKSHOPS\n </NavButton>\n <NavButton\n active={location.pathname === '/hackshack/challenges'}\n to=\"/hackshack/challenges\"\n >\n CHALLENGES\n </NavButton>\n {/* <NavButton\n active={location.pathname === '/hackshack/ezmeral'}\n to=\"/hackshack/ezmeral\"\n >\n HPE EZMERAL\n </NavButton> */}\n <NavButton\n active={location.pathname === '/hackshack/replays/:replayId'}\n to=\"/hackshack/replays/0\"\n >\n REPLAYS\n </NavButton>\n <NavButton\n active={\n location.pathname === '/hackshack/arcade' ||\n location.pathname === '/hackshack/sticker-wall' ||\n location.pathname === '/hackshack/competiton'\n }\n to=\"/hackshack/arcade\"\n >\n ARCADE\n </NavButton>\n {size === 'small' && (\n <Box border=\"top\">\n <DropButton\n label=\"OpenSource\"\n align=\"start\"\n dropAlign={{ top: 'bottom', left: 'left' }}\n icon={<FormDown />}\n reverse\n dropContent={\n <TextAlignLeft>\n <ButtonLink\n key=\"pl\"\n label=\"All Open Source\"\n to=\"/opensource\"\n state={{ state: { isPlatformHeaderClicked: true } }}\n alignSelf=\"start\"\n fill=\"horizontal\"\n />\n <Box direction=\"row\">\n <TextAlignLeft>\n <OpenSourceButtonLinks column=\"left\" />\n </TextAlignLeft>\n <TextAlignLeft>\n <OpenSourceButtonLinks column=\"right\" />\n </TextAlignLeft>\n </Box>\n </TextAlignLeft>\n }\n />\n <DropButton\n label=\"Our Platforms\"\n dropAlign={{ top: 'bottom', left: 'left' }}\n icon={<FormDown />}\n reverse\n dropContent={\n <TextAlignLeft>\n <ButtonLink\n key=\"pl\"\n label=\"All Technologies\"\n to=\"/platforms\"\n state={{ state: { isPlatformHeaderClicked: true } }}\n alignSelf=\"start\"\n fill=\"horizontal\"\n />\n <Box direction=\"row\">\n <TextAlignLeft>\n <PlatformButtonLinks column=\"left\" />\n </TextAlignLeft>\n <TextAlignLeft>\n <PlatformButtonLinks column=\"right\" />\n </TextAlignLeft>\n </Box>\n </TextAlignLeft>\n }\n />\n <ButtonLink align=\"start\" key=\"yr\" label=\"Your Role\" to=\"/role\" />\n <ButtonLink align=\"start\" key=\"ev\" label=\"Events\" to=\"/events\" />\n <ButtonLink align=\"start\" key=\"su\" label=\"Skill Up\" to=\"/skillup\" />\n <ButtonLink\n align=\"start\"\n key=\"bl\"\n label=\"Blogs\"\n to=\"/blog\"\n state={{ state: { isBlogHeaderClicked: true } }}\n />\n <ButtonLink\n align=\"start\"\n key=\"cm\"\n label=\"Community\"\n to=\"/community\"\n />\n <ButtonLink\n align=\"start\"\n to=\"/search\"\n icon={<Search />}\n label=\"Search\"\n reverse\n />\n </Box>\n )}\n </SideNavContainer>\n );\n};\n\nSideNav.propTypes = {\n data: PropTypes.any,\n};\n\nexport default SideNav;\n","import styled, { keyframes } from 'styled-components';\nimport { Box, Grid } from 'grommet';\n\nconst slideIn = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0px);\n }\n`;\n\nconst CardWrapper = styled(Box)`\n opacity: 0;\n animation: ${slideIn} 0.8s ease-out;\n animation-fill-mode: forwards;\n animation-delay: 0.25s;\n max-width: 576px;\n width: 100%;\n @media (min-width: 900px) {\n min-width: 366px;\n }\n`;\n\nconst StyledGrid = styled(Grid)`\n grid: auto / auto;\n @media (min-width: 1300px) {\n grid: auto / auto auto;\n }\n @media (min-width: 2000px) {\n grid: auto / auto auto auto;\n }\n @media (min-width: 2500px) {\n grid: auto / auto auto auto auto;\n }\n`;\n\nconst ContrastLayer = styled(Box)`\n position: absolute;\n top: 10px;\n left: 10px;\n`;\n\nexport { CardWrapper, StyledGrid, ContrastLayer };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Box, Button, Heading, Text, Image as GrommetImage } from 'grommet';\nimport { Link } from 'gatsby';\nimport { CardWrapper } from './styles';\n\nconst Logo = ({ background, children, size, ...rest }) => {\n return (\n <Box\n height={size === 'small' ? '124px' : '192px'}\n alignSelf=\"start\"\n {...rest}\n >\n {children}\n </Box>\n );\n};\n\nLogo.defaultProps = {\n background: 'background-back',\n};\n\nLogo.propTypes = {\n background: PropTypes.string,\n children: PropTypes.node,\n size: PropTypes.string,\n};\n\nconst Image = ({ background, children, ...rest }) => {\n return (\n <Box background={background} round=\"xsmall\" {...rest} height=\"300px\">\n {children}\n </Box>\n );\n};\n\nImage.defaultProps = {\n background: 'background-back',\n};\n\nImage.propTypes = {\n children: PropTypes.node,\n background: PropTypes.string,\n};\n\nconst Card = ({\n alt,\n background,\n desc,\n image,\n title,\n label,\n link,\n logo,\n margin,\n path,\n size,\n fit,\n imageBackground,\n}) => {\n return (\n <CardWrapper\n margin={margin}\n pad={image ? 'none' : 'large'}\n background={background}\n round=\"medium\"\n overflow=\"hidden\"\n >\n {image && (\n <Image background={imageBackground}>\n <GrommetImage src={image} alt={alt} fit={fit} />\n </Image>\n )}\n {logo && (\n <Logo>\n <GrommetImage src={logo} alt={alt} fit=\"contain\" />\n </Logo>\n )}\n <Box\n pad={\n image ? { top: 'none', bottom: 'large', horizontal: 'large' } : 'none'\n }\n >\n <Box>\n <Heading\n margin={{ top: 'medium', bottom: 'small' }}\n level={size === 'small' ? 4 : 2}\n color=\"text-strong\"\n >\n {title}\n </Heading>\n <Text\n color=\"text-strong\"\n size={size === 'small' ? 'large' : 'xlarge'}\n >\n {desc}\n </Text>\n </Box>\n <Box pad={{ top: 'medium' }} direction=\"row\">\n {path ? (\n <Link to={path}>\n <Button\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\">{label}</Text>\n </Box>\n }\n secondary\n />\n </Link>\n ) : (\n <Button\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\">{label}</Text>\n </Box>\n }\n href={link}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n secondary\n />\n )}\n </Box>\n </Box>\n </CardWrapper>\n );\n};\n\nCard.propTypes = {\n alt: PropTypes.string,\n background: PropTypes.string,\n desc: PropTypes.string,\n image: PropTypes.string,\n label: PropTypes.string,\n link: PropTypes.string,\n logo: PropTypes.string,\n margin: PropTypes.object,\n path: PropTypes.string,\n title: PropTypes.string,\n size: PropTypes.string,\n fit: PropTypes.string,\n imageBackground: PropTypes.string,\n};\n\nexport default Card;\n","import React, { Children, cloneElement, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { StyledGrid } from './styles';\n\nconst CardGrid = ({ children, size, ...rest }) => {\n const childrenWithProps = Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, { size });\n }\n\n return child;\n });\n return (\n <StyledGrid gap=\"large\" {...rest}>\n {childrenWithProps}\n </StyledGrid>\n );\n};\n\nCardGrid.propTypes = {\n children: PropTypes.node.isRequired,\n size: PropTypes.string,\n};\n\nexport default CardGrid;\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nimport React, { forwardRef } from 'react';\nimport { StyledIcon } from '../StyledIcon';\nvar CircleInformation = /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(StyledIcon, _extends({\n ref: ref,\n viewBox: \"0 0 24 24\",\n a11yTitle: \"CircleInformation\"\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: \"2\",\n d: \"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10zm0-12v8m0-12v2\"\n }));\n});\nCircleInformation.displayName = 'CircleInformation';\nexport { CircleInformation };","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nimport React, { forwardRef } from 'react';\nimport { StyledIcon } from '../StyledIcon';\nvar ShareOption = /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(StyledIcon, _extends({\n ref: ref,\n viewBox: \"0 0 24 24\",\n a11yTitle: \"ShareOption\"\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: \"2\",\n d: \"M18 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM6 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm12 7a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-2-4-8-5m8-7-8 5\"\n }));\n});\nShareOption.displayName = 'ShareOption';\nexport { ShareOption };","import React, { useState } from 'react';\nimport { Linkedin, Twitter, Link as GrommetLink } from 'grommet-icons';\nimport { Button } from 'grommet';\nimport PropTypes from 'prop-types';\n\nconst Share = ({ workshopId, workshop }) => {\n const [toolTip, setToolTip] = useState('Click to copy the URL to clipboard');\n const { origin } = window.location;\n\n return (\n <>\n <Button\n icon={<Linkedin size=\"medium\" />}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n a11yTitle=\"Share on LinkedIn\"\n label={workshop && 'LinkedIn'}\n reverse\n href={`https://www.linkedin.com/sharing/share-offsite/?url=${origin}/hackshack/workshop/${workshopId}`}\n />\n <Button\n margin={{ horizontal: '20px' }}\n icon={<Twitter size=\"medium\" />}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n a11yTitle=\"Share on Twitter\"\n label={workshop && 'Twitter'}\n reverse\n href={`https://twitter.com/intent/tweet?url=${origin}/hackshack/workshop/${workshopId}`}\n />\n <Button\n icon={<GrommetLink size=\"medium\" />}\n onClick={() => {\n /* eslint-disable no-unused-expressions */\n workshop\n ? navigator.clipboard.writeText(\n `${origin}/hackshack/workshop/${workshopId}`,\n )\n : navigator.clipboard.writeText(window.location.href);\n /* eslint-enable no-unused-expressions */\n setToolTip('Copied!');\n }}\n tip={{\n dropProps: { align: { bottom: 'top' } },\n content: toolTip,\n }}\n label={workshop && 'Copy'}\n reverse\n />\n </>\n );\n};\n\nShare.propTypes = {\n workshopId: PropTypes.number,\n workshop: PropTypes.bool,\n};\n\nexport default Share;\n","/* eslint-disable max-len */\nimport React, { useState, useEffect, useRef, useContext } from 'react';\nimport axios from 'axios';\nimport {\n Heading,\n Layer,\n Box,\n Text,\n FormField,\n Form,\n CheckBox,\n Button,\n Anchor,\n TextInput,\n Avatar,\n DropButton,\n ResponsiveContext,\n} from 'grommet';\nimport {\n StatusGood,\n FormClose,\n ShareOption,\n CircleInformation,\n} from 'grommet-icons';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\nimport { CardWrapper, ContrastLayer } from './styles';\nimport AuthService from '../../../services/auth.service';\nimport { AppContext } from '../../../providers/AppProvider';\nimport Share from '../Share';\n\nexport const UnregisterLayer = ({\n formData,\n setFormData,\n title,\n customerId,\n setUnregisterLayer,\n setUnresigsterSuccess,\n resetUnregisterFormData,\n setTryAgainLater,\n endDate,\n}) => {\n const [usernameError, setUserNameError] = useState('');\n const [passwordError, setPasswordError] = useState('');\n\n const getTimeLeft = (ends) => {\n const dateFuture = new Date(ends);\n const dateNow = new Date();\n\n const seconds = Math.floor((dateFuture - dateNow) / 1000);\n let minutes = Math.floor(seconds / 60);\n let hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n\n hours -= days * 24;\n minutes = minutes - days * 24 * 60 - hours * 60;\n\n return { hours, minutes };\n };\n\n const unregisterCustomer = () => {\n const unregister = () => {\n axios({\n method: 'GET',\n // eslint-disable-next-line max-len\n url: `${process.env.GATSBY_WORKSHOPCHALLENGE_API_ENDPOINT}/api/customers/${customerId}`,\n headers: {\n 'x-access-token': AuthService.getCurrentUser().accessToken,\n },\n })\n .then((customerData) => {\n axios({\n method: 'GET',\n // eslint-disable-next-line max-len\n url: `${process.env.GATSBY_WORKSHOPCHALLENGE_API_ENDPOINT}/api/students/${customerData.data.studentId}`,\n headers: {\n 'x-access-token': AuthService.getCurrentUser().accessToken,\n },\n }).then((studentData) => {\n if (formData.username !== studentData.data.username) {\n setUserNameError('User name not found');\n } else if (formData.password !== studentData.data.password) {\n setPasswordError('Invalid password');\n setUserNameError('');\n } else {\n axios({\n method: 'PUT',\n // eslint-disable-next-line max-len\n url: `${process.env.GATSBY_WORKSHOPCHALLENGE_API_ENDPOINT}/api/customer/unregister/${customerId}`,\n headers: {\n 'x-access-token': AuthService.getCurrentUser().accessToken,\n },\n })\n .then(() => {\n setUnregisterLayer(false);\n setUnresigsterSuccess(\n <Text alignSelf=\"center\" margin=\"small\" size=\"xsmall\">\n Sucessfully unregistered from{' '}\n {customerData.data.sessionName} workshop!\n </Text>,\n );\n resetUnregisterFormData();\n setTryAgainLater(false);\n })\n .catch((err) => {\n console.log('err: ', err);\n });\n }\n });\n })\n .catch((err) => {\n console.log('err: ', err);\n });\n };\n unregister();\n };\n\n const { hours, minutes } = getTimeLeft(endDate);\n const timeLeftString = `${hours} hour${\n hours === 1 ? '' : 's'\n } and ${minutes} minute${minutes === 1 ? '' : 's'}`;\n\n return (\n <Layer position=\"center\">\n <Box pad=\"medium\">\n <Heading level=\"3\" margin={{ top: 'none' }}>\n Already Registered\n </Heading>\n <Text margin={{ bottom: 'medium' }}>\n You are already registered for the <strong>{title}</strong> workshop\n and can only register for one of the Workshops-on-Demand at a time.\n </Text>\n <Text>\n Try again in {timeLeftString} or unregister from{' '}\n <strong>{title}</strong> by entering your credentials recieved in your\n email.\n </Text>\n <Form\n validate=\"blur\"\n value={formData}\n onChange={setFormData}\n onSubmit={({ value }) => unregisterCustomer({ value })}\n >\n <Box width=\"300px\" margin={{ vertical: 'small' }}>\n <FormField\n label=\"User Name*\"\n name=\"username\"\n error={usernameError}\n required\n >\n <TextInput name=\"username\" />\n </FormField>\n <FormField\n label=\"Password*\"\n name=\"password\"\n error={passwordError}\n required\n >\n <TextInput name=\"password\" type=\"password\" />\n </FormField>\n </Box>\n <Box direction=\"row\" gap=\"small\" margin={{ bottom: 'large' }}>\n <CircleInformation size=\"medium\" />\n <Text>\n Unregistering from <strong>{title}</strong> workshop will end your\n session and reset your student account. Please remember to save\n your work and download the workshop notebook if you anticipate\n requiring it in the future.\n </Text>\n </Box>\n <Button\n alignSelf=\"start\"\n label=\"Unregister\"\n type=\"submit\"\n margin={{ right: 'medium' }}\n primary\n />\n <Button\n alignSelf=\"start\"\n label=\"Try again later\"\n onClick={async () => {\n setUnregisterLayer(false);\n resetUnregisterFormData();\n setTryAgainLater(true);\n }}\n secondary\n />\n </Form>\n </Box>\n </Layer>\n );\n};\n\nUnregisterLayer.propTypes = {\n customerId: PropTypes.number,\n setUnregisterLayer: PropTypes.func,\n setUnresigsterSuccess: PropTypes.func,\n resetUnregisterFormData: PropTypes.func,\n setTryAgainLater: PropTypes.func,\n endDate: PropTypes.string,\n title: PropTypes.string,\n formData: PropTypes.object,\n setFormData: PropTypes.func,\n};\n\nexport const SignupLayer = ({\n // reset,\n setLayer,\n setFormData,\n formData,\n setSuccess,\n size,\n title,\n sessionType,\n duration,\n}) => {\n const [error, setError] = useState('');\n const [emailError, setEmailError] = useState('');\n const [unregisterCustomerData, setUnregisterCustomerData] = useState();\n const [unregisterLayer, setUnregisterLayer] = useState(false);\n const [unregisterSuccess, setUnresigsterSuccess] = useState('');\n const [tryAgainLater, setTryAgainLater] = useState(false);\n const [unregisterFormData, setUnregisterFormData] = useState({\n username: '',\n password: '',\n });\n\n const resetUnregisterFormData = () => {\n setUnregisterFormData({\n username: '',\n password: '',\n });\n };\n const emailValidation = (email) => {\n if (email) {\n const emailtemp = email;\n const lastAtPos = emailtemp.lastIndexOf('@');\n const lastDotPos = emailtemp.lastIndexOf('.');\n\n if (\n !(\n lastAtPos < lastDotPos &&\n lastAtPos > 0 &&\n emailtemp.indexOf('@@') === -1 &&\n lastDotPos > 2 &&\n emailtemp.length - lastDotPos > 2\n )\n ) {\n setEmailError('Email is not valid');\n\n return false;\n }\n setEmailError('');\n }\n return true;\n };\n\n useEffect(() => {\n if (!unregisterLayer && tryAgainLater) {\n setLayer(false);\n }\n }, [unregisterLayer, setLayer, tryAgainLater]);\n\n const onSubmit = () => {\n if (emailValidation(formData.email)) {\n const postCustomer = () => {\n axios({\n method: 'POST',\n url: `${process.env.GATSBY_WORKSHOPCHALLENGE_API_ENDPOINT}/api/customer`,\n headers: {\n 'x-access-token': AuthService.getCurrentUser().accessToken,\n },\n data: { ...formData, email: formData.email.toLowerCase() },\n })\n .then((response) => {\n if (response.status === 202) {\n const { data } = response;\n setUnregisterCustomerData({\n status: response.status,\n ...data,\n });\n setUnregisterLayer(true);\n } else {\n setLayer(false);\n setSuccess(true);\n }\n })\n .catch((err) => {\n if (err.response.status === 401) {\n AuthService.login().then(() => postCustomer());\n } else {\n console.log('err', err);\n setError({\n status: err.response.status,\n message: err.response.data.message,\n });\n }\n });\n };\n postCustomer();\n }\n };\n return (\n <Layer\n position=\"right\"\n full={size === 'large' ? true : 'vertical'}\n style={{ borderRadius: '4px 0px 0px 4px' }}\n background={\n size === 'large'\n ? {\n image: 'url(/img/hackshack/gremlin-signup.png)',\n size: 'cover',\n position: 'center',\n repeat: 'no-repeat',\n opacity: '0.99',\n }\n : {\n color: '#333333',\n }\n }\n >\n <Button\n onClick={() => {\n // reset();\n setLayer(false);\n }}\n alignSelf=\"end\"\n icon={<FormClose />}\n margin={{ top: 'medium', right: 'medium' }}\n />\n <Box\n overflow=\"auto\"\n height=\"950px\"\n width={size === 'small' ? '100%' : '500px'}\n direction=\"column\"\n pad={{ bottom: 'large', left: 'xlarge', right: 'xlarge' }}\n margin={size === 'large' ? { right: '100px' } : { right: '0' }}\n alignSelf=\"end\"\n >\n <Heading color=\"#ffffff\" margin={{ top: 'none', bottom: 'small' }}>\n Register\n </Heading>\n <Text color=\"#ffffff\" margin={{ top: 'none', bottom: 'small' }}>\n {title} {sessionType === 'Workshops-on-Demand' ? 'workshop' : ''}\n </Text>\n <Form\n validate=\"blur\"\n value={formData}\n onChange={setFormData}\n onSubmit={({ value }) => onSubmit({ value })}\n >\n <FormField\n label=\"Company Email\"\n name=\"email\"\n error={emailError}\n required\n >\n <TextInput name=\"email\" value={formData.email} onChange={setFormData} />\n </FormField>\n <FormField label=\"Full Name\" name=\"name\" required>\n <TextInput name=\"name\" value={formData.name} onChange={setFormData}/>\n </FormField>\n <FormField label=\"Company Name\" name=\"company\" required>\n <TextInput name=\"company\" value={formData.company} onChange={setFormData} />\n </FormField>\n <Box\n margin={{ top: 'medium' }}\n gap={unregisterSuccess ? 'none' : 'medium'}\n >\n <FormField required name=\"termsAndConditions\">\n <CheckBox\n name=\"termsAndConditions\"\n value={formData.termsAndConditions}\n onChange={setFormData}\n label={\n sessionType === 'Coding Challenge' ? (\n <Text>\n I have read and accept the Hack Shack Challenge{' '}\n <Anchor\n target=\"_blank\"\n label=\"Terms and Conditions\"\n href=\"/hackshack/hpediscover2022-swchallenges-terms-conditions\"\n />{' '}\n and{' '}\n <Anchor\n label=\"HPE's Privacy Policy\"\n href=\"https://www.hpe.com/us/en/legal/privacy.html\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n />\n , and acknowledge that clicking on the{' '}\n <strong>Take on the Challenge</strong> button below starts\n the\n <strong> {duration}-hour</strong> window in which to\n complete the challenge.\n <br />\n <b>\n <i>Note:</i>\n </b>{' '}\n After clicking the button, go directly to your email to\n receive your confirmation and login credentials.\n </Text>\n ) : (\n <Text>\n I have read and accept the Hack Shack Workshop{' '}\n <Anchor\n target=\"_blank\"\n label=\"Terms and Conditions\"\n href=\"/hackshack/workshop-terms-conditions\"\n />{' '}\n and{' '}\n <Anchor\n label=\"HPE's Privacy Policy\"\n href=\"https://www.hpe.com/us/en/legal/privacy.html\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n />\n , and acknowledge that clicking on the{' '}\n <strong>Register for the Workshop</strong> button below\n starts the\n <strong> {duration}-hour</strong> window in which to\n complete the workshop.\n <br />\n <b>\n <i>Note:</i>\n </b>{' '}\n After clicking the button, go directly to your email to\n receive your confirmation and login credentials.\n </Text>\n )\n }\n />\n </FormField>\n {unregisterSuccess && (\n <Box\n border={{ color: 'validation-ok' }}\n justify=\"center\"\n margin={{ top: 'small', bottom: 'medium' }}\n >\n {unregisterSuccess}\n </Box>\n )}\n <Button\n alignSelf=\"start\"\n label={\n sessionType === 'Coding Challenge'\n ? 'Take on the Challenge'\n : 'Register for the Workshop'\n }\n type=\"submit\"\n primary\n />\n </Box>\n {unregisterLayer && (\n <UnregisterLayer\n formData={unregisterFormData}\n resetUnregisterFormData={resetUnregisterFormData}\n setFormData={setUnregisterFormData}\n setUnregisterLayer={setUnregisterLayer}\n setUnresigsterSuccess={setUnresigsterSuccess}\n setLayer={setLayer}\n setTryAgainLater={setTryAgainLater}\n customerId={unregisterCustomerData.id}\n title={unregisterCustomerData.title}\n endDate={unregisterCustomerData.endDate}\n />\n )}\n {error.status && error.status !== 202 ? (\n <Box\n pad=\"small\"\n justify=\"center\"\n margin={{ top: 'medium' }}\n background=\"status-critical\"\n >\n <Text alignSelf=\"center\">{error.message}</Text>\n </Box>\n ) : null}\n </Form>\n </Box>\n </Layer>\n );\n};\n\nSignupLayer.propTypes = {\n // reset: PropTypes.func,\n formData: PropTypes.object,\n setFormData: PropTypes.func,\n setLayer: PropTypes.func,\n setSuccess: PropTypes.func,\n size: PropTypes.string,\n title: PropTypes.string,\n sessionType: PropTypes.string,\n duration: PropTypes.number,\n};\n\nexport const SuccessLayer = ({\n name,\n setLayer,\n size,\n title,\n email,\n // reset,\n sessionType,\n}) => (\n <Layer\n position=\"right\"\n full={size === 'large' ? true : 'vertical'}\n style={{ borderRadius: '4px 0px 0px 4px' }}\n background={\n size === 'large'\n ? {\n image: 'url(/img/hackshack/gremlin-signup.png)',\n size: 'cover',\n position: 'center',\n repeat: 'no-repeat',\n opacity: '0.99',\n }\n : {\n color: '#333333',\n }\n }\n >\n <Button\n alignSelf=\"end\"\n onClick={() => setLayer(false)}\n icon={<FormClose />}\n margin={{ top: 'medium', right: 'medium' }}\n />\n <Box\n height=\"100%\"\n width={size === 'small' ? '100%' : '500px'}\n direction=\"column\"\n pad={{ bottom: 'large', left: 'xlarge', right: 'xlarge' }}\n alignSelf=\"end\"\n >\n <StatusGood size=\"large\" />\n <Box margin={{ bottom: 'medium', top: 'small' }}>\n <Heading color=\"#ffffff\" margin={{ top: 'none', bottom: 'small' }}>\n {sessionType === 'Coding Challenge'\n ? 'Challenge Accepted!'\n : \"You're Registered!\"}\n </Heading>\n <Text color=\"#ffffff\">\n You have been signed up for this{' '}\n {sessionType === 'Coding Challenge' ? 'Challenge' : 'workshop'}. Head\n over to your email ({email}) to learn what happens next.\n </Text>\n </Box>\n <Box>\n <Text>Your registration info:</Text>\n <Text>\n {' '}\n <Text color=\"#ffffff\" weight=\"bold\">\n {name}\n </Text>{' '}\n is signed up for{' '}\n <Text color=\"#ffffff\" weight=\"bold\">\n {title}\n </Text>\n </Text>\n </Box>\n <Box margin={{ top: 'large' }}>\n <Button\n alignSelf=\"start\"\n label=\"close\"\n onClick={() => {\n // reset();\n setLayer(false);\n }}\n primary\n />\n </Box>\n </Box>\n </Layer>\n);\n\nSuccessLayer.propTypes = {\n name: PropTypes.string,\n setLayer: PropTypes.func,\n // reset: PropTypes.func,\n size: PropTypes.string,\n title: PropTypes.string,\n email: PropTypes.string,\n sessionType: PropTypes.string,\n};\n\nconst ScheduleCard = ({\n avatar,\n desc,\n DBid,\n notebook,\n presenter,\n role,\n sessionLink,\n sessionType,\n title,\n workshopList,\n location,\n ezmeral,\n replayId,\n duration,\n popular,\n}) => {\n const size = useContext(ResponsiveContext);\n const { user: userDetail } = useContext(AppContext);\n const textSize = size === 'small' ? '16px' : 'medium';\n let backgroundColor;\n let uri = '';\n switch (sessionType) {\n case 'Workshops-on-Demand':\n backgroundColor = '#263040';\n uri = `${process.env.GATSBY_WORKSHOPCHALLENGE_API_ENDPOINT}/api/workshops/`;\n break;\n case 'Coding Challenge':\n backgroundColor = 'rgba(155, 99, 16, 0.8)';\n uri = `${process.env.GATSBY_WORKSHOPCHALLENGE_API_ENDPOINT}/api/workshops/`;\n break;\n default:\n backgroundColor = 'background';\n }\n const cardRef = useRef(null);\n const [cardTopSectionHeight, setcardTopSectionHeight] = useState(false);\n const [signupLayer, setSignupLayer] = useState(false);\n const [successLayer, setSuccessLayer] = useState(false);\n const [disabled, setDisabled] = useState(false);\n const [formData, setFormData] = useState({\n name: userDetail?.name || '',\n email: userDetail?.email || '',\n company: userDetail?.type || '',\n title,\n notebook,\n sessionType,\n location,\n termsAndConditions: false,\n proxy: 'hackshack',\n });\n\n const [hover, setHover] = useState(false);\n // const resetFormData = () => {\n const handlechange=(e)=>{\n const { name, value, type, checked } = e.target || '';\n const inputvalue= (type==='checkbox') ? checked : value ;\n setFormData({\n ...formData,\n [name]:inputvalue,\n });};\n // };\n\n const checkHover = (e) => {\n if (cardRef.current) {\n const mouseOver = cardRef.current.contains(e.target);\n\n if (!hover && mouseOver) {\n setHover(true);\n }\n\n if (hover && !mouseOver) {\n setHover(false);\n }\n }\n };\n\n useEffect(() => {\n const getWorkshopbyID = () => {\n axios({\n method: 'GET',\n url: `${uri}${DBid}`,\n headers: { 'x-access-token': AuthService.getCurrentUser().accessToken },\n })\n .then((res) => {\n if (res.data.capacity <= 0) {\n setDisabled(true);\n }\n })\n .catch((err) => {\n if (err.response.status === 401) {\n AuthService.login().then(() => getWorkshopbyID());\n }\n });\n };\n if (\n sessionType &&\n (sessionType === 'Workshops-on-Demand' ||\n sessionType === 'Coding Challenge')\n ) {\n getWorkshopbyID();\n }\n }, [DBid, sessionType, uri]);\n\n useEffect(() => {\n if (cardRef.current) {\n const refHeight = cardRef.current.offsetHeight;\n setcardTopSectionHeight(refHeight);\n }\n }, [cardRef]);\n\n useEffect(() => {\n window.addEventListener('mousemove', checkHover, true);\n\n return () => {\n window.removeEventListener('mousemove', checkHover, true);\n };\n });\n\n const registerButtonStatus = (status) => {\n if (status) {\n return 'Currently full, please try again later';\n }\n if (sessionType === 'Coding Challenge') {\n return 'Challenge Me';\n }\n return 'Register';\n };\n\n return (\n <>\n {ezmeral ? (\n <CardWrapper\n pad=\"large\"\n justify=\"between\"\n background={backgroundColor}\n round=\"medium\"\n overflow=\"hidden\"\n >\n <Box direction=\"column\">\n <Box direction=\"column\">\n <Heading margin={{ vertical: 'small' }} level={3}>\n {title}\n </Heading>\n </Box>\n <Box>\n <Text\n margin={{ bottom: 'large' }}\n size={size === 'small' ? 'large' : 'xlarge'}\n >\n {desc}\n </Text>\n </Box>\n </Box>\n <Box direction=\"row\" gap=\"medium\">\n <Box direction=\"row\" gap=\"medium\">\n <Button\n alignSelf=\"start\"\n href={sessionLink}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\">Learn more</Text>\n </Box>\n }\n secondary\n />\n </Box>\n </Box>\n </CardWrapper>\n ) : (\n <CardWrapper\n justify=\"between\"\n background={backgroundColor}\n round=\"xsmall\"\n overflow=\"hidden\"\n >\n <Box\n pad={{\n top: size !== 'large' ? 'large' : 'medium',\n horizontal: 'large',\n }}\n background={hover ? '#FFFFFF' : '#00000080'}\n onMouseEnter={() => setHover(true)}\n onFocus={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onBlur={() => setHover(false)}\n height=\"70%\"\n ref={cardRef}\n >\n <Box direction=\"column\">\n {!hover ? (\n <Box direction=\"column\" height={`${cardTopSectionHeight}px`}>\n {popular && (\n <ContrastLayer\n background=\"background-contrast\"\n width=\"fit-content\"\n pad=\"xxsmall\"\n round=\"xsmall\"\n >\n <Text\n color=\"#FF8300\"\n size=\"small\"\n margin={{ vertical: '3px', horizontal: '12px' }}\n >\n Popular\n </Text>\n </ContrastLayer>\n )}\n <Heading level={4} margin={{ bottom: 'small' }}>\n {title}\n </Heading>\n {(avatar || presenter || role) && (\n <Box gap=\"small\" direction=\"row\">\n {avatar ? (\n <Avatar src={avatar} />\n ) : (\n <Avatar src=\"/img/SpeakerImages/defaultAvatar.svg\" />\n )}\n <Box justify=\"center\">\n <Text>{presenter}</Text>\n <Text>{role}</Text>\n </Box>\n </Box>\n )}\n </Box>\n ) : (\n <Box height={`${cardTopSectionHeight}px`}>\n <Box overflow={{ horizontal: 'hidden', vertical: 'scroll' }}>\n <Heading level={5} margin={{ top: 'xsmall' }}>\n {title}\n </Heading>\n <Text\n margin={{ bottom: 'large' }}\n size={size === 'small' ? 'small' : 'medium'}\n >\n {desc}\n </Text>\n </Box>\n </Box>\n )}\n </Box>\n </Box>\n <Box\n margin={{ top: 'medium', bottom: 'medium', horizontal: 'large' }}\n >\n <Box direction=\"row\" gap={size === 'small' ? 'xsmall' : 'medium'}>\n {workshopList &&\n workshopList.map((workshop) => (\n <Box key={workshop.workshopLink}>\n <Button\n href={workshop.workshopLink}\n key={workshop.workshopLink}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n alignSelf=\"start\"\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\" size={textSize}>\n {' '}\n Register {workshop.workshopID}\n </Text>\n </Box>\n }\n secondary\n />\n </Box>\n ))}\n {(sessionType === 'Coding Challenge' ||\n sessionType === 'Workshops-on-Demand') && (\n <Box>\n <Button\n onClick={() => setSignupLayer(true)}\n disabled={disabled}\n alignSelf=\"start\"\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\" size={textSize}>\n {registerButtonStatus(disabled)}\n </Text>\n </Box>\n }\n secondary\n />\n </Box>\n )}\n {sessionType === 'Coding Challenge' ||\n sessionType === 'Workshops-on-Demand' ? (\n <Link to={`../${sessionLink}`}>\n <Button\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\" size={textSize}>\n Learn more\n </Text>\n </Box>\n }\n />\n </Link>\n ) : (\n <Box direction=\"row\" gap=\"medium\">\n <Button\n alignSelf=\"start\"\n href={sessionLink}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\" size={textSize}>\n Learn more\n </Text>\n </Box>\n }\n />\n {sessionType === 'Game Challenge' && (\n <Button\n alignSelf=\"start\"\n href=\"https://enterpriseaccelerator.hpe.com/terms-and-conditions\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n label={\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\" size={textSize}>\n Terms & Conditions\n </Text>\n </Box>\n }\n secondary\n />\n )}\n </Box>\n )}\n <DropButton\n dropAlign={{ top: 'bottom', right: 'right' }}\n dropContent={\n <Box pad=\"small\">\n <Share workshopId={replayId} workshop />\n </Box>\n }\n alignSelf=\"start\"\n margin={{ left: 'auto' }}\n icon={<ShareOption />}\n reverse\n gap=\"xsmall\"\n label={\n size !== 'small' && (\n <Box pad=\"xsmall\">\n <Text color=\"text-strong\">Share</Text>\n </Box>\n )\n }\n />\n </Box>\n {signupLayer && (\n <SignupLayer\n formData={formData}\n setFormData={handlechange}\n setLayer={setSignupLayer}\n setSuccess={setSuccessLayer}\n title={title}\n size={size}\n sessionType={sessionType}\n duration={duration}\n userInfo={userDetail}\n />\n )}\n {successLayer && (\n <SuccessLayer\n setLayer={setSuccessLayer}\n name={formData.name}\n size={size}\n title={title}\n email={formData.email}\n // reset={resetFormData}\n sessionType={sessionType}\n />\n )}\n </Box>\n </CardWrapper>\n )}\n </>\n );\n};\nScheduleCard.propTypes = {\n avatar: PropTypes.string,\n desc: PropTypes.string,\n DBid: PropTypes.number,\n notebook: PropTypes.string,\n presenter: PropTypes.string,\n role: PropTypes.string,\n sessionLink: PropTypes.string,\n sessionType: PropTypes.string,\n title: PropTypes.string,\n workshopList: PropTypes.array,\n location: PropTypes.string,\n ezmeral: PropTypes.bool,\n replayId: PropTypes.number,\n duration: PropTypes.number,\n popular: PropTypes.bool,\n};\nexport default ScheduleCard;\n","/* (C) Copyright 2019 Hewlett Packard Enterprise Development LP. */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\nimport { Box, Button, Heading } from 'grommet';\nimport { Previous } from 'grommet-icons';\n\nexport const SubPageHeader = ({ children, title, ...rest }) => {\n return (\n <Box align=\"start\" width=\"xlarge\" direction=\"column\" {...rest}>\n <Box align=\"start\">\n <Link to=\"/hackshack/arcade\">\n <Button\n color=\"white\"\n icon={<Previous size=\"small\" />}\n label=\"Back to Arcade\"\n />\n </Link>\n <Heading\n color=\"text-strong\"\n level=\"1\"\n margin={{ bottom: 'large', top: 'none' }}\n >\n {title}\n </Heading>\n </Box>\n {children}\n </Box>\n );\n};\nexport default SubPageHeader;\n\nSubPageHeader.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string,\n};\n","import React from 'react';\nimport ReactPlayer from 'react-player';\nimport { Box, Button, Heading, Text } from 'grommet';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\n\nconst VideoList = ({\n desc,\n id,\n presenter,\n role,\n videoLink,\n title,\n setCurrent,\n setAutoPlay,\n}) => {\n return (\n <Link to={`/hackshack/replays/${id}`}>\n <Button\n onClick={() => {\n setCurrent(id);\n setAutoPlay(true);\n }}\n style={{ textAlign: 'start' }}\n >\n <Box gap=\"large\" direction=\"row-responsive\">\n <ReactPlayer\n url={videoLink}\n style={{\n maxWidth: '280px',\n minWidth: '280px',\n width: '280px',\n maxHeight: '180px',\n height: '180px',\n zIndex: -10,\n }}\n />\n\n <Box direction=\"column\">\n <Box>\n <Text color=\"white\">{presenter}</Text>\n <Text color=\"white\">{role}</Text>\n </Box>\n <Heading\n color=\"text-strong\"\n margin={{ top: '0px', bottom: 'small' }}\n level={3}\n >\n {title}\n </Heading>\n <Box>\n <Text\n color=\"text-strong\"\n margin={{ bottom: 'large' }}\n weight={100}\n size=\"22px\"\n >\n {desc}\n </Text>\n </Box>\n </Box>\n </Box>\n </Button>\n </Link>\n );\n};\n\nVideoList.propTypes = {\n id: PropTypes.number,\n title: PropTypes.string,\n desc: PropTypes.string,\n role: PropTypes.string,\n videoLink: PropTypes.string,\n presenter: PropTypes.string,\n setCurrent: PropTypes.func,\n setAutoPlay: PropTypes.func,\n};\n\nexport default VideoList;\n","import React, { useState, useContext } from 'react';\nimport ReactPlayer from 'react-player';\nimport { Box, Text, Avatar, ResponsiveContext, Button } from 'grommet';\nimport PropTypes from 'prop-types';\nimport { Link } from 'gatsby';\nimport { SignupLayer, SuccessLayer } from '../Card/ScheduleCard';\nimport Share from '../Share';\n\nconst Video = ({\n videolink,\n avatar,\n desc,\n presenter,\n role,\n title,\n id,\n setCurrent,\n current,\n replaysLength,\n autoplay,\n notebook,\n sessionType,\n location,\n capacity,\n workshopTitle,\n workshopId,\n workshopDuration,\n}) => {\n console.log('workshop duration', workshopDuration);\n console.log('capacity', capacity);\n const [signupLayer, setSignupLayer] = useState(false);\n const [successLayer, setSuccessLayer] = useState(false);\n const [formData, setFormData] = useState({\n name: '',\n email: '',\n company: '',\n title: workshopTitle,\n notebook,\n sessionType,\n location,\n termsAndConditions: false,\n proxy: 'hackshack',\n });\n const resetFormData = () => {\n setFormData({\n name: '',\n email: '',\n company: '',\n title: workshopTitle,\n notebook,\n sessionType,\n location,\n termsAndConditions: false,\n proxy: 'hackshack',\n });\n };\n const handlechange = (e) => {\n const { name, value, type, checked } = e.target || '';\n const inputvalue= (type==='checkbox') ? checked : value ;\n setFormData({\n ...formData,\n [name]:inputvalue,\n });\n };\n\n const size = useContext(ResponsiveContext);\n const optionsLarge = { width: '640px', height: '380px' };\n const optionsSmall = {\n maxWidth: '280px',\n minWidth: '280px',\n width: '280px',\n maxHeight: '180px',\n height: '180px',\n };\n return (\n <Box>\n <Box style={{ position: 'relative', width: '640px', height: '360px' }}>\n <ReactPlayer\n controls\n url={videolink}\n playing={autoplay}\n width=\"100%\"\n height=\"100%\"\n onEnded={() => {\n if (current >= replaysLength - 1) {\n setCurrent(0);\n } else {\n setCurrent(id + 1);\n }\n }}\n />\n <div\n onClick={() => window.open(videolink, '_blank')}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 1,\n cursor: 'pointer',\n backgroundColor: 'rgba(0, 0, 0, 0)',\n }}\n />\n </Box>\n <Box fill=\"horizontal\" border={{ side: 'bottom' }}>\n <Box direction=\"column\">\n <Box direction=\"column\">\n <Box\n direction={size === 'small' ? 'column' : 'row'}\n justify=\"between\"\n margin={{ vertical: 'medium' }}\n width={size === 'small' ? '100%' : '640px'}\n >\n {notebook && sessionType && location && (\n <Box width={capacity === 0 ? '350px' : '110px'}>\n <Button\n size=\"small\"\n onClick={() => setSignupLayer(true)}\n margin={{ vertical: size === 'large' ? '0px' : 'small' }}\n disabled={capacity === 0}\n label={\n <Text color=\"text-strong\" size=\"large\">\n {capacity === 0\n ? 'Currently full, please try again later'\n : 'Register'}\n </Text>\n }\n primary\n />\n </Box>\n )}\n <Box direction=\"row\" alignSelf=\"start\" justify=\"evenly\">\n <Share workshopId={workshopId} />\n </Box>\n </Box>\n <Box direction=\"row\" justify=\"between\" margin={{ bottom: 'small' }}>\n <Box pad={{ vertical: 'small' }} gap=\"small\" direction=\"row\">\n {avatar ? (\n <Avatar src={avatar} />\n ) : (\n <Avatar src=\"/img/SpeakerImages/defaultAvatar.svg\" />\n )}\n <Box justify=\"center\">\n <Text weight=\"bold\" size=\"large\">\n {presenter}\n </Text>\n <Text>{role}</Text>\n </Box>\n </Box>\n </Box>\n </Box>\n {signupLayer && (\n <SignupLayer\n formData={formData}\n reset={resetFormData}\n setFormData={handlechange}\n setLayer={setSignupLayer}\n setSuccess={setSuccessLayer}\n title={title}\n size={size}\n sessionType={sessionType}\n duration={workshopDuration}\n />\n )}\n {successLayer && (\n <SuccessLayer\n setLayer={setSuccessLayer}\n name={formData.name}\n size={size}\n title={title}\n reset={resetFormData}\n sessionType={sessionType}\n />\n )}\n <Box gap=\"small\">\n <Text color=\"text-strong\" size=\"22px\">\n {desc}\n </Text>\n {capacity !== 0 ? (\n /* eslint-disable max-len */\n <Text\n color=\"text-strong\"\n margin={{ bottom: 'large' }}\n size=\"22px\"\n >\n Try it out for yourself. Get some real, hands-on experience by{' '}\n <Link\n style={{ color: '#FFF' }}\n color=\"white\"\n to=\"/hackshack/workshops\"\n >\n register for this workshops-on-demand.\n </Link>\n </Text>\n ) : (\n /* eslint-enable max-len */\n <Box pad={{ bottom: 'medium' }} />\n )}\n </Box>\n </Box>\n </Box>\n </Box>\n );\n};\n\nVideo.propTypes = {\n title: PropTypes.string,\n avatar: PropTypes.string,\n presenter: PropTypes.string,\n role: PropTypes.string,\n desc: PropTypes.string,\n videolink: PropTypes.string,\n current: PropTypes.number,\n replaysLength: PropTypes.number,\n id: PropTypes.number,\n setCurrent: PropTypes.func,\n autoplay: PropTypes.bool,\n notebook: PropTypes.string,\n sessionType: PropTypes.string,\n location: PropTypes.string,\n capacity: PropTypes.number,\n workshopTitle: PropTypes.string,\n workshopId: PropTypes.number,\n workshopDuration: PropTypes.number,\n};\n\nexport default Video;\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nimport React, { forwardRef } from 'react';\nimport { StyledIcon } from '../StyledIcon';\nimport { useScaleProps } from '../utils';\nvar Close = /*#__PURE__*/forwardRef(function (props, ref) {\n var scaleProps = useScaleProps(props);\n return /*#__PURE__*/React.createElement(StyledIcon, _extends({\n ref: ref,\n viewBox: \"0 0 24 24\",\n a11yTitle: \"Close\"\n }, props), /*#__PURE__*/React.createElement(\"path\", _extends({\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: \"2\",\n d: \"m3 3 18 18M3 21 21 3\"\n }, scaleProps)));\n});\nClose.displayName = 'Close';\nexport { Close };","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nimport React, { forwardRef } from 'react';\nimport { StyledIcon } from '../StyledIcon';\nvar FormClose = /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(StyledIcon, _extends({\n ref: ref,\n viewBox: \"0 0 24 24\",\n a11yTitle: \"FormClose\"\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: \"2\",\n d: \"m7 7 10 10M7 17 17 7\"\n }));\n});\nFormClose.displayName = 'FormClose';\nexport { FormClose };","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nimport React, { forwardRef } from 'react';\nimport { StyledIcon } from '../StyledIcon';\nimport { useScaleProps } from '../utils';\nvar Previous = /*#__PURE__*/forwardRef(function (props, ref) {\n var scaleProps = useScaleProps(props);\n return /*#__PURE__*/React.createElement(StyledIcon, _extends({\n ref: ref,\n viewBox: \"0 0 24 24\",\n a11yTitle: \"Previous\"\n }, props), /*#__PURE__*/React.createElement(\"path\", _extends({\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: \"2\",\n d: \"M17 2 7 12l10 10\"\n }, scaleProps)));\n});\nPrevious.displayName = 'Previous';\nexport { Previous };","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nimport React, { forwardRef } from 'react';\nimport { StyledIcon } from '../StyledIcon';\nvar StatusGood = /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(StyledIcon, _extends({\n ref: ref,\n viewBox: \"0 0 24 24\",\n a11yTitle: \"Status is okay\"\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000\",\n strokeWidth: \"2\",\n d: \"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10zM7 12l4 3 5-7\"\n }));\n});\nStatusGood.displayName = 'StatusGood';\nexport { StatusGood };","\nmodule.exports = function load (src, opts, cb) {\n var head = document.head || document.getElementsByTagName('head')[0]\n var script = document.createElement('script')\n\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n opts = opts || {}\n cb = cb || function() {}\n\n script.type = opts.type || 'text/javascript'\n script.charset = opts.charset || 'utf8';\n script.async = 'async' in opts ? !!opts.async : true\n script.src = src\n\n if (opts.attrs) {\n setAttributes(script, opts.attrs)\n }\n\n if (opts.text) {\n script.text = '' + opts.text\n }\n\n var onend = 'onload' in script ? stdOnEnd : ieOnEnd\n onend(script, cb)\n\n // some good legacy browsers (firefox) fail the 'in' detection above\n // so as a fallback we always set onload\n // old IE will ignore this and new IE will set onload\n if (!script.onload) {\n stdOnEnd(script, cb);\n }\n\n head.appendChild(script)\n}\n\nfunction setAttributes(script, attrs) {\n for (var attr in attrs) {\n script.setAttribute(attr, attrs[attr]);\n }\n}\n\nfunction stdOnEnd (script, cb) {\n script.onload = function () {\n this.onerror = this.onload = null\n cb(null, script)\n }\n script.onerror = function () {\n // this.onload = null here is necessary\n // because even IE9 works not like others\n this.onerror = this.onload = null\n cb(new Error('Failed to load ' + this.src), script)\n }\n}\n\nfunction ieOnEnd (script, cb) {\n script.onreadystatechange = function () {\n if (this.readyState != 'complete' && this.readyState != 'loaded') return\n this.onreadystatechange = null\n cb(null, script) // there is no way to catch loading errors in IE8\n }\n}\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nvar Player_exports = {};\n__export(Player_exports, {\n default: () => Player\n});\nmodule.exports = __toCommonJS(Player_exports);\nvar import_react = __toESM(require(\"react\"));\nvar import_react_fast_compare = __toESM(require(\"react-fast-compare\"));\nvar import_props = require(\"./props\");\nvar import_utils = require(\"./utils\");\nconst SEEK_ON_PLAY_EXPIRY = 5e3;\nclass Player extends import_react.Component {\n constructor() {\n super(...arguments);\n __publicField(this, \"mounted\", false);\n __publicField(this, \"isReady\", false);\n __publicField(this, \"isPlaying\", false);\n // Track playing state internally to prevent bugs\n __publicField(this, \"isLoading\", true);\n // Use isLoading to prevent onPause when switching URL\n __publicField(this, \"loadOnReady\", null);\n __publicField(this, \"startOnPlay\", true);\n __publicField(this, \"seekOnPlay\", null);\n __publicField(this, \"onDurationCalled\", false);\n __publicField(this, \"handlePlayerMount\", (player) => {\n if (this.player) {\n this.progress();\n return;\n }\n this.player = player;\n this.player.load(this.props.url);\n this.progress();\n });\n __publicField(this, \"getInternalPlayer\", (key) => {\n if (!this.player)\n return null;\n return this.player[key];\n });\n __publicField(this, \"progress\", () => {\n if (this.props.url && this.player && this.isReady) {\n const playedSeconds = this.getCurrentTime() || 0;\n const loadedSeconds = this.getSecondsLoaded();\n const duration = this.getDuration();\n if (duration) {\n const progress = {\n playedSeconds,\n played: playedSeconds / duration\n };\n if (loadedSeconds !== null) {\n progress.loadedSeconds = loadedSeconds;\n progress.loaded = loadedSeconds / duration;\n }\n if (progress.playedSeconds !== this.prevPlayed || progress.loadedSeconds !== this.prevLoaded) {\n this.props.onProgress(progress);\n }\n this.prevPlayed = progress.playedSeconds;\n this.prevLoaded = progress.loadedSeconds;\n }\n }\n this.progressTimeout = setTimeout(this.progress, this.props.progressFrequency || this.props.progressInterval);\n });\n __publicField(this, \"handleReady\", () => {\n if (!this.mounted)\n return;\n this.isReady = true;\n this.isLoading = false;\n const { onReady, playing, volume, muted } = this.props;\n onReady();\n if (!muted && volume !== null) {\n this.player.setVolume(volume);\n }\n if (this.loadOnReady) {\n this.player.load(this.loadOnReady, true);\n this.loadOnReady = null;\n } else if (playing) {\n this.player.play();\n }\n this.handleDurationCheck();\n });\n __publicField(this, \"handlePlay\", () => {\n this.isPlaying = true;\n this.isLoading = false;\n const { onStart, onPlay, playbackRate } = this.props;\n if (this.startOnPlay) {\n if (this.player.setPlaybackRate && playbackRate !== 1) {\n this.player.setPlaybackRate(playbackRate);\n }\n onStart();\n this.startOnPlay = false;\n }\n onPlay();\n if (this.seekOnPlay) {\n this.seekTo(this.seekOnPlay);\n this.seekOnPlay = null;\n }\n this.handleDurationCheck();\n });\n __publicField(this, \"handlePause\", (e) => {\n this.isPlaying = false;\n if (!this.isLoading) {\n this.props.onPause(e);\n }\n });\n __publicField(this, \"handleEnded\", () => {\n const { activePlayer, loop, onEnded } = this.props;\n if (activePlayer.loopOnEnded && loop) {\n this.seekTo(0);\n }\n if (!loop) {\n this.isPlaying = false;\n onEnded();\n }\n });\n __publicField(this, \"handleError\", (...args) => {\n this.isLoading = false;\n this.props.onError(...args);\n });\n __publicField(this, \"handleDurationCheck\", () => {\n clearTimeout(this.durationCheckTimeout);\n const duration = this.getDuration();\n if (duration) {\n if (!this.onDurationCalled) {\n this.props.onDuration(duration);\n this.onDurationCalled = true;\n }\n } else {\n this.durationCheckTimeout = setTimeout(this.handleDurationCheck, 100);\n }\n });\n __publicField(this, \"handleLoaded\", () => {\n this.isLoading = false;\n });\n }\n componentDidMount() {\n this.mounted = true;\n }\n componentWillUnmount() {\n clearTimeout(this.progressTimeout);\n clearTimeout(this.durationCheckTimeout);\n if (this.isReady && this.props.stopOnUnmount) {\n this.player.stop();\n if (this.player.disablePIP) {\n this.player.disablePIP();\n }\n }\n this.mounted = false;\n }\n componentDidUpdate(prevProps) {\n if (!this.player) {\n return;\n }\n const { url, playing, volume, muted, playbackRate, pip, loop, activePlayer, disableDeferredLoading } = this.props;\n if (!(0, import_react_fast_compare.default)(prevProps.url, url)) {\n if (this.isLoading && !activePlayer.forceLoad && !disableDeferredLoading && !(0, import_utils.isMediaStream)(url)) {\n console.warn(`ReactPlayer: the attempt to load ${url} is being deferred until the player has loaded`);\n this.loadOnReady = url;\n return;\n }\n this.isLoading = true;\n this.startOnPlay = true;\n this.onDurationCalled = false;\n this.player.load(url, this.isReady);\n }\n if (!prevProps.playing && playing && !this.isPlaying) {\n this.player.play();\n }\n if (prevProps.playing && !playing && this.isPlaying) {\n this.player.pause();\n }\n if (!prevProps.pip && pip && this.player.enablePIP) {\n this.player.enablePIP();\n }\n if (prevProps.pip && !pip && this.player.disablePIP) {\n this.player.disablePIP();\n }\n if (prevProps.volume !== volume && volume !== null) {\n this.player.setVolume(volume);\n }\n if (prevProps.muted !== muted) {\n if (muted) {\n this.player.mute();\n } else {\n this.player.unmute();\n if (volume !== null) {\n setTimeout(() => this.player.setVolume(volume));\n }\n }\n }\n if (prevProps.playbackRate !== playbackRate && this.player.setPlaybackRate) {\n this.player.setPlaybackRate(playbackRate);\n }\n if (prevProps.loop !== loop && this.player.setLoop) {\n this.player.setLoop(loop);\n }\n }\n getDuration() {\n if (!this.isReady)\n return null;\n return this.player.getDuration();\n }\n getCurrentTime() {\n if (!this.isReady)\n return null;\n return this.player.getCurrentTime();\n }\n getSecondsLoaded() {\n if (!this.isReady)\n return null;\n return this.player.getSecondsLoaded();\n }\n seekTo(amount, type, keepPlaying) {\n if (!this.isReady) {\n if (amount !== 0) {\n this.seekOnPlay = amount;\n setTimeout(() => {\n this.seekOnPlay = null;\n }, SEEK_ON_PLAY_EXPIRY);\n }\n return;\n }\n const isFraction = !type ? amount > 0 && amount < 1 : type === \"fraction\";\n if (isFraction) {\n const duration = this.player.getDuration();\n if (!duration) {\n console.warn(\"ReactPlayer: could not seek using fraction \\u2013\\xA0duration not yet available\");\n return;\n }\n this.player.seekTo(duration * amount, keepPlaying);\n return;\n }\n this.player.seekTo(amount, keepPlaying);\n }\n render() {\n const Player2 = this.props.activePlayer;\n if (!Player2) {\n return null;\n }\n return /* @__PURE__ */ import_react.default.createElement(\n Player2,\n {\n ...this.props,\n onMount: this.handlePlayerMount,\n onReady: this.handleReady,\n onPlay: this.handlePlay,\n onPause: this.handlePause,\n onEnded: this.handleEnded,\n onLoaded: this.handleLoaded,\n onError: this.handleError\n }\n );\n }\n}\n__publicField(Player, \"displayName\", \"Player\");\n__publicField(Player, \"propTypes\", import_props.propTypes);\n__publicField(Player, \"defaultProps\", import_props.defaultProps);\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nvar ReactPlayer_exports = {};\n__export(ReactPlayer_exports, {\n createReactPlayer: () => createReactPlayer\n});\nmodule.exports = __toCommonJS(ReactPlayer_exports);\nvar import_react = __toESM(require(\"react\"));\nvar import_deepmerge = __toESM(require(\"deepmerge\"));\nvar import_memoize_one = __toESM(require(\"memoize-one\"));\nvar import_react_fast_compare = __toESM(require(\"react-fast-compare\"));\nvar import_props = require(\"./props\");\nvar import_utils = require(\"./utils\");\nvar import_Player = __toESM(require(\"./Player\"));\nconst Preview = (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerPreview' */\n \"./Preview\"\n));\nconst IS_BROWSER = typeof window !== \"undefined\" && window.document && typeof document !== \"undefined\";\nconst IS_GLOBAL = typeof global !== \"undefined\" && global.window && global.window.document;\nconst SUPPORTED_PROPS = Object.keys(import_props.propTypes);\nconst UniversalSuspense = IS_BROWSER || IS_GLOBAL ? import_react.Suspense : () => null;\nconst customPlayers = [];\nconst createReactPlayer = (players, fallback) => {\n var _a;\n return _a = class extends import_react.Component {\n constructor() {\n super(...arguments);\n __publicField(this, \"state\", {\n showPreview: !!this.props.light\n });\n // Use references, as refs is used by React\n __publicField(this, \"references\", {\n wrapper: (wrapper) => {\n this.wrapper = wrapper;\n },\n player: (player) => {\n this.player = player;\n }\n });\n __publicField(this, \"handleClickPreview\", (e) => {\n this.setState({ showPreview: false });\n this.props.onClickPreview(e);\n });\n __publicField(this, \"showPreview\", () => {\n this.setState({ showPreview: true });\n });\n __publicField(this, \"getDuration\", () => {\n if (!this.player)\n return null;\n return this.player.getDuration();\n });\n __publicField(this, \"getCurrentTime\", () => {\n if (!this.player)\n return null;\n return this.player.getCurrentTime();\n });\n __publicField(this, \"getSecondsLoaded\", () => {\n if (!this.player)\n return null;\n return this.player.getSecondsLoaded();\n });\n __publicField(this, \"getInternalPlayer\", (key = \"player\") => {\n if (!this.player)\n return null;\n return this.player.getInternalPlayer(key);\n });\n __publicField(this, \"seekTo\", (fraction, type, keepPlaying) => {\n if (!this.player)\n return null;\n this.player.seekTo(fraction, type, keepPlaying);\n });\n __publicField(this, \"handleReady\", () => {\n this.props.onReady(this);\n });\n __publicField(this, \"getActivePlayer\", (0, import_memoize_one.default)((url) => {\n for (const player of [...customPlayers, ...players]) {\n if (player.canPlay(url)) {\n return player;\n }\n }\n if (fallback) {\n return fallback;\n }\n return null;\n }));\n __publicField(this, \"getConfig\", (0, import_memoize_one.default)((url, key) => {\n const { config } = this.props;\n return import_deepmerge.default.all([\n import_props.defaultProps.config,\n import_props.defaultProps.config[key] || {},\n config,\n config[key] || {}\n ]);\n }));\n __publicField(this, \"getAttributes\", (0, import_memoize_one.default)((url) => {\n return (0, import_utils.omit)(this.props, SUPPORTED_PROPS);\n }));\n __publicField(this, \"renderActivePlayer\", (url) => {\n if (!url)\n return null;\n const player = this.getActivePlayer(url);\n if (!player)\n return null;\n const config = this.getConfig(url, player.key);\n return /* @__PURE__ */ import_react.default.createElement(\n import_Player.default,\n {\n ...this.props,\n key: player.key,\n ref: this.references.player,\n config,\n activePlayer: player.lazyPlayer || player,\n onReady: this.handleReady\n }\n );\n });\n }\n shouldComponentUpdate(nextProps, nextState) {\n return !(0, import_react_fast_compare.default)(this.props, nextProps) || !(0, import_react_fast_compare.default)(this.state, nextState);\n }\n componentDidUpdate(prevProps) {\n const { light } = this.props;\n if (!prevProps.light && light) {\n this.setState({ showPreview: true });\n }\n if (prevProps.light && !light) {\n this.setState({ showPreview: false });\n }\n }\n renderPreview(url) {\n if (!url)\n return null;\n const { light, playIcon, previewTabIndex, oEmbedUrl, previewAriaLabel } = this.props;\n return /* @__PURE__ */ import_react.default.createElement(\n Preview,\n {\n url,\n light,\n playIcon,\n previewTabIndex,\n previewAriaLabel,\n oEmbedUrl,\n onClick: this.handleClickPreview\n }\n );\n }\n render() {\n const { url, style, width, height, fallback: fallback2, wrapper: Wrapper } = this.props;\n const { showPreview } = this.state;\n const attributes = this.getAttributes(url);\n const wrapperRef = typeof Wrapper === \"string\" ? this.references.wrapper : void 0;\n return /* @__PURE__ */ import_react.default.createElement(Wrapper, { ref: wrapperRef, style: { ...style, width, height }, ...attributes }, /* @__PURE__ */ import_react.default.createElement(UniversalSuspense, { fallback: fallback2 }, showPreview ? this.renderPreview(url) : this.renderActivePlayer(url)));\n }\n }, __publicField(_a, \"displayName\", \"ReactPlayer\"), __publicField(_a, \"propTypes\", import_props.propTypes), __publicField(_a, \"defaultProps\", import_props.defaultProps), __publicField(_a, \"addCustomPlayer\", (player) => {\n customPlayers.push(player);\n }), __publicField(_a, \"removeCustomPlayers\", () => {\n customPlayers.length = 0;\n }), __publicField(_a, \"canPlay\", (url) => {\n for (const Player2 of [...customPlayers, ...players]) {\n if (Player2.canPlay(url)) {\n return true;\n }\n }\n return false;\n }), __publicField(_a, \"canEnablePIP\", (url) => {\n for (const Player2 of [...customPlayers, ...players]) {\n if (Player2.canEnablePIP && Player2.canEnablePIP(url)) {\n return true;\n }\n }\n return false;\n }), _a;\n};\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar src_exports = {};\n__export(src_exports, {\n default: () => src_default\n});\nmodule.exports = __toCommonJS(src_exports);\nvar import_players = __toESM(require(\"./players\"));\nvar import_ReactPlayer = require(\"./ReactPlayer\");\nconst fallback = import_players.default[import_players.default.length - 1];\nvar src_default = (0, import_ReactPlayer.createReactPlayer)(import_players.default, fallback);\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar patterns_exports = {};\n__export(patterns_exports, {\n AUDIO_EXTENSIONS: () => AUDIO_EXTENSIONS,\n DASH_EXTENSIONS: () => DASH_EXTENSIONS,\n FLV_EXTENSIONS: () => FLV_EXTENSIONS,\n HLS_EXTENSIONS: () => HLS_EXTENSIONS,\n MATCH_URL_DAILYMOTION: () => MATCH_URL_DAILYMOTION,\n MATCH_URL_FACEBOOK: () => MATCH_URL_FACEBOOK,\n MATCH_URL_FACEBOOK_WATCH: () => MATCH_URL_FACEBOOK_WATCH,\n MATCH_URL_KALTURA: () => MATCH_URL_KALTURA,\n MATCH_URL_MIXCLOUD: () => MATCH_URL_MIXCLOUD,\n MATCH_URL_MUX: () => MATCH_URL_MUX,\n MATCH_URL_SOUNDCLOUD: () => MATCH_URL_SOUNDCLOUD,\n MATCH_URL_STREAMABLE: () => MATCH_URL_STREAMABLE,\n MATCH_URL_TWITCH_CHANNEL: () => MATCH_URL_TWITCH_CHANNEL,\n MATCH_URL_TWITCH_VIDEO: () => MATCH_URL_TWITCH_VIDEO,\n MATCH_URL_VIDYARD: () => MATCH_URL_VIDYARD,\n MATCH_URL_VIMEO: () => MATCH_URL_VIMEO,\n MATCH_URL_WISTIA: () => MATCH_URL_WISTIA,\n MATCH_URL_YOUTUBE: () => MATCH_URL_YOUTUBE,\n VIDEO_EXTENSIONS: () => VIDEO_EXTENSIONS,\n canPlay: () => canPlay\n});\nmodule.exports = __toCommonJS(patterns_exports);\nvar import_utils = require(\"./utils\");\nconst MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie|education)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=|shorts\\/|live\\/))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nconst MATCH_URL_SOUNDCLOUD = /(?:soundcloud\\.com|snd\\.sc)\\/[^.]+$/;\nconst MATCH_URL_VIMEO = /vimeo\\.com\\/(?!progressive_redirect).+/;\nconst MATCH_URL_MUX = /stream\\.mux\\.com\\/(?!\\w+\\.m3u8)(\\w+)/;\nconst MATCH_URL_FACEBOOK = /^https?:\\/\\/(www\\.)?facebook\\.com.*\\/(video(s)?|watch|story)(\\.php?|\\/).+$/;\nconst MATCH_URL_FACEBOOK_WATCH = /^https?:\\/\\/fb\\.watch\\/.+$/;\nconst MATCH_URL_STREAMABLE = /streamable\\.com\\/([a-z0-9]+)$/;\nconst MATCH_URL_WISTIA = /(?:wistia\\.(?:com|net)|wi\\.st)\\/(?:medias|embed)\\/(?:iframe\\/)?([^?]+)/;\nconst MATCH_URL_TWITCH_VIDEO = /(?:www\\.|go\\.)?twitch\\.tv\\/videos\\/(\\d+)($|\\?)/;\nconst MATCH_URL_TWITCH_CHANNEL = /(?:www\\.|go\\.)?twitch\\.tv\\/([a-zA-Z0-9_]+)($|\\?)/;\nconst MATCH_URL_DAILYMOTION = /^(?:(?:https?):)?(?:\\/\\/)?(?:www\\.)?(?:(?:dailymotion\\.com(?:\\/embed)?\\/video)|dai\\.ly)\\/([a-zA-Z0-9]+)(?:_[\\w_-]+)?(?:[\\w.#_-]+)?/;\nconst MATCH_URL_MIXCLOUD = /mixcloud\\.com\\/([^/]+\\/[^/]+)/;\nconst MATCH_URL_VIDYARD = /vidyard.com\\/(?:watch\\/)?([a-zA-Z0-9-_]+)/;\nconst MATCH_URL_KALTURA = /^https?:\\/\\/[a-zA-Z]+\\.kaltura.(com|org)\\/p\\/([0-9]+)\\/sp\\/([0-9]+)00\\/embedIframeJs\\/uiconf_id\\/([0-9]+)\\/partner_id\\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_].*)$/;\nconst AUDIO_EXTENSIONS = /\\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nconst VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\\d+]+)?($|\\?)/i;\nconst HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nconst DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nconst FLV_EXTENSIONS = /\\.(flv)($|\\?)/i;\nconst canPlayFile = (url) => {\n if (url instanceof Array) {\n for (const item of url) {\n if (typeof item === \"string\" && canPlayFile(item)) {\n return true;\n }\n if (canPlayFile(item.src)) {\n return true;\n }\n }\n return false;\n }\n if ((0, import_utils.isMediaStream)(url) || (0, import_utils.isBlobUrl)(url)) {\n return true;\n }\n return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url) || FLV_EXTENSIONS.test(url);\n};\nconst canPlay = {\n youtube: (url) => {\n if (url instanceof Array) {\n return url.every((item) => MATCH_URL_YOUTUBE.test(item));\n }\n return MATCH_URL_YOUTUBE.test(url);\n },\n soundcloud: (url) => MATCH_URL_SOUNDCLOUD.test(url) && !AUDIO_EXTENSIONS.test(url),\n vimeo: (url) => MATCH_URL_VIMEO.test(url) && !VIDEO_EXTENSIONS.test(url) && !HLS_EXTENSIONS.test(url),\n mux: (url) => MATCH_URL_MUX.test(url),\n facebook: (url) => MATCH_URL_FACEBOOK.test(url) || MATCH_URL_FACEBOOK_WATCH.test(url),\n streamable: (url) => MATCH_URL_STREAMABLE.test(url),\n wistia: (url) => MATCH_URL_WISTIA.test(url),\n twitch: (url) => MATCH_URL_TWITCH_VIDEO.test(url) || MATCH_URL_TWITCH_CHANNEL.test(url),\n dailymotion: (url) => MATCH_URL_DAILYMOTION.test(url),\n mixcloud: (url) => MATCH_URL_MIXCLOUD.test(url),\n vidyard: (url) => MATCH_URL_VIDYARD.test(url),\n kaltura: (url) => MATCH_URL_KALTURA.test(url),\n file: canPlayFile\n};\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar players_exports = {};\n__export(players_exports, {\n default: () => players_default\n});\nmodule.exports = __toCommonJS(players_exports);\nvar import_utils = require(\"../utils\");\nvar import_patterns = require(\"../patterns\");\nvar players_default = [\n {\n key: \"youtube\",\n name: \"YouTube\",\n canPlay: import_patterns.canPlay.youtube,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerYouTube' */\n \"./YouTube\"\n ))\n },\n {\n key: \"soundcloud\",\n name: \"SoundCloud\",\n canPlay: import_patterns.canPlay.soundcloud,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerSoundCloud' */\n \"./SoundCloud\"\n ))\n },\n {\n key: \"vimeo\",\n name: \"Vimeo\",\n canPlay: import_patterns.canPlay.vimeo,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerVimeo' */\n \"./Vimeo\"\n ))\n },\n {\n key: \"mux\",\n name: \"Mux\",\n canPlay: import_patterns.canPlay.mux,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerMux' */\n \"./Mux\"\n ))\n },\n {\n key: \"facebook\",\n name: \"Facebook\",\n canPlay: import_patterns.canPlay.facebook,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerFacebook' */\n \"./Facebook\"\n ))\n },\n {\n key: \"streamable\",\n name: \"Streamable\",\n canPlay: import_patterns.canPlay.streamable,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerStreamable' */\n \"./Streamable\"\n ))\n },\n {\n key: \"wistia\",\n name: \"Wistia\",\n canPlay: import_patterns.canPlay.wistia,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerWistia' */\n \"./Wistia\"\n ))\n },\n {\n key: \"twitch\",\n name: \"Twitch\",\n canPlay: import_patterns.canPlay.twitch,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerTwitch' */\n \"./Twitch\"\n ))\n },\n {\n key: \"dailymotion\",\n name: \"DailyMotion\",\n canPlay: import_patterns.canPlay.dailymotion,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerDailyMotion' */\n \"./DailyMotion\"\n ))\n },\n {\n key: \"mixcloud\",\n name: \"Mixcloud\",\n canPlay: import_patterns.canPlay.mixcloud,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerMixcloud' */\n \"./Mixcloud\"\n ))\n },\n {\n key: \"vidyard\",\n name: \"Vidyard\",\n canPlay: import_patterns.canPlay.vidyard,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerVidyard' */\n \"./Vidyard\"\n ))\n },\n {\n key: \"kaltura\",\n name: \"Kaltura\",\n canPlay: import_patterns.canPlay.kaltura,\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerKaltura' */\n \"./Kaltura\"\n ))\n },\n {\n key: \"file\",\n name: \"FilePlayer\",\n canPlay: import_patterns.canPlay.file,\n canEnablePIP: (url) => {\n return import_patterns.canPlay.file(url) && (document.pictureInPictureEnabled || (0, import_utils.supportsWebKitPresentationMode)()) && !import_patterns.AUDIO_EXTENSIONS.test(url);\n },\n lazyPlayer: (0, import_utils.lazy)(() => import(\n /* webpackChunkName: 'reactPlayerFilePlayer' */\n \"./FilePlayer\"\n ))\n }\n];\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar props_exports = {};\n__export(props_exports, {\n defaultProps: () => defaultProps,\n propTypes: () => propTypes\n});\nmodule.exports = __toCommonJS(props_exports);\nvar import_prop_types = __toESM(require(\"prop-types\"));\nconst { string, bool, number, array, oneOfType, shape, object, func, node } = import_prop_types.default;\nconst propTypes = {\n url: oneOfType([string, array, object]),\n playing: bool,\n loop: bool,\n controls: bool,\n volume: number,\n muted: bool,\n playbackRate: number,\n width: oneOfType([string, number]),\n height: oneOfType([string, number]),\n style: object,\n progressInterval: number,\n playsinline: bool,\n pip: bool,\n stopOnUnmount: bool,\n light: oneOfType([bool, string, object]),\n playIcon: node,\n previewTabIndex: number,\n previewAriaLabel: string,\n fallback: node,\n oEmbedUrl: string,\n wrapper: oneOfType([\n string,\n func,\n shape({ render: func.isRequired })\n ]),\n config: shape({\n soundcloud: shape({\n options: object\n }),\n youtube: shape({\n playerVars: object,\n embedOptions: object,\n onUnstarted: func\n }),\n facebook: shape({\n appId: string,\n version: string,\n playerId: string,\n attributes: object\n }),\n dailymotion: shape({\n params: object\n }),\n vimeo: shape({\n playerOptions: object,\n title: string\n }),\n mux: shape({\n attributes: object,\n version: string\n }),\n file: shape({\n attributes: object,\n tracks: array,\n forceVideo: bool,\n forceAudio: bool,\n forceHLS: bool,\n forceSafariHLS: bool,\n forceDisableHls: bool,\n forceDASH: bool,\n forceFLV: bool,\n hlsOptions: object,\n hlsVersion: string,\n dashVersion: string,\n flvVersion: string\n }),\n wistia: shape({\n options: object,\n playerId: string,\n customControls: array\n }),\n mixcloud: shape({\n options: object\n }),\n twitch: shape({\n options: object,\n playerId: string\n }),\n vidyard: shape({\n options: object\n })\n }),\n onReady: func,\n onStart: func,\n onPlay: func,\n onPause: func,\n onBuffer: func,\n onBufferEnd: func,\n onEnded: func,\n onError: func,\n onDuration: func,\n onSeek: func,\n onPlaybackRateChange: func,\n onPlaybackQualityChange: func,\n onProgress: func,\n onClickPreview: func,\n onEnablePIP: func,\n onDisablePIP: func\n};\nconst noop = () => {\n};\nconst defaultProps = {\n playing: false,\n loop: false,\n controls: false,\n volume: null,\n muted: false,\n playbackRate: 1,\n width: \"640px\",\n height: \"360px\",\n style: {},\n progressInterval: 1e3,\n playsinline: false,\n pip: false,\n stopOnUnmount: true,\n light: false,\n fallback: null,\n wrapper: \"div\",\n previewTabIndex: 0,\n previewAriaLabel: \"\",\n oEmbedUrl: \"https://noembed.com/embed?url={url}\",\n config: {\n soundcloud: {\n options: {\n visual: true,\n // Undocumented, but makes player fill container and look better\n buying: false,\n liking: false,\n download: false,\n sharing: false,\n show_comments: false,\n show_playcount: false\n }\n },\n youtube: {\n playerVars: {\n playsinline: 1,\n showinfo: 0,\n rel: 0,\n iv_load_policy: 3,\n modestbranding: 1\n },\n embedOptions: {},\n onUnstarted: noop\n },\n facebook: {\n appId: \"1309697205772819\",\n version: \"v3.3\",\n playerId: null,\n attributes: {}\n },\n dailymotion: {\n params: {\n api: 1,\n \"endscreen-enable\": false\n }\n },\n vimeo: {\n playerOptions: {\n autopause: false,\n byline: false,\n portrait: false,\n title: false\n },\n title: null\n },\n mux: {\n attributes: {},\n version: \"2\"\n },\n file: {\n attributes: {},\n tracks: [],\n forceVideo: false,\n forceAudio: false,\n forceHLS: false,\n forceDASH: false,\n forceFLV: false,\n hlsOptions: {},\n hlsVersion: \"1.1.4\",\n dashVersion: \"3.1.3\",\n flvVersion: \"1.5.0\",\n forceDisableHls: false\n },\n wistia: {\n options: {},\n playerId: null,\n customControls: null\n },\n mixcloud: {\n options: {\n hide_cover: 1\n }\n },\n twitch: {\n options: {},\n playerId: null\n },\n vidyard: {\n options: {}\n }\n },\n onReady: noop,\n onStart: noop,\n onPlay: noop,\n onPause: noop,\n onBuffer: noop,\n onBufferEnd: noop,\n onEnded: noop,\n onError: noop,\n onDuration: noop,\n onSeek: noop,\n onPlaybackRateChange: noop,\n onPlaybackQualityChange: noop,\n onProgress: noop,\n onClickPreview: noop,\n onEnablePIP: noop,\n onDisablePIP: noop\n};\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar utils_exports = {};\n__export(utils_exports, {\n callPlayer: () => callPlayer,\n getConfig: () => getConfig,\n getSDK: () => getSDK,\n isBlobUrl: () => isBlobUrl,\n isMediaStream: () => isMediaStream,\n lazy: () => lazy,\n omit: () => omit,\n parseEndTime: () => parseEndTime,\n parseStartTime: () => parseStartTime,\n queryString: () => queryString,\n randomString: () => randomString,\n supportsWebKitPresentationMode: () => supportsWebKitPresentationMode\n});\nmodule.exports = __toCommonJS(utils_exports);\nvar import_react = __toESM(require(\"react\"));\nvar import_load_script = __toESM(require(\"load-script\"));\nvar import_deepmerge = __toESM(require(\"deepmerge\"));\nconst lazy = (componentImportFn) => import_react.default.lazy(async () => {\n const obj = await componentImportFn();\n return typeof obj.default === \"function\" ? obj : obj.default;\n});\nconst MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/;\nconst MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;\nconst MATCH_START_STAMP = /(\\d+)(h|m|s)/g;\nconst MATCH_NUMERIC = /^\\d+$/;\nfunction parseTimeParam(url, pattern) {\n if (url instanceof Array) {\n return void 0;\n }\n const match = url.match(pattern);\n if (match) {\n const stamp = match[1];\n if (stamp.match(MATCH_START_STAMP)) {\n return parseTimeString(stamp);\n }\n if (MATCH_NUMERIC.test(stamp)) {\n return parseInt(stamp);\n }\n }\n return void 0;\n}\nfunction parseTimeString(stamp) {\n let seconds = 0;\n let array = MATCH_START_STAMP.exec(stamp);\n while (array !== null) {\n const [, count, period] = array;\n if (period === \"h\")\n seconds += parseInt(count, 10) * 60 * 60;\n if (period === \"m\")\n seconds += parseInt(count, 10) * 60;\n if (period === \"s\")\n seconds += parseInt(count, 10);\n array = MATCH_START_STAMP.exec(stamp);\n }\n return seconds;\n}\nfunction parseStartTime(url) {\n return parseTimeParam(url, MATCH_START_QUERY);\n}\nfunction parseEndTime(url) {\n return parseTimeParam(url, MATCH_END_QUERY);\n}\nfunction randomString() {\n return Math.random().toString(36).substr(2, 5);\n}\nfunction queryString(object) {\n return Object.keys(object).map((key) => `${key}=${object[key]}`).join(\"&\");\n}\nfunction getGlobal(key) {\n if (window[key]) {\n return window[key];\n }\n if (window.exports && window.exports[key]) {\n return window.exports[key];\n }\n if (window.module && window.module.exports && window.module.exports[key]) {\n return window.module.exports[key];\n }\n return null;\n}\nconst requests = {};\nconst getSDK = enableStubOn(function getSDK2(url, sdkGlobal, sdkReady = null, isLoaded = () => true, fetchScript = import_load_script.default) {\n const existingGlobal = getGlobal(sdkGlobal);\n if (existingGlobal && isLoaded(existingGlobal)) {\n return Promise.resolve(existingGlobal);\n }\n return new Promise((resolve, reject) => {\n if (requests[url]) {\n requests[url].push({ resolve, reject });\n return;\n }\n requests[url] = [{ resolve, reject }];\n const onLoaded = (sdk) => {\n requests[url].forEach((request) => request.resolve(sdk));\n };\n if (sdkReady) {\n const previousOnReady = window[sdkReady];\n window[sdkReady] = function() {\n if (previousOnReady)\n previousOnReady();\n onLoaded(getGlobal(sdkGlobal));\n };\n }\n fetchScript(url, (err) => {\n if (err) {\n requests[url].forEach((request) => request.reject(err));\n requests[url] = null;\n } else if (!sdkReady) {\n onLoaded(getGlobal(sdkGlobal));\n }\n });\n });\n});\nfunction getConfig(props, defaultProps) {\n return (0, import_deepmerge.default)(defaultProps.config, props.config);\n}\nfunction omit(object, ...arrays) {\n const omitKeys = [].concat(...arrays);\n const output = {};\n const keys = Object.keys(object);\n for (const key of keys) {\n if (omitKeys.indexOf(key) === -1) {\n output[key] = object[key];\n }\n }\n return output;\n}\nfunction callPlayer(method, ...args) {\n if (!this.player || !this.player[method]) {\n let message = `ReactPlayer: ${this.constructor.displayName} player could not call %c${method}%c \\u2013 `;\n if (!this.player) {\n message += \"The player was not available\";\n } else if (!this.player[method]) {\n message += \"The method was not available\";\n }\n console.warn(message, \"font-weight: bold\", \"\");\n return null;\n }\n return this.player[method](...args);\n}\nfunction isMediaStream(url) {\n return typeof window !== \"undefined\" && typeof window.MediaStream !== \"undefined\" && url instanceof window.MediaStream;\n}\nfunction isBlobUrl(url) {\n return /^blob:/.test(url);\n}\nfunction supportsWebKitPresentationMode(video = document.createElement(\"video\")) {\n const notMobile = /iPhone|iPod/.test(navigator.userAgent) === false;\n return video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === \"function\" && notMobile;\n}\nfunction enableStubOn(fn) {\n if (false) {\n const wrap = (...args) => wrap.stub(...args);\n wrap.stub = fn;\n return wrap;\n }\n return fn;\n}\n"],"names":["isMergeableObject","value","isNonNullObject","stringValue","Object","prototype","toString","call","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","Symbol","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","val","Array","isArray","defaultArrayMerge","target","source","concat","map","element","getKeys","keys","getOwnPropertySymbols","filter","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","property","_","mergeObject","destination","forEach","key","hasOwnProperty","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","all","array","Error","reduce","prev","next","deepmerge_1","module","exports","slideUp","keyframes","MainTitle","styled","Box","withConfig","displayName","componentId","tealSlide","tealSlideReverse","TealBox","pinkSlide","pinkSlideReverse","PinkBox","Button","_ref","setLayer","size","useContext","ResponsiveContext","useEffect","React","HeaderGrommet","justify","pad","horizontal","vertical","flex","ButtonLink","label","to","icon","Menu","onClick","children","title","rest","assign","align","fill","direction","Heading","color","level","margin","bottom","top","ResponsiveLayout","props","layer","StyledLayer","Layer","background","location","useLocation","data","AppContext","useState","childrenWithProps","Children","child","isValidElement","cloneElement","image","position","pathname","includes","HPEDevHeader","HackShackHeader","left","SideNav","right","Text","Close","gap","getNavColor","active","hover","TextAlignLeft","SideNavContainer","NavButton","setHover","plain","navigate","onMouseOver","onFocus","onMouseOut","onBlur","_ref2","_data$platform","_data$opensource","platforms","platform","edges","opensource","PlatformButtonLinks","_ref3","column","leftColumn","index","rightColumn","slug","node","fields","frontmatter","alignSelf","OpenSourceButtonLinks","_ref4","os","s","toLowerCase","width","min","border","DropButton","dropAlign","FormDown","reverse","dropContent","state","isPlatformHeaderClicked","isBlogHeaderClicked","Search","slideIn","CardWrapper","StyledGrid","Grid","ContrastLayer","Logo","height","defaultProps","Image","round","alt","desc","link","logo","path","fit","imageBackground","overflow","GrommetImage","src","Link","secondary","href","rel","_extends","bind","i","arguments","length","apply","this","CircleInformation","forwardRef","ref","StyledIcon","viewBox","a11yTitle","stroke","strokeWidth","d","ShareOption","workshopId","workshop","toolTip","setToolTip","origin","window","Linkedin","Twitter","GrommetLink","navigator","clipboard","writeText","tip","dropProps","content","UnregisterLayer","formData","setFormData","customerId","setUnregisterLayer","setUnresigsterSuccess","resetUnregisterFormData","setTryAgainLater","endDate","usernameError","setUserNameError","passwordError","setPasswordError","hours","minutes","ends","dateFuture","Date","dateNow","seconds","Math","floor","days","getTimeLeft","timeLeftString","Form","validate","onChange","onSubmit","axios","method","url","process","headers","AuthService","getCurrentUser","accessToken","then","customerData","studentId","studentData","username","password","sessionName","catch","err","console","log","FormField","name","error","required","TextInput","type","primary","async","SignupLayer","setSuccess","sessionType","duration","setError","emailError","setEmailError","unregisterCustomerData","setUnregisterCustomerData","unregisterLayer","unregisterSuccess","tryAgainLater","unregisterFormData","setUnregisterFormData","email","emailtemp","lastAtPos","lastIndexOf","lastDotPos","indexOf","emailValidation","postCustomer","response","status","login","message","full","style","borderRadius","repeat","opacity","FormClose","company","CheckBox","termsAndConditions","Anchor","id","SuccessLayer","_ref5","StatusGood","weight","_ref6","avatar","DBid","notebook","presenter","role","sessionLink","workshopList","ezmeral","replayId","popular","user","userDetail","textSize","backgroundColor","uri","cardRef","useRef","cardTopSectionHeight","setcardTopSectionHeight","signupLayer","setSignupLayer","successLayer","setSuccessLayer","disabled","setDisabled","proxy","checkHover","e","current","mouseOver","contains","getWorkshopbyID","res","capacity","refHeight","offsetHeight","addEventListener","removeEventListener","onMouseEnter","onMouseLeave","Avatar","workshopLink","workshopID","Share","checked","inputvalue","userInfo","Previous","videoLink","setCurrent","setAutoPlay","textAlign","ReactPlayer","maxWidth","minWidth","maxHeight","zIndex","videolink","replaysLength","autoplay","workshopTitle","workshopDuration","resetFormData","controls","playing","onEnded","open","cursor","side","reset","scaleProps","stdOnEnd","script","cb","onload","onerror","ieOnEnd","onreadystatechange","readyState","opts","head","document","getElementsByTagName","createElement","charset","attrs","attr","setAttribute","setAttributes","text","appendChild","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","first","second","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","_i","mod","__create","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","__copyProps","from","except","get","enumerable","__toESM","isNodeMode","__esModule","__publicField","obj","configurable","writable","__defNormalProp","Player_exports","__export","default","Player","import_react","import_react_fast_compare","import_props","import_utils","Component","constructor","super","player","load","progress","isReady","playedSeconds","getCurrentTime","loadedSeconds","getSecondsLoaded","getDuration","played","loaded","prevPlayed","prevLoaded","onProgress","progressTimeout","setTimeout","progressFrequency","progressInterval","mounted","isLoading","onReady","volume","muted","setVolume","loadOnReady","play","handleDurationCheck","isPlaying","onStart","onPlay","playbackRate","startOnPlay","setPlaybackRate","seekOnPlay","seekTo","onPause","activePlayer","loop","loopOnEnded","args","onError","clearTimeout","durationCheckTimeout","onDurationCalled","onDuration","componentDidMount","componentWillUnmount","stopOnUnmount","stop","disablePIP","componentDidUpdate","prevProps","pip","disableDeferredLoading","forceLoad","isMediaStream","warn","pause","enablePIP","mute","unmute","setLoop","amount","keepPlaying","render","Player2","onMount","handlePlayerMount","handleReady","handlePlay","handlePause","handleEnded","onLoaded","handleLoaded","handleError","propTypes","ReactPlayer_exports","createReactPlayer","import_deepmerge","import_memoize_one","import_Player","Preview","lazy","IS_BROWSER","IS_GLOBAL","g","SUPPORTED_PROPS","UniversalSuspense","Suspense","customPlayers","players","fallback","_a","showPreview","light","wrapper","setState","onClickPreview","getInternalPlayer","fraction","canPlay","config","omit","getActivePlayer","getConfig","references","lazyPlayer","shouldComponentUpdate","nextProps","nextState","renderPreview","playIcon","previewTabIndex","oEmbedUrl","previewAriaLabel","handleClickPreview","fallback2","Wrapper","attributes","getAttributes","wrapperRef","renderActivePlayer","push","canEnablePIP","src_exports","src_default","import_players","import_ReactPlayer","patterns_exports","AUDIO_EXTENSIONS","DASH_EXTENSIONS","FLV_EXTENSIONS","HLS_EXTENSIONS","MATCH_URL_DAILYMOTION","MATCH_URL_FACEBOOK","MATCH_URL_FACEBOOK_WATCH","MATCH_URL_KALTURA","MATCH_URL_MIXCLOUD","MATCH_URL_MUX","MATCH_URL_SOUNDCLOUD","MATCH_URL_STREAMABLE","MATCH_URL_TWITCH_CHANNEL","MATCH_URL_TWITCH_VIDEO","MATCH_URL_VIDYARD","MATCH_URL_VIMEO","MATCH_URL_WISTIA","MATCH_URL_YOUTUBE","VIDEO_EXTENSIONS","canPlayFile","item","isBlobUrl","test","youtube","every","soundcloud","vimeo","mux","facebook","streamable","wistia","twitch","dailymotion","mixcloud","vidyard","kaltura","file","players_exports","players_default","import_patterns","pictureInPictureEnabled","supportsWebKitPresentationMode","props_exports","import_prop_types","string","bool","number","oneOfType","shape","func","playsinline","isRequired","playerVars","embedOptions","onUnstarted","appId","version","playerId","params","playerOptions","tracks","forceVideo","forceAudio","forceHLS","forceSafariHLS","forceDisableHls","forceDASH","forceFLV","hlsOptions","hlsVersion","dashVersion","flvVersion","customControls","onBuffer","onBufferEnd","onSeek","onPlaybackRateChange","onPlaybackQualityChange","onEnablePIP","onDisablePIP","noop","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","iv_load_policy","modestbranding","api","autopause","byline","portrait","hide_cover","utils_exports","callPlayer","getSDK","parseEndTime","parseStartTime","queryString","randomString","import_load_script","componentImportFn","MATCH_START_QUERY","MATCH_END_QUERY","MATCH_START_STAMP","MATCH_NUMERIC","parseTimeParam","pattern","match","stamp","exec","count","period","parseInt","parseTimeString","random","substr","join","getGlobal","requests","fn","enableStubOn","sdkGlobal","sdkReady","isLoaded","fetchScript","existingGlobal","Promise","resolve","reject","sdk","request","previousOnReady","arrays","omitKeys","output","MediaStream","video","notMobile","userAgent","webkitSupportsPresentationMode","webkitSetPresentationMode"],"sourceRoot":""}