{"version":3,"file":"js/rescript-bundles-user-dashboard-projects-create-bare-metal-project-configuration-cec848c2e29f98577c6b.chunk.js","mappings":"iJAcA,IAAIA,EAAsB,CACxBC,QATF,SAAiBC,EAASC,EAAOC,GAC/BC,EAAAA,GAAuCJ,QAAQC,EAASC,EAAOC,EACjE,EAQEE,MANF,SAAeJ,EAASC,EAAOC,GAC7BC,EAAAA,GAAuCC,MAAMJ,EAASC,EAAOC,EAC/D,E,2+CCXW,EAAW,uDACXG,EAAsB,kEACtBC,EAAc,0DACdC,EAAS,qDACTC,EAAuB,mEACvBC,EAAmB,+DACnBC,EAAiB,6DACjBC,EAAc,0DACdC,EAAY,wDACZC,EAAa,yDACbC,GAAe,2DACfC,GAAW,uDACXC,GAAQ,oDACRC,GAAW,uDACXC,GAAgB,4DAChBC,GAAO,mDACPC,GAAa,yDACbC,GAAmB,+DACnBC,GAAO,mDACPC,GAAO,mDACPC,GAAO,mDACPC,GAAO,mDACPC,GAAO,mDACPC,GAAiC,6EACjCC,GAA6B,yEAC7BC,GAA2B,uEAC3BC,GAAW,uDACXC,GAAQ,oDACRC,GAAoB,gEACpBC,GAA6B,yEAC7BC,GAAqB,iEACrBC,GAA8B,0EAC9BC,GAAY,wDACZC,GAAQ,oDACRC,GAAW,uDACXC,GAAc,0DACdC,GAAmB,+DACnBC,GAAkB,8DAClBC,GAAgB,4DAChBC,GAAM,kDACNC,GAAgB,4DAChBC,GAAa,yDACb,GAAW,uDACX5C,GAAQ,oDACR6C,GAA2B,uEAC3BC,GAAqB,iEACrBC,GAAW,uDACXC,GAAoB,gEACpBC,GAAuB,mEACvBC,GAAW,uDCblBC,GAAMC,EAEV,SAASC,GAAMtC,EAAOuC,GACpB,MAAO,wCAA2CvC,EAAS,IAAMwC,OAAOD,EAC1E,CAkBA,SAASE,GAAOC,EAAGC,GACjB,OAAOC,EAAAA,GAAyBF,GAAI,SAAUG,EAAOC,GACvC,OAAOH,IAAUG,CACnB,GACd,CAEA,SAASC,GAAOL,EAAGC,GACjB,OAAOC,EAAAA,GAAwBF,GAAI,SAAUI,EAAKE,GACpC,OAAIL,IAAUG,EACLG,EAAAA,EAAkBD,GAElBA,CAEX,GACd,CAeA,SAASE,GAASC,GAChBP,EAAAA,GAA4BO,EAAKpC,MAAMqC,gBAAiB,SAAUC,EAAIR,GAC9DM,EAAKG,2BAA2BD,EAClC,GACR,CAEA,SAASE,GAAQJ,GACf,OAAOP,EAAAA,GAAwBO,EAAKpC,MAAMqC,gBAAiB,SAAUC,EAAIR,GAC3D,OAAOM,EAAKK,6BAA6BH,EAC3C,GACd,CAEA,SAASI,GAAQF,GACf,OAAOX,EAAAA,GAAiBW,GAAU,SAAUG,GAC9B,YAAeC,IAAXD,GAAuC,OAAfA,EAAOE,GAKrC,GACd,CAEA,IAMIC,GAAeC,EAAAA,EAAc,KAAM,SAAUjB,GACzC,GAAqB,UAAjBA,EAAM,GAAGe,IACX,OAAOG,EAAAA,GAAeC,EAAAA,GAA2CnB,EAAM,KAAM,SAAUH,GACzE,GAAc,OAAVA,EAAEkB,IACJ,OAAOK,EAAAA,GAAmClF,QAAQ,eAAgB,GAAI,KAExEmF,EAAAA,GAAoB,CACdC,WAAY,sCACZC,cAAe,CACbC,GAAI,MACJC,GAAY,GAEdC,MAAO,eACPC,SAAU,wDACT,mCAAoC,CACrC,QACA9B,EAAE+B,KAERR,EAAAA,GAAmC7E,MAAM,gDAAiD,GAAI,IAChG,GAGhB,IAEN,SAASsF,GAAWC,EAAMC,EAASC,GACjC,GAAoB,UAAhBD,EAAQhB,IACV,OAAOG,EAAAA,GAAeC,EAAAA,GAAsCW,IAAQ,SAAUjC,GAChE,GAAc,OAAVA,EAAEkB,IACJ,OAAOkB,EAAAA,GAAUC,EAAAA,GAAyBC,SAASC,aAErDf,EAAAA,GAAoB,CACdC,WAAY,sCACZC,cAAe,CACbC,GAAI,MACJC,GAAY,GAEdC,MAAO,aACPC,SAAU,sDACT,2CAA4C,CAC7C,QACA9B,EAAE+B,KAERI,IACAZ,EAAAA,GAAmC7E,MAAM,gDAAiD,GAAI,IAChG,IAEd,IAAI8F,EAAYN,EAAQM,UACxBnB,EAAAA,GAAeC,EAAAA,GAAwCkB,EAAWP,IAAQ,SAAUjC,GAC5E,GAAc,OAAVA,EAAEkB,IACJ,OAAOkB,EAAAA,GAAUC,EAAAA,GAAyBC,SAASG,aAAaD,IAElEhB,EAAAA,GAAoB,CACdC,WAAY,sCACZC,cAAe,CACbC,GAAI,MACJC,GAAY,GAEdC,MAAO,aACPC,SAAU,sDACT,6CAA8C,CAC/C,QACA9B,EAAE+B,KAERI,IACAZ,EAAAA,GAAmC7E,MAAM,oDAAqD,GAAI,IACpG,GACR,CAEA,SAASgG,GAAiCjC,EAAMyB,GAC9C,MAAoB,UAAhBA,EAAQhB,IACHG,EAAAA,GAAeC,EAAAA,GAAgDY,EAAQM,UAAW/B,EAAKpC,QAAS,SAAU2B,GACnG,GAAc,OAAVA,EAAEkB,IACJ,OAAOkB,EAAAA,GAAUC,EAAAA,IAEnBb,EAAAA,GAAoB,CACdC,WAAY,sCACZC,cAAe,CACbC,GAAI,MACJC,GAAY,GAEdC,MAAO,mCACPC,SAAU,4EACT,4CAA6C,CAC9C,QACA9B,EAAE+B,KAERR,EAAAA,GAAmC7E,MAAM,oDAAqD,GAAI,IACpG,KAEd8D,GAASC,GACLM,GAAQF,GAAQJ,IACXY,EAAAA,GAAeC,EAAAA,GAA8C,YAAa,CACjEJ,IAAK,YACLa,GAAI,OACH,UAAW,SAAU/B,GACxB,GAAc,OAAVA,EAAEkB,IACJ,OAAOkB,EAAAA,GAAUC,EAAAA,IAEnBb,EAAAA,GAAoB,CACdC,WAAY,sCACZC,cAAe,CACbC,GAAI,MACJC,GAAY,GAEdC,MAAO,mCACPC,SAAU,4EACT,4DAA6D,CAC9D,QACA9B,EAAE+B,KAERR,EAAAA,GAAmC7E,MAAM,gDAAiD,GAAI,IAChG,SArBd,EAwBF,CAEA,SAASiG,KACPtB,EAAAA,GAAeC,EAAAA,MAA8B,SAAUtB,GAC/C,MAAc,OAAVA,EAAEkB,IACGkB,EAAAA,GAAUC,EAAAA,IAEVb,EAAAA,GAAoB,CACfC,WAAY,sCACZC,cAAe,CACbC,GAAI,MACJC,GAAY,GAEdC,MAAO,iBACPC,SAAU,0DACT,+BAAgC,CACjC,QACA9B,EAAE+B,IAGlB,GACR,CA6vBA,IAAIa,GApvBJ,SAA6CC,GAC3C,IAgHIC,EA0BAC,EAOAC,EAjJAC,EAAkBJ,EAAMI,gBACxBC,EAASL,EAAMK,OACfC,EAAUN,EAAMM,QAChBjB,EAAUW,EAAMX,QAChBkB,EAAeC,EAAAA,SAAe,WAC1B,GAAoB,UAAhBnB,EAAQhB,IACV,MAAO,CACCR,eAAgBwB,EAAQD,MAGlC,IAAIA,EAAOC,EAAQD,KACnB,YAAahB,IAATgB,EACK,CACCvB,eAAgBuB,GAGjB,CACCvB,eAAgB,CAAC4C,EAAAA,GAAsDC,SAGnF,GAAI,IACNC,EAAQH,EAAAA,UAAe,WACrB,MAAO,QACT,IACAI,EAAoBD,EAAM,GAC1BE,EAAcF,EAAM,GACpB/C,EAAO6C,EAAAA,GAAgDF,GAAe,SAAUO,EAAQlD,GACpFuB,GAAW2B,EAAQzB,EAASzB,EAAKmD,gBACnC,IACFC,EAAeR,EAAAA,SAAe,WAC1B,IAAIpB,EACJ,GAAoB,UAAhBC,EAAQhB,IAAiB,CAC3B,IAAI4C,EAAS5B,EAAQD,KACrB,QAAehB,IAAX6C,EAEG,CAEL,MAAO,CACCC,iBAFI,CAAC,SAGLd,gBAAiBA,EAE3B,CAPEhB,EAAO6B,CAQX,MACE7B,EAAOC,EAAQD,KAKjB,MAAO,CACC8B,iBAJM7D,EAAAA,GAAe+B,GAAO,SAAU9B,GACtC,MAAO,OACT,IAGE8C,gBAAiBA,EAE3B,GAAI,IACNe,EAAUC,EAAAA,GAAiBJ,GAAe,SAAUK,EAAOC,GACvD,GAAsB,kBAAXA,EACT,MAAe,aAAXA,EACK,CACCjD,IAAK,wBACLa,GAAI,CACFgC,iBAAkB7D,EAAAA,GAAkBgE,EAAMH,iBAAkB,CAAC,UAC7Dd,gBAAiBiB,EAAMjB,iBAEzBmB,GAAK,SAAUjE,GACXM,EAAK4D,iBAAiBf,EAAAA,GAAsDC,QAC9E,GAGH,CACCrC,IAAK,SACLa,GAAI,CACFgC,iBAAkB7D,EAAAA,GAAegE,EAAMH,kBAAmB,SAAU5D,GAC5D,MAAO,OACT,IACN8C,gBAAiBiB,EAAMjB,kBAKrC,OAAQkB,EAAOjD,KACb,IAAK,cACD,MAAO,CACCA,IAAK,SACLa,GAAI,CACFgC,iBAAkBhE,GAAOmE,EAAMH,iBAAkBI,EAAOtE,IACxDoD,gBAAiBiB,EAAMjB,kBAGrC,IAAK,wBACD,MAAO,CACC/B,IAAK,SACLa,GAAI,CACFgC,iBAAkB1D,GAAO6D,EAAMH,iBAAkBI,EAAOtE,IACxDoD,gBAAiBiB,EAAMjB,kBAGrC,IAAK,oBACD,MAAO,CACC/B,IAAK,wBACLa,GAAI,CACFgC,iBAAkBG,EAAMH,iBACxBd,gBAAiBkB,EAAOpC,IAE1BqC,GAAK,SAAUjE,GACXuC,GAAiCjC,EAAMyB,EACzC,GAIlB,IACFoC,EAAWN,EAAQ,GACnBE,EAAQF,EAAQ,GAGpB,GAAgB,aAFFE,EAAMjB,gBAEQ,CAC1B,IAAIsB,EACJA,EAAwB,UAAhBrC,EAAQhB,IAAkB,OAAS,gBAC3C,IAAIsD,EAAU/D,EAAKgE,OAGnB3B,EAAM,CACJyB,EACC,WACG9D,EAAKiE,QACP,EALuB,kBAAZF,GAAwC,eAAhBA,EAAQtD,IAAuB,UAAY,OAQpF,MACE4B,EAAM,CACJ,OACC,WACGW,GAAkB,SAAUtD,GACtB,OAAOI,EAAAA,EAAkBmD,EAC3B,GACN,EACF,WA4BJ,OAvBAX,EAAoB,aAFNmB,EAAMjB,iBAEsC,UAAxBJ,EAAM8B,cAA4B,CAChE,0BACC,WACGjC,GAAiCjC,EAAMyB,EACzC,QACAjB,EAEN+B,EAAwB,UAAhBU,EAA0BkB,EAAAA,IAAeC,EAAAA,EAA2B,CACpEC,MAAQ,WACJrB,GAAkB,SAAUtD,GACtB,OAAOI,EAAAA,EAAkBmD,EAC3B,GACN,EACFqB,SAAW,WACPT,EAAS,CACHpD,IAAK,oBACLa,GAAI,aAEVK,EAAAA,GAAUC,EAAAA,GAAyB2C,MACrC,EACFC,YAAapC,EAAMoC,YACnBC,SAAU,0DACP,KACJN,EAAAA,KAAgBO,EAAAA,GAAwBvC,KAAM,CACzCwC,SAAU,CACRR,EAAAA,KAAgBO,EAAAA,GAAsBvC,KAAM,CACtCwC,SAAU,CACRR,EAAAA,IAAe,MAAO,CAChBQ,SAAUR,EAAAA,IAAe,KAAM,CACzBQ,SAAU,4CACVC,UAAW3F,GAAInD,QAErB8I,UAAW3F,GAAIN,2BAErBwF,EAAAA,IAAeO,EAAAA,GAAiBvC,KAAM,CAChCwC,SAAU,2CAEhBR,EAAAA,IAAe,MAAO,CAChBQ,SAAU,uFACVC,UAAW3F,GAAIP,aAErByF,EAAAA,IAAe,MAAO,CAChBQ,SAAUlF,EAAAA,GAAwBO,EAAKpC,MAAMqC,gBAAiB,SAAU4E,EAAoBC,GACpF,IAEIzC,EA1YdjD,EAwYcS,EAAa4D,EAAMH,iBAAiBuB,GACpC9B,EAAQ/C,EAAKpC,MAAMqC,eAEvB,GAAmB,UAAfJ,EAAwB,CAC1B,IAEIiE,EAEAiB,EAJAC,EAAU7F,GAAM,aAAc0F,GAC9BtE,EAASP,EAAKK,6BAA6BwE,GAE/Cf,OAAmBtD,IAAXD,GAAuC,OAAfA,EAAOE,IAAexB,GAAIvC,WAAa,GAEvEqI,OAAmBvE,IAAXD,GAAuC,OAAfA,EAAOE,IAAe0D,EAAAA,IAAe,MAAO,CACpEQ,SAAUpE,EAAOe,GACjBsD,UAAW3F,GAAItC,eACZ,KACX,IAEI2F,EAEAC,EAJA0C,EAAU9F,GAAM,kBAAmB0F,GACnCK,EAAWlF,EAAKmF,kCAAkCN,GAEtDvC,OAAqB9B,IAAb0E,GAA2C,OAAjBA,EAASzE,IAAexB,GAAIvC,WAAa,GAE3E6F,OAAqB/B,IAAb0E,GAA2C,OAAjBA,EAASzE,IAAe0D,EAAAA,IAAe,MAAO,CACxEQ,SAAUO,EAAS5D,GACnBsD,UAAW3F,GAAItC,eACZ,KACX,IAEIyI,EAEAC,EAJAC,EAta5C,SAA+BzI,EAAOuC,GACpC,OAAOD,GAAM,qBAAuBtC,EAAOuC,EAC7C,CAoasDmG,CAAsB,oBAAqBV,GACrDW,EAAWxF,EAAKyF,oCAAoCZ,GAExDO,OAAqB5E,IAAbgF,GAA2C,OAAjBA,EAAS/E,IAAexB,GAAIvC,WAAa,GAE3E2I,OAAqB7E,IAAbgF,GAA2C,OAAjBA,EAAS/E,IAAe0D,EAAAA,IAAe,MAAO,CACxEQ,SAAUa,EAASlE,GACnBsD,UAAW3F,GAAItC,eACZ,KACX,IAEI+I,EAEAC,EAJAC,EA3a5C,SAA8B/I,EAAOuC,GACnC,OAAOD,GAAM,oBAAsBtC,EAAOuC,EAC5C,CAyasDyG,CAAqB,mBAAoBhB,GACnDiB,EAAW9F,EAAK+F,mCAAmClB,GAEvDa,OAAqBlF,IAAbsF,GAA2C,OAAjBA,EAASrF,IAAexB,GAAIvC,WAAa,GAE3EiJ,OAAqBnF,IAAbsF,GAA2C,OAAjBA,EAASrF,IAAe0D,EAAAA,IAAe,MAAO,CACxEQ,SAAUmB,EAASxE,GACnBsD,UAAW3F,GAAItC,eACZ,KACX,IACIqJ,EADAC,EAAWjG,EAAKkG,2BAA2BrB,GAE/CmB,OAAqBxF,IAAbyF,GAA2C,OAAjBA,EAASxF,IAAe0D,EAAAA,IAAe,MAAO,CACxEQ,SAAUsB,EAAS3E,GACnBsD,UAAW3F,GAAItC,eACZ,KACX,IACIwJ,EADAC,EAAWpG,EAAKqG,oCAAoCxB,GAExDsB,OAAsB3F,IAAb4F,GAA2C,OAAjBA,EAAS3F,IAAe0D,EAAAA,IAAe,MAAO,CACzEQ,SAAUyB,EAAS9E,GACnBsD,UAAW3F,GAAItC,eACZ,KACX0F,EAAM8B,EAAAA,KAAgBA,EAAAA,SAAqB,CACrCQ,SAAU,CACRR,EAAAA,KAAgBmC,EAAAA,GAAmCnE,KAAM,CACnDwC,SAAU,CACRR,EAAAA,KAAgB,MAAO,CACjBQ,SAAU,CACRR,EAAAA,KAAgB,MAAO,CACjBQ,SAAU,CACRR,EAAAA,IAAeoC,EAAAA,EAAY,CACrBC,MAAOxB,EACPhB,OAAQzD,EACRqE,UAAW6B,EAAAA,GAAM,CACXxH,GAAIf,MACJe,GAAIV,cACJuF,IAENa,SAAU,uBAEhBR,EAAAA,IAAeuC,EAAAA,GAAiB,CAC1BC,GAAI3B,EACJ5D,MAAOwF,EAAAA,GAAgB9B,EAAc+B,WAAY,SAAUC,GACnD,OAAOA,CACT,IACNC,UAAWC,EAAAA,IAAiBC,EAAAA,EAAAA,GAAQ,IAAIC,KAAQ,IAChDC,aAAc,CAAC,CACXC,KAAM,IAAIF,KAAK,EAAG,GAClBG,GAAI,IAAIH,OAEZlD,OAAQ4C,EAAAA,GAAgBrG,GAAS,SAAUhB,GACnC,MAAc,OAAVA,EAAEkB,IACG,QAEA,OAEX,IACN6G,YAAc,SAAUC,EAAM7H,EAAO8H,GACjCxH,EAAKyH,6BAA6B5C,GAAqB,SAAUjH,EAAOwD,GAChE,OAAOyB,EAAAA,GAAsD6E,OAAO9J,EAAOiH,GAAqB,SAAUC,GAC5F,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAWzF,EACXwG,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,GACd,GAAIhB,EAAAA,GAAiBO,IAC3B7G,GAAa,CACPmC,EAAAA,GAAsD6E,OAAO1H,EAAKpC,MAAOiH,GAAqB,SAAUC,GAChG,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAWG,EAAAA,GAAiBO,GAC5BK,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,IACNvG,GAER,EACFwG,OAAS,WACLjI,EAAKG,2BAA2B0E,EAClC,EACFD,UAAW3F,GAAIrB,QAErBmH,GAEFH,UAAW3F,GAAIpC,QAErBsH,EAAAA,KAAgB,MAAO,CACjBQ,SAAU,CACRR,EAAAA,IAAeoC,EAAAA,EAAY,CACrBC,MAAOvB,EACPjB,OAAQkB,EACRN,UAAW6B,EAAAA,GAAM,CACXxH,GAAIf,MACJe,GAAIV,cACJ+D,IAENqC,SAAU,oBAEhBR,EAAAA,KAAgB+D,EAAAA,GAAa,CACvBvB,GAAI1B,EACJ7D,MAAOwF,EAAAA,GAA2B9B,EAAc8C,eAAgB,IAAK,SAAUO,GACvE,OAAO9I,OAAO8I,EAAG/G,MACnB,IACN4C,OAAQ4C,EAAAA,GAAgB1B,GAAW,SAAU3F,GACrC,MAAc,OAAVA,EAAEkB,IACG,QAEA,OAEX,IACNmE,UAAW3F,GAAIrB,MACfwK,iBAAkBnJ,GAAIR,cACtB4J,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIpH,EAAQ3B,EAAAA,GAAiBiD,EAAQ+F,iBAAkB,SAAUN,GACzD,OAAOvB,EAAAA,GAA2B8B,EAAAA,EAAoBC,EAAAA,EAAgBH,KAAW,GAAQ,SAAUpH,GACrF,OAAOA,IAAU+G,EAAG/G,KACtB,GACd,IACNpB,EAAK4I,kCAAkC/D,GAAqB,SAAUjH,EAAOwD,GACrE,OAAOyB,EAAAA,GAAsD6E,OAAO9J,EAAOiH,GAAqB,SAAUC,GAC5F,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgBxG,EAChByG,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,GACd,GAAI5G,GACVV,GAAa,CACPmC,EAAAA,GAAsD6E,OAAO1H,EAAKpC,MAAOiH,GAAqB,SAAUC,GAChG,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgBxG,EAChByG,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,IACNvG,GAER,EACFoH,OAAS,SAAUnJ,GACfM,EAAK8I,gCAAgCjE,EACvC,EACFF,SAAU,CACRR,EAAAA,IAAe+D,EAAAA,GAAqB/F,KAAM,CACpCwC,SAAU,cAEhBlF,EAAAA,GAAeiD,EAAQ+F,iBAAkB,SAAUN,GAC3C,OAAOhE,EAAAA,IAAe+D,EAAAA,GAAgB/F,KAAM,CAChCf,MAAO/B,OAAO8I,EAAG/G,OACjBuD,SAAUwD,EAAGjK,OACZmB,OAAO8I,EAAG/G,OACzB,OAGdmB,GAEFqC,UAAW3F,GAAIpC,SAGvB+H,UAAW6B,EAAAA,GAAM,CACXxH,GAAInC,SACJmC,GAAIJ,aAGhBsF,EAAAA,KAAgB,MAAO,CACjBQ,SAAU,CACRR,EAAAA,KAAgB,MAAO,CACjBQ,SAAU,CACRR,EAAAA,IAAeoC,EAAAA,EAAY,CACrBC,MAAOlB,EACPtB,OAAQwB,EACRZ,UAAW6B,EAAAA,GAAM,CACXxH,GAAIf,MACJe,GAAIV,cACJ6G,IAENT,SAAU,sBAEhBR,EAAAA,IAAe4E,EAAAA,GAAgB,CACzBpC,GAAIrB,EACJlE,MAAOwF,EAAAA,GAA2B9B,EAAc+C,iBAAkB,IAAK,SAAUf,GACzE,OAAOzH,OAAOyH,EAChB,IACN9C,OAAQ4C,EAAAA,GAAgBpB,GAAW,SAAUjG,GACrC,MAAc,OAAVA,EAAEkB,IACG,QAEA,OAEX,IACNmE,UAAW3F,GAAIrB,MACfiL,OAAS,SAAUnJ,GACfM,EAAKgJ,kCAAkCnE,EACzC,EACF0D,SAAW,SAAUC,GACjB,IACIpH,EADA7B,EAAIoJ,EAAAA,EAAgBH,GAExB,GAAU,KAANjJ,EACF6B,EAAQ,CACNX,IAAK,KACLa,QAAId,OAED,CACL,IAAIyI,EAAIP,EAAAA,EAAoBnJ,GAC5B6B,OAAcZ,IAANyI,GAAmB5J,OAAO4J,KAAO1J,EAAK,CACxCkB,IAAK,KACLa,GAAI2H,GACA,CACJxI,IAAK,QACLa,QAAId,EAEZ,CACA,GAAkB,OAAdY,EAAMX,IAAV,CAGA,IAAIyI,EAAU9H,EAAME,GACpBtB,EAAKmJ,oCAAoCtE,GAAqB,SAAUjH,EAAOwD,GACvE,OAAOyB,EAAAA,GAAsD6E,OAAO9J,EAAOiH,GAAqB,SAAUC,GAC5F,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkBzG,EAClB0G,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,GACd,GAAIkB,GACVxI,GAAa,CACPmC,EAAAA,GAAsD6E,OAAO1H,EAAKpC,MAAOiH,GAAqB,SAAUC,GAChG,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkBqB,EAClBpB,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,IACNvG,GA3BN,CA6BF,IAER4D,GAEFT,UAAW3F,GAAIpC,QAErBsH,EAAAA,KAAgB,MAAO,CACjBQ,SAAU,CACRR,EAAAA,IAAeoC,EAAAA,EAAY,CACrBC,MAAOZ,EACP5B,OAAQ8B,EACRlB,UAAW6B,EAAAA,GAAM,CACXxH,GAAIf,MACJe,GAAIV,cACJmH,IAENf,SAAU,wBAEhBR,EAAAA,KAAgB+D,EAAAA,GAAa,CACvBvB,GAAIf,EACJxE,MAAOwF,EAAAA,GAA2B9B,EAAcgD,gBAAiB,IAAK,SAAU1G,GACxE,OAAOA,CACT,IACN4C,OAAQ4C,EAAAA,GAAgBd,GAAW,SAAUvG,GACrC,MAAc,OAAVA,EAAEkB,IACG,QAEA,OAEX,IACNmE,UAAW3F,GAAIrB,MACfwK,iBAAkBnJ,GAAIR,cACtB4J,SAAU,MACVC,UAAW,WACXC,SAAW,SAAUC,GACjB,IAAIpH,EAAQwF,EAAAA,GAA2BnH,EAAAA,GAAiBiD,EAAQ0G,kBAAmB,SAAU7J,GACjF,OAAOoJ,EAAAA,EAAgBH,KAAajJ,CACtC,IAAK,IACfS,EAAKqJ,mCAAmCxE,GAAqB,SAAUjH,EAAOwD,GACtE,OAAOyB,EAAAA,GAAsD6E,OAAO9J,EAAOiH,GAAqB,SAAUC,GAC5F,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiB1G,EACjB2G,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,GACd,GAAI5G,GACVV,GAAa,CACPmC,EAAAA,GAAsD6E,OAAO1H,EAAKpC,MAAOiH,GAAqB,SAAUC,GAChG,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiB1G,EACjB2G,QAASjD,EAAciD,QACvBC,iBAAkBlD,EAAckD,iBAE1C,IACNvG,GAER,EACFoH,OAAS,SAAUnJ,GACfM,EAAKsJ,iCAAiCzE,EACxC,EACFF,SAAU,CACRR,EAAAA,IAAe+D,EAAAA,GAAqB/F,KAAM,CACpCwC,SAAU,cAEhBlF,EAAAA,GAAeiD,EAAQ0G,kBAAmB,SAAU7J,GAC5C,OAAO4E,EAAAA,IAAe+D,EAAAA,GAAgB/F,KAAM,CAChCf,MAAO7B,EACPoF,SAAUpF,GACTA,EACf,OAGdoG,GAEFf,UAAW3F,GAAIpC,SAGvB+H,UAAW6B,EAAAA,GAAM,CACXxH,GAAInC,SACJmC,GAAIJ,gBAKxBsF,EAAAA,KAAgBmC,EAAAA,GAA2BnE,KAAM,CAC3CrG,MAAO,UACP6I,SAAU,CACRR,EAAAA,KAAgBA,EAAAA,SAAqB,CAC/BQ,SAAU,CACRR,EAAAA,IAAe,MAAO,CAChBQ,SAAUR,EAAAA,IAAeoF,EAAAA,GAAQ,CAC3B5E,SAAU,4EAGtBqB,KAGR7B,EAAAA,IAAemC,EAAAA,GAA6BnE,KAAM,CAC5CqH,MAAO9G,EAAQqF,QACftF,OAAQA,EACRkC,SAAW,SAAU8E,GACjB,IAAIC,EAAUvK,GAAM,WAAasK,EAAQ5E,GACzC,OAAOV,EAAAA,IAAewF,EAAAA,GAAmBxH,KAAM,CACnCwE,GAAI+C,EACJE,KAAM,KACNC,QAASC,EAAAA,GAAmBhF,EAAciD,QAAS0B,GACnDM,mBAAoB9K,GAAI+K,SACxBzB,SAAW,SAAUC,GACjB,IAAIpH,EAAQuH,EAAAA,EAAkBH,GAAWsB,EAAAA,GAAmBhF,EAAciD,QAAS0B,GAAUK,EAAAA,GAAsBhF,EAAciD,QAAS0B,GAC1IzJ,EAAKiK,2BAA2BpF,GAAqB,SAAUjH,EAAOwD,GAC9D,OAAOyB,EAAAA,GAAsD6E,OAAO9J,EAAOiH,GAAqB,SAAUC,GAC5F,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAAS3G,EACT4G,iBAAkBlD,EAAckD,iBAE1C,GACd,GAAI5G,GACVV,GAAa,CACPmC,EAAAA,GAAsD6E,OAAO1H,EAAKpC,MAAOiH,GAAqB,SAAUC,GAChG,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAAS3G,EACT4G,iBAAkBlD,EAAckD,iBAE1C,IACNvG,GAER,EACFoH,OAAS,SAAUnJ,GACfM,EAAKkK,yBAAyBrF,EAChC,EACFF,SAAU8E,GACTC,EACf,OAIhBvF,EAAAA,KAAgBmC,EAAAA,GAA2BnE,KAAM,CAC3CrG,MAAO,oBACP6I,SAAU,CACRR,EAAAA,KAAgBA,EAAAA,SAAqB,CAC/BQ,SAAU,CACRR,EAAAA,IAAe,MAAO,CAChBQ,SAAUR,EAAAA,IAAeoF,EAAAA,GAAQ,CAC3B5E,SAAU,+EAGtBwB,KAGRhC,EAAAA,IAAemC,EAAAA,GAA6BnE,KAAM,CAC5CqH,MAAO9G,EAAQsF,iBACfvF,OAAQA,EACRkC,SAAW,SAAUwF,GACjB,IAAIT,EAAUvK,GAAM,qBAAuBgL,EAAiBtF,GAC5D,OAAOV,EAAAA,IAAewF,EAAAA,GAAmBxH,KAAM,CACnCwE,GAAI+C,EACJE,KAAM,KACNC,QAASC,EAAAA,GAAmBhF,EAAckD,iBAAkBmC,GAC5DJ,mBAAoB9K,GAAI+K,SACxBzB,SAAW,SAAUC,GACjB,IAAIpH,EAAQuH,EAAAA,EAAkBH,GAAWsB,EAAAA,GAAmBhF,EAAckD,iBAAkBmC,GAAmBL,EAAAA,GAAsBhF,EAAckD,iBAAkBmC,GACrKnK,EAAKoK,oCAAoCvF,GAAqB,SAAUjH,EAAOwD,GACvE,OAAOyB,EAAAA,GAAsD6E,OAAO9J,EAAOiH,GAAqB,SAAUC,GAC5F,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkB5G,EAE5B,GACd,GAAIA,GACVV,GAAa,CACPmC,EAAAA,GAAsD6E,OAAO1H,EAAKpC,MAAOiH,GAAqB,SAAUC,GAChG,MAAO,CACC6C,IAAK7C,EAAc6C,IACnBd,UAAW/B,EAAc+B,UACzBe,eAAgB9C,EAAc8C,eAC9BC,iBAAkB/C,EAAc+C,iBAChCC,gBAAiBhD,EAAcgD,gBAC/BC,QAASjD,EAAciD,QACvBC,iBAAkB5G,EAE5B,IACNK,GAER,EACFoH,OAAS,SAAUnJ,GACfM,EAAKqK,kCAAkCxF,EACzC,EACFF,SAAUwF,GACTT,EACf,SAM1B,MACErH,EAAM,KAER,OAAO8B,EAAAA,IAAemC,EAAAA,GAAyB,CACnCxK,OA14BtBsD,EA04BgDyF,EAz4BnE,IAAOxF,OAAOD,EAAK,EAAI,GAAMkL,EAAAA,GAAa,gCA04BDzK,WAAYA,EACZ0K,iBAAmB,WACf1G,EAAS,CACHpD,IAAK,wBACLrB,GAAIyF,GAEZ,EACF2F,cAAgC,IAAjBzH,EAAM0H,OAAgB,WAC/BzK,EAAK0K,oBAAoB7F,GACzBhB,EAAS,CACHpD,IAAK,cACLrB,GAAIyF,IAEVnE,GAAa,CACPmC,EAAAA,GAAsDvD,OAAOU,EAAKpC,MAAOiH,GACzEpD,GAER,OAAKjB,EACTmE,SAAUtC,GACTyC,EAAc6C,IAC7B,MAEZxD,EAAAA,IAAewG,EAAAA,GAAa,CACtBf,KAAM,KACNgB,MAAO,OACPC,QAAU,SAAUnL,GAChBmE,EAAS,WACX,EACFc,SAAU,yCAIxBR,EAAAA,IAAe2G,EAAAA,GAA8B,CACvCC,UAAW,cACXC,SAAU,CACRvK,IAAK,kCACLwK,KAAM5I,EACN6I,SAAU,CACR,SACC,WACGhJ,IACF,EACF,WAEFiJ,cAAe7I,GAEjBG,OAAQA,IAEd0B,EAAAA,IAAenI,EAAAA,GAA0C,CAAC,GAC1DuG,IAGhB,E,wBC3+BI6I,GAAUC,EAAAA,IAAmC,SAAUxO,GACrD,MAAO,CACC4L,gBAAiB5L,EAAMyO,SAAS,kBAAmBD,EAAAA,GAAkCE,GAAAA,IACrFnC,iBAAkBvM,EAAMyO,SAAS,mBAAoBD,EAAAA,GAAkCA,EAAAA,KACvFtD,QAASlL,EAAMyO,SAAS,UAAWD,EAAAA,GAAkCA,EAAAA,KACrErD,iBAAkBnL,EAAMyO,SAAS,mBAAoBD,EAAAA,GAAkCA,EAAAA,KAEjG,IAMJ,IAAIG,GAAU,CACZJ,QAASA,GACTK,SANF,SAAkBC,GAChB,OAAOC,EAAAA,GAAmBC,GAAAA,GAA4BF,EAAMN,IAC9D,GC4CA,IAAIS,GAjDJ,SAA+DzJ,GAC7D,IAAI4B,EAAS5B,EAAM4B,OACf8H,EAAe1J,EAAM0J,aACrBpJ,EAAUN,EAAMM,QAChBzC,EAAiBmC,EAAMnC,eACvB8B,EAAYK,EAAML,UAClBgK,EAAYnJ,EAAAA,SAAe,WACvB,OAAOoJ,GAAgDP,SAAS/I,EAClE,GAAI,CAACA,IACPjB,EAAUmB,EAAAA,SAAe,WACrB,IAAIqJ,EAAcN,EAAAA,GAAmBN,EAAAA,GAAmCtJ,EAAWsJ,EAAAA,GAAmCa,EAAAA,GAAWd,WAC7He,EAAmBR,EAAAA,GAAmBN,EAAAA,GAAmCpL,EAAgBoL,EAAAA,GAAkCxI,EAAAA,GAAsDuJ,aAAaL,EAAUtD,oBAC5M,YAAoBjI,IAAhByL,EACK,CACCxL,IAAK,UACLsB,UAAWiF,EAAAA,GAA0BiF,GACrCzK,KAAM2K,GAEuB,IAA5BA,EAAiB1B,OACnB,CACChK,IAAK,QACLe,KAAM2K,GAGP,CACC1L,IAAK,QACLe,UAAMhB,EAGlB,GAAI,CACJuB,EACA9B,IAEFoM,EAAiBzJ,EAAAA,SAAe,WAC5B,OAAO0J,EAAAA,EAAsBR,EAC/B,GAAI,CAACA,IACP5H,EAAgBtB,EAAAA,SAAe,WAC3B,OAAOsJ,EAAAA,GAAeK,WAAWvI,EACnC,GAAI,CAACA,IACX,OAAOG,EAAAA,IAAeqI,GAA0C,CACpD/K,QAASA,EACTiB,QAASqJ,EACTtJ,OAAQ4J,EAAe5J,OACvBD,gBAAiB6J,EAAe7J,gBAChCgC,YAAapC,EAAMqK,cAAcjI,YACjCN,cAAeA,GAE7B,E,oYCtDA,IAQMwI,IAA+CC,EAAAA,EAAAA,IACnD,MATyB,SAAA9I,GAAQ,MAAK,CACtC4I,cAAe,CACbjI,YAAa,SAAAoI,GACX/I,GAASW,EAAAA,EAAAA,GAAYoI,GACvB,GAEH,GAEoDD,CAGnDH,IAEF,kBAAeK,GAAA,IAAGpL,EAAOoL,EAAPpL,QAAYW,EAAK0K,GAAAD,EAAAE,IAAA,OACjCnK,EAAAA,cAACoK,EAAAA,EAAa,KACZpK,EAAAA,cAAC8J,GAA4C,CAC3C3K,UAAWK,EAAML,UACjB9B,eAAgBmC,EAAM6K,wBACtBvK,QAASN,EAAMM,QACfoJ,aAAcrK,EACduC,OAAQ5B,EAAM4B,OACdyI,cAAerK,EAAMqK,gBAG1B,C,yGCtBGS,EAAQ,SAMRC,EAAQ,OAWZ,IAAIC,EAAS,CACXjL,KAVF,SAAqBC,GACnB,OAAO+B,EAAAA,IAAe,OAAQ,CAClBQ,SAAU,SACV0I,MAAO,CACLC,QAAS,UAGzB,GAaA,IAAIC,EAAa,CACfpL,KARF,SAAyBC,GACvB,OAAO+B,EAAAA,IAAe,MAAO,CACjBQ,SA3BF,SA4BEC,UAAWxC,EAAMwC,WAE/B,GAeA,IAAI4I,EAAY,CACdrL,KAVF,SAAwBC,GACtB,OAAO+B,EAAAA,IAAe,MAAO,CACjBQ,SAtCF,SAuCE0I,MAAO,CACLI,UAAW,mBAG3B,GAYA,IAAIC,EAAa,CACfvL,KAPF,SAAyBC,GACvB,OAAO+B,EAAAA,IAAe,OAAQ,CAClBQ,SA7CG,UA+CjB,GAYA,IAAIgJ,EAAY,CACdxL,KAPF,SAAwBC,GACtB,OAAO+B,EAAAA,IAAe,OAAQ,CAClBQ,SArDE,KAuDhB,E,qGC3DA,SAASiJ,EAAYC,GACnB,IAAItO,EAAIqD,EAAAA,YAAapC,GAIrB,OAHAoC,EAAAA,WAAgB,WACVrD,EAAEuO,QAAU9G,EAAAA,GAAiB6G,EAC/B,IACGtO,EAAEuO,OACX,CAEA,SAASC,EAAW3K,EAAc4K,GAChC,IAAIjL,EAAQH,EAAAA,YAAkB,SAAUqL,EAAWvK,GAC3C,IAAIwK,EAAcD,EAAUC,YACxBzK,EAAQuK,EAAQC,EAAUxK,MAAOC,GACrC,GAAqB,kBAAVD,EACT,OAAOwK,EAET,OAAQxK,EAAMhD,KACZ,IAAK,SACD,MAAO,CACCgD,MAAOA,EAAMnC,GACb4M,YAAaD,EAAUC,aAEnC,IAAK,wBACD,MAAO,CACCzK,MAAOA,EAAMnC,GACb4M,YAAa,CACXC,SAAU1O,EAAAA,GAAkByO,EAAYC,SAAU,CAAC1K,EAAME,OAGvE,IAAK,cACD,MAAO,CACCF,MAAOwK,EAAUxK,MACjByK,YAAa,CACXC,SAAU1O,EAAAA,GAAkByO,EAAYC,SAAU,CAAC1K,EAAMnC,OAK3E,GAAI,CACJmC,MAAOL,EACP8K,YAAa,CACXC,SAAU,MAGdtK,EAAWd,EAAM,GACjBQ,EAAUR,EAAM,GAChBmL,EAAc3K,EAAQ2K,YACtBzK,EAAQF,EAAQE,MAapB,OAZAb,EAAAA,WAAiB,WAC2B,IAAhCsL,EAAYC,SAAS1D,SACvBhL,EAAAA,GAAmByO,EAAYC,UAAW,SAAUC,GAC5CA,EAAG,CACG3K,MAAOA,EACPI,SAAUA,GAElB,IACNqK,EAAYC,SAAW,GAG3B,GAAI,CAACD,EAAYC,WAChB,CACC1K,EACAI,EAEV,CAEA,SAASwK,IACP,IAAItL,EAAQH,EAAAA,UAAe,WACrB,MAAO,IACT,IACA0L,EAAgBvL,EAAM,GACtBwL,EAAe,CACjB,CACEC,MAAOC,EAAAA,GACP7E,KAAM,MAER,CACE4E,MAAOC,EAAAA,GACP7E,KAAM,MAER,CACE4E,MAAOC,EAAAA,GACP7E,KAAM,OAwCV,OArCAhH,EAAAA,WAAiB,WACT,IAAI8L,EAAYjP,EAAAA,GAAe8O,GAAe,SAAU7O,GAChD,MAAO,CACCiP,OAAOC,WAAWlP,EAAM8O,OACxB9O,EAAMkK,KAEhB,IACFjK,EAAM+O,EAAUG,WAAU,SAAUnP,GAClC,OAAOA,EAAM,GAAGoP,OAClB,IACA/L,EAAQtD,EAAAA,GAAeiP,EAAW/O,GACtC,QAAca,IAAVuC,EAAqB,CACvB,IAAI6G,EAAO7G,EAAM,GACjBuL,GAAc,SAAU5O,GAClB,OAAOkK,CACT,GACN,CACA,IAAImF,EAAuBtP,EAAAA,GAAeiP,GAAY,SAAUhP,GACxD,IC3GCsP,EAAIC,ED2GDrF,EAAOlK,EAAM,GACjB,OC5GCsP,ED4GiCtP,EAAM,GC5GnCuP,ED4GwC,SAAUzG,GACzC,GAAIA,EAAQsG,QACV,OAAOR,GAAc,SAAU5O,GACnB,OAAOkK,CACT,GAGd,EClH5BoF,EAAGE,YAAYD,GACP,WACED,EAAGG,eAAeF,EACpB,CDgHM,IACN,OAAQ,WACExP,EAAAA,GAAmBsP,GAAuB,SAAUK,GAC5C,QAAiB5O,IAAb4O,EACF,OAAOA,GAGX,GACR,CACV,GAAI,CAACb,IACJxL,EAAM,EACf,C,kBE/HA,SAASwJ,EAAWhN,GAClB,OAAQA,GACN,IAAK,IACD,MAAO,QACX,IAAK,IACD,MAAO,QACX,IAAK,QACD,MAAO,QACX,IAAK,SACD,MAAO,SACX,QACE,MAAO,QAEb,C,2BAkBA,IAAI8P,EAAM,CACR1H,IAbF,SAAaa,GACX,OAAO+D,EAAW/D,EAAQb,IAC5B,EAYE2H,MAVF,SAAe9G,EAAS4F,GAEtB,GAAc,WADF7B,EAAW/D,EAAQb,KAE7B,OAAOyG,GAGX,GAsCA,IAAIxL,EAAQ,CACV+E,IAhCF,SAAea,GACb,OAAO+D,EAAW/D,EAAQb,IAC5B,EA+BE4H,eA7BF,SAAwB/G,EAAS4F,GAE/B,OADY7B,EAAW/D,EAAQb,MAE7B,IAAK,QACL,IAAK,QACD,OAAOyG,IACX,QACE,OAEN,EAqBEkB,MAnBF,SAAiB9G,EAAS4F,GAExB,GAAc,WADF7B,EAAW/D,EAAQb,KAE7B,OAAOyG,GAGX,EAcEoB,QAZF,SAAiBhH,EAAS4F,GAExB,GAAc,UADF7B,EAAW/D,EAAQb,KAE7B,OAAOyG,GAGX,E,kBCjEA,SAAShN,EAAMoH,GACb,OAAOA,EAAQiH,OAAOrO,KACxB,CAEA,SAASyI,EAAQrB,GACf,OAAOA,EAAQiH,OAAO5F,OACxB,C,gGCHA,SAAS6F,EAAOC,EAAM9E,EAASrC,GAI7B,GAHA5B,EAAAA,GAAgBiE,GAAU,SAAUuD,GAC5B,OAAOA,EAAG5F,EACZ,KACDA,EAAQoH,kBAAuC,IAAnBpH,EAAQqH,SAAiBrH,EAAQsH,SAAWtH,EAAQuH,UAAYvH,EAAQwH,UAAYxH,EAAQyH,SAE3H,OADAzH,EAAQ0H,iBACDvO,EAAAA,GAAUgO,EAGrB,CAeA,IAAIQ,EAAO,CACTT,OAAQA,EACRvN,KAfF,SAAqBC,GACnB,IAAIyI,EAAUzI,EAAMyI,QAChB8E,EAAOvN,EAAMuN,KACjB,OAAOxL,EAAAA,IAAe,IAAK,CACfQ,SAAUvC,EAAMuC,SAChBC,UAAWxC,EAAMwC,UACjBwL,KAAMT,EACN9E,QAAU,SAAUwF,GAChBX,EAAOC,EAAM9E,EAASwF,EACxB,GAEhB,E,wDCtBIjF,EAAUC,EAAAA,IAAmC,SAAUxO,GACrD,MAAO,CACCuE,MAAOvE,EAAMyO,SAAS,QAASD,EAAAA,IAC/BnN,MAAOrB,EAAMyO,SAAS,QAASD,EAAAA,IAEzC,G,6tBCVOiF,EAAO,sBACP,EAAS,wBACTC,EAAa,4BACbC,EAAkB,iCAClBC,EAAkB,iCAClBC,EAAiB,gCACjBC,EAAoB,mCACpBC,EAAgB,+BAChBC,EAAsB,qCACtBC,EAAiB,gCACjBC,EAAY,2BACZC,EAAc,6BACdC,EAAY,2BACZC,EAAe,8BACfC,EAAW,0BACXC,EAAiB,gCACjBC,EAAY,2BACZC,EAAa,4BACblV,EAAS,wBACTQ,EAAW,0BACXI,EAAO,sBACPC,EAAa,4BACbE,EAAO,sBACPC,EAAO,sBACPC,EAAO,sBACPC,EAAO,sBACPC,EAAO,sBACPgU,EAAsB,qCACtBC,EAAa,4BACbC,EAAc,6BACdjT,EAAM,qBACNkT,EAAS,wBACTC,EAAS,wBACTC,EAAS,wBACTC,EAAS,wBACTC,EAAmB,kCACnBC,EAAU,yB,WC5BjB9S,EAAM+S,EAEV,SAASC,EAAsBrI,EAAMhN,EAAUsV,EAAQtN,EAAWlF,GAChE,IAAI2C,EAgBAyB,EAfJ,OAAQ8F,GACN,IAAK,KACDvH,EAAMpD,EAAI4S,OACV,MACJ,IAAK,KACDxP,EAAMpD,EAAI2S,OACV,MACJ,IAAK,KACDvP,EAAMpD,EAAI0S,OACV,MACJ,IAAK,KACDtP,EAAMpD,EAAIyS,OAQhB,OAHA5N,OAAmBtD,IAAX0R,EACO,gBAAXA,EAA2BjT,EAAIwS,YAAcxS,EAAIuS,WAC/C,GACC/K,EAAAA,GAAM,CACDxH,EAAI8S,QACJnV,EAAWqC,EAAIrC,SAAW,GAC1ByF,EACAyB,EACAc,GAEd,CAEA,SAASuN,EAAqBvH,EAAOwH,EAAOxV,EAAUkV,EAAkBO,EAAoB/B,GAC1F,IACIjO,EADAiQ,OAAyC9R,IAAvB6R,EAAmCA,EAAqB,GAE9E,OAAQzH,GACN,IAAK,UACDvI,EAAM+P,EAAQnT,EAAI0R,kBAAoB1R,EAAIiS,aAC1C,MACJ,IAAK,OACD7O,EAAM+P,EAAQnT,EAAI6R,eAAiB7R,EAAIoS,UACvC,MACJ,IAAK,OACDhP,EAAM+P,EAAQnT,EAAIyR,eAAiBzR,EAAIgS,UACvC,MACJ,IAAK,OACD5O,EAAMpD,EAAI8R,UACV,MACJ,IAAK,aACD1O,EAAMpD,EAAIuR,gBACV,MACJ,IAAK,MACDnO,EAAM+P,EAAQnT,EAAI2R,cAAgB3R,EAAIkS,SACtC,MACJ,IAAK,QACD9O,EAAMpD,EAAIqS,WACV,MACJ,IAAK,QACDjP,EAAM+P,EAAQnT,EAAIwR,gBAAkBxR,EAAIsR,WACxC,MACJ,IAAK,YACDlO,EAAM+P,EAAQnT,EAAI4R,oBAAsB5R,EAAImS,eAC5C,MACJ,IAAK,SACD/O,EAAM+P,EAAQnT,EAAIsT,iBAAmBtT,EAAI+R,YAI/C,OAAOvK,EAAAA,GAAM,CACDxH,EAAI4Q,OACJxN,EACAzF,EAAWqC,EAAIrC,SAAW,GAC1BkV,EAAmB7S,EAAI6S,iBAAmB,GAC1CxB,EAAOrR,EAAIqR,KAAO,GAClBgC,GAEd,CAEA,SAASE,EAAY5I,GACnB,OAAQA,GACN,IAAK,KACD,MAAO,KACX,IAAK,KACD,MAAO,KACX,IAAK,KACD,MAAO,KACX,IAAK,KACD,MAAO,KAGf,CAEA,SAAS6I,EAAa7H,EAAOwH,GAC3B,OAAQxH,GACN,IAAK,OACD,OAAIwH,EACK,OAEA,QAEb,IAAK,OACD,OAAIA,EACK,OAEA,QAEb,IAAK,MACD,OAAIA,EACK,MAEA,QAEb,IAAK,YACD,OAAIA,EACK,YAEA,QAEb,IAAK,UACL,IAAK,SACD,OAAIA,EACK,SAEA,QAEb,QACE,MAAO,QAEb,CAyEA,IAAIM,EAAS,CACXzT,IA1BU+S,EA2BV7P,KAzBF,SAAuBC,GACrB,IAAIuQ,EAAoBvQ,EAAMkQ,gBAC1BM,EAAcxQ,EAAMwC,UACpBiO,EAAqBzQ,EAAM0P,iBAC3BgB,EAAa1Q,EAAMxF,SACnBmW,EAAU3Q,EAAMgQ,MAChBA,OAAoB5R,IAAZuS,GAAwBA,EAChCnW,OAA0B4D,IAAfsS,GAA2BA,EACtChB,OAA0CtR,IAAvBqS,GAAmCA,EACtDjO,OAA4BpE,IAAhBoS,EAA4BA,EAAc,GACtDN,OAAwC9R,IAAtBmS,EAAkCA,EAAoB,GAC5E,OAAOxO,EAAAA,IAAe,MAAO,CACjBQ,SAAUR,EAAAA,IAAe6O,EAAAA,EAAY7Q,KAAM,CACrCwN,KAAMvN,EAAMgO,KACZxL,UAAWuN,EAAqB/P,EAAMwI,MAAOwH,EAAOxV,EAAUkV,EAAkBQ,GAAiB,GACjGzH,QAASzI,EAAMyI,QACflG,SAAUvC,EAAMuC,WAEtBC,UAAWqN,EAAsB7P,EAAMwH,KAAMhN,EAAUwF,EAAM8P,OAAQtN,GACrE+B,GAAIvE,EAAMuE,IAExB,GAkCA,IAAIsM,EAAe,CACjBhU,IA5BU+S,EA6BV7P,KA3BF,SAA6BC,GAC3B,IAAIuQ,EAAoBvQ,EAAMkQ,gBAC1BM,EAAcxQ,EAAMwC,UACpBiO,EAAqBzQ,EAAM0P,iBAC3BgB,EAAa1Q,EAAMxF,SACnBmW,EAAU3Q,EAAMgQ,MAChBc,EAAc9Q,EAAM8Q,YACpBd,OAAoB5R,IAAZuS,GAAwBA,EAChCnW,OAA0B4D,IAAfsS,GAA2BA,EACtChB,OAA0CtR,IAAvBqS,GAAmCA,EACtDjO,OAA4BpE,IAAhBoS,EAA4BA,EAAc,GACtDN,OAAwC9R,IAAtBmS,EAAkCA,EAAoB,GAC5E,OAAOxO,EAAAA,IAAe,MAAO,CACjBQ,SAAUR,EAAAA,IAAe,IAAK,CACxBQ,SAAUvC,EAAMuC,SAChBC,UAAWuN,EAAqB/P,EAAMwI,MAAOwH,EAAOxV,EAAUkV,EAAkBQ,GAAiB,GACjGlC,KAAMhO,EAAMgO,KACZ+C,SAAqB3S,IAAhB0S,GAA6BA,EAAc,2BAAwB1S,EACxEiP,YAAwBjP,IAAhB0S,GAA6BA,EAAc,cAAW1S,EAC9DqK,QAASzI,EAAMyI,UAErBjG,UAAWqN,EAAsB7P,EAAMwH,KAAMhN,EAAUwF,EAAM8P,OAAQtN,IAEnF,GAOIzC,EA5GJ,SAAgBC,GACd,IAAImP,EAAsBnP,EAAMmP,oBAC5BoB,EAAoBvQ,EAAMkQ,gBAC1BM,EAAcxQ,EAAMwC,UACpBwO,EAAWhR,EAAM6B,OACjBoP,EAASjR,EAAMkO,KACfuC,EAAqBzQ,EAAM0P,iBAC3BwB,EAAalR,EAAMmR,SACnBT,EAAa1Q,EAAMxF,SACnBmW,EAAU3Q,EAAMgQ,MAChBxH,EAAQxI,EAAMwI,MACdhB,EAAOxH,EAAMwH,KACbwI,OAAoB5R,IAAZuS,GAAwBA,EAChCnW,OAA0B4D,IAAfsS,GAA2BA,EACtCS,OAA0B/S,IAAf8S,GAA2BA,EACtCxB,OAA0CtR,IAAvBqS,GAAmCA,EACtDvC,OAAkB9P,IAAX6S,GAAuBA,EAC9BpP,OAAsBzD,IAAb4S,GAAyBA,EAClCxO,OAA4BpE,IAAhBoS,EAA4BA,EAAc,GACtDN,OAAwC9R,IAAtBmS,EAAkCA,EAAoB,GAC5E,OAAOxO,EAAAA,KAAgB,MAAO,CAClBQ,SAAU,CACRR,EAAAA,KAAgB,SAAU,CACpBQ,SAAU,CACRvC,EAAMuC,cACkBnE,IAAxB+Q,EAAoCpN,EAAAA,IAAe,MAAO,CAClDQ,SAAUqC,EAAAA,GAA0BuK,GACpC3M,UAAW3F,EAAIsS,sBACZ,MAEb3M,UAAWuN,EAAqBvH,EAAOwH,EAAOxV,EAAUkV,EAAkBQ,EAAiBhC,GAC3FiD,SAAUA,GAAYzB,EACtB0B,KAAMvP,EAAS,SAAW,SAC1B4G,QAASzI,EAAMyI,UAErByF,EAAOnM,EAAAA,IAAesP,EAAAA,GAAc,CAC5B7J,KAAM4I,EAAY5I,GAClBgB,MAAO6H,EAAa7H,EAAOwH,GAC3BsB,UAAU,IACP,MAEb9O,UAAWqN,EAAsBrI,EAAMhN,EAAUwF,EAAM8P,OAAQtN,GAC/D+B,GAAIvE,EAAMuE,IAExB,C,yFCpLA,IAEIgN,EAAO,+BAFItU,OAAO,KAEiC,MAMnDuU,EAAO,+BAJIvU,OAAO,MAIiC,uBAFtCA,OAAO,MAEqE,MAIzFwU,EAAO,+BAFMxU,OAAO,MAEiC,MAQrDyU,EAAc,IAEdC,EAAQ,IAERC,EAAS,KAETC,EAAQ,I,kDCzBZ,SAASC,EAAeC,EAAS/F,GAC/B,IAAIgG,OAAmB5T,IAAZ2T,EAAwBA,EAAU,IACzCE,EAAU,CACZlG,cAAU3N,GAER8T,EAAU,CACZnG,cAAU3N,GAER+T,EAAe,CACjBpG,cAAU3N,GAsBRgU,EAAe,WACjB,IAAIC,EAAYJ,EAAQlG,cACN3N,IAAdiU,GACFC,aAAa,KAA0BD,IAEzC,IAAIE,EAAoB,EAAbzN,KAAK0N,MAChB,OA1Be,SAAUD,GACzB,IAAIE,EAAiBN,EAAapG,SAClC,QAAuB3N,IAAnBqU,EACF,OAAO,EAET,IAAIC,EAAoBH,EAAOE,EAAiB,EAChD,OAAIC,GAAqBV,GAGhBU,EAAoB,CAE/B,CAeMC,CAAWJ,GACNK,SAEPX,EAAQlG,SAAW,KAAiB8G,WAAWT,EAjB/B,SAAUG,GAC5B,IAAIE,EAAiBN,EAAapG,SAClC,YAAuB3N,IAAnBqU,EACKT,EAGFA,GADiBO,EAAOE,EAAiB,GACd,CACpC,CAUiEK,CAAcP,KAG/E,EACIK,EAAO,WACT,IAAIzV,EAAI+U,EAAQnG,SAChB,YAAU3N,IAANjB,GACF+U,EAAQnG,cAAW3N,EACnB6T,EAAQlG,cAAW3N,EACZ4N,EAAG,KAA0B7O,UAEpC8U,EAAQlG,cAAW3N,EAGvB,EAUI2U,EAAS,WACX,IAAIC,EAAYf,EAAQlG,SACxB,QAAkB3N,IAAd4U,EAKF,OAJAV,aAAa,KAA0BU,IACvCf,EAAQlG,cAAW3N,EACnB8T,EAAQnG,cAAW3N,OACnB+T,EAAapG,cAAW3N,EAI5B,EAKA,MAAO,CACC6U,OALK,SAAU9V,GACrB4V,IACA/G,EAAG7O,EACL,EAGQ+V,SA1BO,SAAU/V,GACvB,IAAIoV,EAAoB,EAAbzN,KAAK0N,MAChBN,EAAQnG,SAAW,KAAiB5O,GACpCgV,EAAapG,SAAWwG,EACxBN,EAAQlG,SAAW,KAAiB8G,WAAWT,EAAcJ,GAC/D,EAsBQmB,UArBQ,WACd,YAA4B/U,IAArB6T,EAAQlG,QACjB,EAoBQgH,OAAQA,EAElB,CAEA,SAAShT,EAAKiS,EAAMhG,GAClB,OAAO8F,EAAeE,EAAMhG,GAAIkH,QAClC,C","sources":["webpack://datacenters/./client/app/rescript/bindings/Notification.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfiguration.scss?8c31","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfiguration.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfigurationData.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/CreateBareMetalProjectConfiguration__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/user-dashboard/projects/create-bare-metal-project-configuration/index.js","webpack://datacenters/./client/app/rescript/libs/Char.res.js","webpack://datacenters/./client/app/rescript/libs/Hooks.res.js","webpack://datacenters/./client/app/rescript/libs/MediaQueryList.res.js","webpack://datacenters/./client/app/rescript/libs/Keyboard.res.js","webpack://datacenters/./client/app/rescript/libs/ReactForm.res.js","webpack://datacenters/./client/app/rescript/libs/Router.res.js","webpack://datacenters/./client/app/rescript/models/ContractLength.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Button/Button.scss?f65d","webpack://datacenters/./client/app/rescript/styleguide/components/Button/Button.res.js","webpack://datacenters/./client/app/rescript/styleguide/styles/Screens.res.js","webpack://datacenters/./node_modules/rescript-debounce/src/Debounce.res.js"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ReactNotifications from \"react-notifications\";\n\nvar Container = {};\n\nfunction success(message, title, timeout) {\n ReactNotifications.NotificationManager.success(message, title, timeout);\n}\n\nfunction error(message, title, timeout) {\n ReactNotifications.NotificationManager.error(message, title, timeout);\n}\n\nvar NotificationManager = {\n success: success,\n error: error\n};\n\nvar Manager = {};\n\nexport {\n Container ,\n NotificationManager ,\n Manager ,\n}\n/* react-notifications Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var checkbox = \"CreateBareMetalProjectConfiguration__checkbox__VpAJe\";\nexport var checkboxRightMargin = \"CreateBareMetalProjectConfiguration__checkboxRightMargin__lkoKY\";\nexport var checkboxRow = \"CreateBareMetalProjectConfiguration__checkboxRow__ebIo6\";\nexport var column = \"CreateBareMetalProjectConfiguration__column__hrUMJ\";\nexport var docUploadDescription = \"CreateBareMetalProjectConfiguration__docUploadDescription__cVtUn\";\nexport var docUploadSection = \"CreateBareMetalProjectConfiguration__docUploadSection__Fv0cn\";\nexport var docUploadTitle = \"CreateBareMetalProjectConfiguration__docUploadTitle__FElVG\";\nexport var documentRow = \"CreateBareMetalProjectConfiguration__documentRow__UdUql\";\nexport var elongated = \"CreateBareMetalProjectConfiguration__elongated__pFjiB\";\nexport var errorLabel = \"CreateBareMetalProjectConfiguration__errorLabel__fUfW4\";\nexport var errorMessage = \"CreateBareMetalProjectConfiguration__errorMessage__zEt7C\";\nexport var expanded = \"CreateBareMetalProjectConfiguration__expanded__gXLDi\";\nexport var field = \"CreateBareMetalProjectConfiguration__field__fEeHH\";\nexport var fieldRow = \"CreateBareMetalProjectConfiguration__fieldRow__o4deF\";\nexport var fieldWithUnit = \"CreateBareMetalProjectConfiguration__fieldWithUnit__Wxfy3\";\nexport var flex = \"CreateBareMetalProjectConfiguration__flex___oA5M\";\nexport var flexColumn = \"CreateBareMetalProjectConfiguration__flexColumn__BRQZe\";\nexport var flexContainerDoc = \"CreateBareMetalProjectConfiguration__flexContainerDoc__Rm3IO\";\nexport var gap1 = \"CreateBareMetalProjectConfiguration__gap1__coEfe\";\nexport var gap2 = \"CreateBareMetalProjectConfiguration__gap2___n2_m\";\nexport var gap3 = \"CreateBareMetalProjectConfiguration__gap3__nrU4y\";\nexport var gap4 = \"CreateBareMetalProjectConfiguration__gap4__tffm6\";\nexport var gap5 = \"CreateBareMetalProjectConfiguration__gap5__D6LUn\";\nexport var geographicalRegionsDescription = \"CreateBareMetalProjectConfiguration__geographicalRegionsDescription__vt5S2\";\nexport var geographicalRegionsSection = \"CreateBareMetalProjectConfiguration__geographicalRegionsSection__BL1IQ\";\nexport var geographicalRegionsTitle = \"CreateBareMetalProjectConfiguration__geographicalRegionsTitle___8s7d\";\nexport var iconView = \"CreateBareMetalProjectConfiguration__iconView___a8eR\";\nexport var input = \"CreateBareMetalProjectConfiguration__input__aCr7c\";\nexport var inputWithUnitUnit = \"CreateBareMetalProjectConfiguration__inputWithUnitUnit__EC6Jz\";\nexport var inputWithUnitUnitContainer = \"CreateBareMetalProjectConfiguration__inputWithUnitUnitContainer__iQKXd\";\nexport var inputWithUnitValue = \"CreateBareMetalProjectConfiguration__inputWithUnitValue__uAGKG\";\nexport var inputWithUnitValueContainer = \"CreateBareMetalProjectConfiguration__inputWithUnitValueContainer__RiuHm\";\nexport var justified = \"CreateBareMetalProjectConfiguration__justified__Qvsw1\";\nexport var label = \"CreateBareMetalProjectConfiguration__label__wYLKi\";\nexport var moderate = \"CreateBareMetalProjectConfiguration__moderate__Outob\";\nexport var radioButton = \"CreateBareMetalProjectConfiguration__radioButton__qKLf2\";\nexport var radioButtonLabel = \"CreateBareMetalProjectConfiguration__radioButtonLabel__HWBAo\";\nexport var radioButtonsRow = \"CreateBareMetalProjectConfiguration__radioButtonsRow__aSfyT\";\nexport var requiredLabel = \"CreateBareMetalProjectConfiguration__requiredLabel__EdZ2a\";\nexport var row = \"CreateBareMetalProjectConfiguration__row___MgJm\";\nexport var selectWrapper = \"CreateBareMetalProjectConfiguration__selectWrapper__fKsZF\";\nexport var subHeading = \"CreateBareMetalProjectConfiguration__subHeading__SPalN\";\nexport var textarea = \"CreateBareMetalProjectConfiguration__textarea__c0P6Y\";\nexport var title = \"CreateBareMetalProjectConfiguration__title__UiR2p\";\nexport var tooltipAndHeadingWrapper = \"CreateBareMetalProjectConfiguration__tooltipAndHeadingWrapper__PeA0y\";\nexport var tooltipDescription = \"CreateBareMetalProjectConfiguration__tooltipDescription__pJhiv\";\nexport var unfilled = \"CreateBareMetalProjectConfiguration__unfilled__pfgI6\";\nexport var unitSelectWrapper = \"CreateBareMetalProjectConfiguration__unitSelectWrapper__N0uR4\";\nexport var uploadDocumentButton = \"CreateBareMetalProjectConfiguration__uploadDocumentButton__JR8rY\";\nexport var uploader = \"CreateBareMetalProjectConfiguration__uploader__eF8rz\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as P from \"../../../../styleguide/components/Paragraph/P.res.js\";\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Api from \"../../../../api/Api.res.js\";\nimport * as Url from \"../../../../utils/Url.res.js\";\nimport * as Char from \"../../../../libs/Char.res.js\";\nimport * as Hooks from \"../../../../libs/Hooks.res.js\";\nimport * as Label from \"../../../../styleguide/forms/Label/Label.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../../styleguide/components/Button/Button.res.js\";\nimport * as Select from \"../../../../styleguide/forms/Select/Select.res.js\";\nimport * as $$Promise from \"../../../../bindings/Promise.res.js\";\nimport * as Belt_Int from \"rescript/lib/es6/belt_Int.js\";\nimport * as Checkbox from \"../../../../styleguide/forms/Checkbox/Checkbox.res.js\";\nimport * as Debounce from \"rescript-debounce/src/Debounce.res.js\";\nimport * as ReactForm from \"../../../../libs/ReactForm.res.js\";\nimport * as TextField from \"../../../../styleguide/forms/TextField/TextField.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as DatePicker from \"../../../../styleguide/forms/DatePicker/DatePicker.res.js\";\nimport * as Visibility from \"../../../../libs/Visibility.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as $$Notification from \"../../../../bindings/Notification.res.js\";\nimport * as SentryLogger from \"../../../../loggers/SentryLogger.res.js\";\nimport * as ProjectWizard from \"../_components/ProjectWizard/ProjectWizard.res.js\";\nimport * as Belt_SetString from \"rescript/lib/es6/belt_SetString.js\";\nimport * as Routes_Project from \"../../../../routes/common/Routes_Project.res.js\";\nimport AddDays from \"date-fns/addDays\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ProjectWizardPanel from \"../_components/ProjectWizardPanel/ProjectWizardPanel.res.js\";\nimport * as ReactNotifications from \"react-notifications\";\nimport * as SignInModalContainer from \"../../../../styleguide/modals/SignInModal/SignInModalContainer.res.js\";\nimport * as ProjectWizardNavigation from \"../_components/ProjectWizardNavigation/ProjectWizardNavigation.res.js\";\nimport * as CreateBareMetalProjectConfigurationForm from \"./CreateBareMetalProjectConfigurationForm.res.js\";\nimport * as CreateBareMetalProjectConfigurationScss from \"./CreateBareMetalProjectConfiguration.scss\";\n\nvar css = CreateBareMetalProjectConfigurationScss;\n\nfunction domId(field, at) {\n return \"bare-metal-rfp-project-configuration-\" + (field + (\"-\" + String(at)));\n}\n\nfunction estimatedServersDomId(field, at) {\n return domId(\"estimated-servers-\" + field, at);\n}\n\nfunction estimatedBudgetDomId(field, at) {\n return domId(\"estimated-budget-\" + field, at);\n}\n\nfunction configurationTitle(at) {\n return \"#\" + (String(at + 1 | 0) + (Char.mdash + \"Bare Metal RFP Configuration\"));\n}\n\nfunction add(x, status) {\n return Belt_Array.concat(x, [status]);\n}\n\nfunction remove(x, index) {\n return Belt_Array.keepWithIndex(x, (function (param, idx) {\n return index !== idx;\n }));\n}\n\nfunction toggle(x, index) {\n return Belt_Array.mapWithIndex(x, (function (idx, visibility) {\n if (index === idx) {\n return Visibility.toggle(visibility);\n } else {\n return visibility;\n }\n }));\n}\n\nfunction expandAll(x) {\n return Belt_Array.map(x, (function (param) {\n return \"Shown\";\n }));\n}\n\nvar Visibilities = {\n add: add,\n remove: remove,\n toggle: toggle,\n expandAll: expandAll\n};\n\nfunction validate(form) {\n Belt_Array.forEachWithIndex(form.input.configurations, (function (ix, param) {\n form.blurConfigurationStartDate(ix);\n }));\n}\n\nfunction results(form) {\n return Belt_Array.mapWithIndex(form.input.configurations, (function (ix, param) {\n return form.configurationStartDateResult(ix);\n }));\n}\n\nfunction isValid(results) {\n return Belt_Array.every(results, (function (result) {\n if (result !== undefined && result.TAG === \"Ok\") {\n return true;\n } else {\n return false;\n }\n }));\n}\n\nvar ValidateSaveAndContinueLaterForm = {\n validate: validate,\n results: results,\n isValid: isValid\n};\n\nvar persistDraft = Debounce.make(900, (function (param) {\n if (param[1].TAG === \"Draft\") {\n return $$Promise.wait(Api.saveBareMetalProjectConfigurationDraft(param[0]), (function (x) {\n if (x.TAG === \"Ok\") {\n return $$Notification.NotificationManager.success(\"Draft saved!\", \"\", 1000);\n }\n SentryLogger.error1({\n rootModule: \"CreateBareMetalProjectConfiguration\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"persistDraft\",\n fullPath: \"CreateBareMetalProjectConfiguration.Api.persistDraft\"\n }, \"SaveBareMetalProjectDraft::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n }));\n }\n \n }));\n\nfunction submitForm(data, context, onFailure) {\n if (context.TAG === \"Draft\") {\n return $$Promise.wait(Api.saveBareMetalProjectConfiguration(data), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.BareMetal.Provider.newSelector);\n }\n SentryLogger.error1({\n rootModule: \"CreateBareMetalProjectConfiguration\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"submitForm\",\n fullPath: \"CreateBareMetalProjectConfiguration.Api.submitForm\"\n }, \"SaveBareMetalProjectConfiguration::Error\", [\n \"Error\",\n x._0\n ]);\n onFailure();\n $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n }));\n }\n var projectId = context.projectId;\n $$Promise.wait(Api.updateBareMetalProjectConfiguration(projectId, data), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.BareMetal.Provider.editSelector(projectId));\n }\n SentryLogger.error1({\n rootModule: \"CreateBareMetalProjectConfiguration\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"submitForm\",\n fullPath: \"CreateBareMetalProjectConfiguration.Api.submitForm\"\n }, \"UpdateBareMetalProjectConfiguration::Error\", [\n \"Error\",\n x._0\n ]);\n onFailure();\n $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n }));\n}\n\nfunction saveDraftProjectAndContinueLater(form, context) {\n if (context.TAG !== \"Draft\") {\n return $$Promise.wait(Api.updateBareMetalDraftProjectAndContinueLater(context.projectId, form.input), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.index);\n }\n SentryLogger.error1({\n rootModule: \"CreateBareMetalProjectConfiguration\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"saveDraftProjectAndContinueLater\",\n fullPath: \"CreateBareMetalProjectConfiguration.Api.saveDraftProjectAndContinueLater\"\n }, \"UpdateBareMetaProjectConfiguration::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to update the project\", \"\", 1000);\n }));\n }\n validate(form);\n if (isValid(results(form))) {\n return $$Promise.wait(Api.saveBareMetalDraftProjectAndContinueLater(\"BareMetal\", {\n TAG: \"BareMetal\",\n _0: \"Rfp\"\n }, \"Draft\"), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.index);\n }\n SentryLogger.error1({\n rootModule: \"CreateBareMetalProjectConfiguration\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"saveDraftProjectAndContinueLater\",\n fullPath: \"CreateBareMetalProjectConfiguration.Api.saveDraftProjectAndContinueLater\"\n }, \"saveDraftProjectAndContinueLater::saveProjectDraft::Error\", [\n \"Error\",\n x._0\n ]);\n $$Notification.NotificationManager.error(\"Something went wrong trying to save the draft\", \"\", 1000);\n }));\n }\n \n}\n\nfunction cancelCreation() {\n $$Promise.wait(Api.cancelProjectCreation(), (function (x) {\n if (x.TAG === \"Ok\") {\n return Url.visit(Routes_Project.index);\n } else {\n return SentryLogger.error1({\n rootModule: \"CreateBareMetalProjectConfiguration\",\n subModulePath: {\n hd: \"Api\",\n tl: /* [] */0\n },\n value: \"cancelCreation\",\n fullPath: \"CreateBareMetalProjectConfiguration.Api.cancelCreation\"\n }, \"CancelProjectCreation::Error\", [\n \"Error\",\n x._0\n ]);\n }\n }));\n}\n\nvar Api$1 = {\n persistDraft: persistDraft,\n submitForm: submitForm,\n saveDraftProjectAndContinueLater: saveDraftProjectAndContinueLater,\n cancelCreation: cancelCreation\n};\n\nfunction CreateBareMetalProjectConfiguration(props) {\n var userLoginStatus = props.userLoginStatus;\n var mobile = props.mobile;\n var options = props.options;\n var context = props.context;\n var initialInput = React.useMemo((function () {\n if (context.TAG !== \"Draft\") {\n return {\n configurations: context.data\n };\n }\n var data = context.data;\n if (data !== undefined) {\n return {\n configurations: data\n };\n } else {\n return {\n configurations: [CreateBareMetalProjectConfigurationForm.Configuration.empty()]\n };\n }\n }), []);\n var match = React.useState(function () {\n return \"Hidden\";\n });\n var toggleSignInModal = match[1];\n var signInModal = match[0];\n var form = CreateBareMetalProjectConfigurationForm.useForm(initialInput, (function (output, form) {\n submitForm(output, context, form.notifyOnFailure);\n }));\n var initialState = React.useMemo((function () {\n var data;\n if (context.TAG === \"Draft\") {\n var data$1 = context.data;\n if (data$1 !== undefined) {\n data = data$1;\n } else {\n var shown = [\"Shown\"];\n return {\n panelsVisibility: shown,\n userLoginStatus: userLoginStatus\n };\n }\n } else {\n data = context.data;\n }\n var shown$1 = Belt_Array.map(data, (function (param) {\n return \"Shown\";\n }));\n return {\n panelsVisibility: shown$1,\n userLoginStatus: userLoginStatus\n };\n }), []);\n var match$1 = Hooks.useReducer(initialState, (function (state, action) {\n if (typeof action !== \"object\") {\n if (action === \"AddPanel\") {\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n panelsVisibility: Belt_Array.concat(state.panelsVisibility, [\"Shown\"]),\n userLoginStatus: state.userLoginStatus\n },\n _1: (function (param) {\n form.addConfiguration(CreateBareMetalProjectConfigurationForm.Configuration.empty());\n })\n };\n } else {\n return {\n TAG: \"Update\",\n _0: {\n panelsVisibility: Belt_Array.map(state.panelsVisibility, (function (param) {\n return \"Shown\";\n })),\n userLoginStatus: state.userLoginStatus\n }\n };\n }\n }\n switch (action.TAG) {\n case \"RemovePanel\" :\n return {\n TAG: \"Update\",\n _0: {\n panelsVisibility: remove(state.panelsVisibility, action.at),\n userLoginStatus: state.userLoginStatus\n }\n };\n case \"TogglePanelVisibility\" :\n return {\n TAG: \"Update\",\n _0: {\n panelsVisibility: toggle(state.panelsVisibility, action.at),\n userLoginStatus: state.userLoginStatus\n }\n };\n case \"ToggleLoginStatus\" :\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n panelsVisibility: state.panelsVisibility,\n userLoginStatus: action._0\n },\n _1: (function (param) {\n saveDraftProjectAndContinueLater(form, context);\n })\n };\n \n }\n }));\n var dispatch = match$1[1];\n var state = match$1[0];\n var match$2 = state.userLoginStatus;\n var tmp;\n if (match$2 === \"LoggedIn\") {\n var tmp$1;\n tmp$1 = context.TAG === \"Draft\" ? \"Next\" : \"Save and Next\";\n var match$3 = form.status;\n var tmp$2;\n tmp$2 = typeof match$3 !== \"object\" || match$3.TAG !== \"Submitting\" ? \"Enabled\" : \"Busy\";\n tmp = [\n tmp$1,\n (function () {\n form.submit();\n }),\n tmp$2\n ];\n } else {\n tmp = [\n \"Next\",\n (function () {\n toggleSignInModal(function (param) {\n return Visibility.toggle(signInModal);\n });\n }),\n \"Enabled\"\n ];\n }\n var match$4 = state.userLoginStatus;\n var tmp$3;\n tmp$3 = match$4 === \"LoggedIn\" && props.projectStatus === \"Draft\" ? [\n \"Save and Continue Later\",\n (function () {\n saveDraftProjectAndContinueLater(form, context);\n })\n ] : undefined;\n var tmp$4;\n tmp$4 = signInModal === \"Shown\" ? JsxRuntime.jsx(SignInModalContainer.make, {\n close: (function () {\n toggleSignInModal(function (param) {\n return Visibility.toggle(signInModal);\n });\n }),\n callback: (function () {\n dispatch({\n TAG: \"ToggleLoginStatus\",\n _0: \"LoggedIn\"\n });\n Url.visit(Routes_Project.BareMetal.$$new);\n }),\n setUserData: props.setUserData,\n subTitle: \"Sign In to save the project detail and continue later\"\n }) : null;\n return JsxRuntime.jsxs(ProjectWizard.Container.make, {\n children: [\n JsxRuntime.jsxs(ProjectWizard.Content.make, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"h1\", {\n children: \"Step 1: Configure Your Bare Metal Service\",\n className: css.title\n }),\n className: css.tooltipAndHeadingWrapper\n }),\n JsxRuntime.jsx(ProjectWizard.H2.make, {\n children: \"Add Your Regions and Operating Systems\"\n }),\n JsxRuntime.jsx(\"div\", {\n children: \"Please add at least one bare metal configuration with a region and operating system.\",\n className: css.subHeading\n }),\n JsxRuntime.jsx(\"div\", {\n children: Belt_Array.mapWithIndex(form.input.configurations, (function (configurationIndex, configuration) {\n var visibility = state.panelsVisibility[configurationIndex];\n var match = form.input.configurations;\n var tmp;\n if (visibility === \"Shown\") {\n var domId$1 = domId(\"start-date\", configurationIndex);\n var result = form.configurationStartDateResult(configurationIndex);\n var tmp$1;\n tmp$1 = result !== undefined && result.TAG !== \"Ok\" ? css.errorLabel : \"\";\n var tmp$2;\n tmp$2 = result !== undefined && result.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n children: result._0,\n className: css.errorMessage\n }) : null;\n var domId$2 = domId(\"contract-length\", configurationIndex);\n var result$1 = form.configurationContractLengthResult(configurationIndex);\n var tmp$3;\n tmp$3 = result$1 !== undefined && result$1.TAG !== \"Ok\" ? css.errorLabel : \"\";\n var tmp$4;\n tmp$4 = result$1 !== undefined && result$1.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n children: result$1._0,\n className: css.errorMessage\n }) : null;\n var domId$3 = estimatedServersDomId(\"estimated-servers\", configurationIndex);\n var result$2 = form.configurationEstimatedServersResult(configurationIndex);\n var tmp$5;\n tmp$5 = result$2 !== undefined && result$2.TAG !== \"Ok\" ? css.errorLabel : \"\";\n var tmp$6;\n tmp$6 = result$2 !== undefined && result$2.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n children: result$2._0,\n className: css.errorMessage\n }) : null;\n var domId$4 = estimatedBudgetDomId(\"estimated-budget\", configurationIndex);\n var result$3 = form.configurationEstimatedBudgetResult(configurationIndex);\n var tmp$7;\n tmp$7 = result$3 !== undefined && result$3.TAG !== \"Ok\" ? css.errorLabel : \"\";\n var tmp$8;\n tmp$8 = result$3 !== undefined && result$3.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n children: result$3._0,\n className: css.errorMessage\n }) : null;\n var result$4 = form.configurationRegionsResult(configurationIndex);\n var tmp$9;\n tmp$9 = result$4 !== undefined && result$4.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n children: result$4._0,\n className: css.errorMessage\n }) : null;\n var result$5 = form.configurationOperatingSystemsResult(configurationIndex);\n var tmp$10;\n tmp$10 = result$5 !== undefined && result$5.TAG !== \"Ok\" ? JsxRuntime.jsx(\"div\", {\n children: result$5._0,\n className: css.errorMessage\n }) : null;\n tmp = JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsxs(ProjectWizardPanel.HeadlessSection.make, {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Label.make, {\n forId: domId$1,\n status: result,\n className: Cx.cx([\n css.label,\n css.requiredLabel,\n tmp$1\n ]),\n children: \"Service Start Date\"\n }),\n JsxRuntime.jsx(DatePicker.make, {\n id: domId$1,\n value: Belt_Option.map(configuration.startDate, (function (prim) {\n return prim;\n })),\n fromMonth: Caml_option.some(AddDays(new Date(), 1)),\n disabledDays: [{\n from: new Date(0, 0),\n to: new Date()\n }],\n status: Belt_Option.map(result, (function (x) {\n if (x.TAG === \"Ok\") {\n return \"Valid\";\n } else {\n return \"Error\";\n }\n })),\n onDayChange: (function (date, param, param$1) {\n form.updateConfigurationStartDate(configurationIndex, (function (input, value) {\n return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: value,\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n }));\n }), Caml_option.some(date));\n persistDraft([\n CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: Caml_option.some(date),\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n })),\n context\n ]);\n }),\n onHide: (function () {\n form.blurConfigurationStartDate(configurationIndex);\n }),\n className: css.input\n }),\n tmp$2\n ],\n className: css.field\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Label.make, {\n forId: domId$2,\n status: result$1,\n className: Cx.cx([\n css.label,\n css.requiredLabel,\n tmp$3\n ]),\n children: \"Contract Length\"\n }),\n JsxRuntime.jsxs(Select.make, {\n id: domId$2,\n value: Belt_Option.mapWithDefault(configuration.contractLength, \"\", (function (cl) {\n return String(cl.value);\n })),\n status: Belt_Option.map(result$1, (function (x) {\n if (x.TAG === \"Ok\") {\n return \"Valid\";\n } else {\n return \"Error\";\n }\n })),\n className: css.input,\n wrapperClassName: css.selectWrapper,\n iconSize: \"XXS\",\n iconColor: \"GrayText\",\n onChange: (function ($$event) {\n var value = Belt_Array.getBy(options.contractLengths, (function (cl) {\n return Belt_Option.mapWithDefault(Belt_Int.fromString(ReactForm.value($$event)), false, (function (value) {\n return value === cl.value;\n }));\n }));\n form.updateConfigurationContractLength(configurationIndex, (function (input, value) {\n return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: value,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n }));\n }), value);\n persistDraft([\n CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: value,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n })),\n context\n ]);\n }),\n onBlur: (function (param) {\n form.blurConfigurationContractLength(configurationIndex);\n }),\n children: [\n JsxRuntime.jsx(Select.DefaultOption.make, {\n children: \"Select...\"\n }),\n Belt_Array.map(options.contractLengths, (function (cl) {\n return JsxRuntime.jsx(Select.$$Option.make, {\n value: String(cl.value),\n children: cl.label\n }, String(cl.value));\n }))\n ]\n }),\n tmp$4\n ],\n className: css.field\n })\n ],\n className: Cx.cx([\n css.fieldRow,\n css.unfilled\n ])\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Label.make, {\n forId: domId$3,\n status: result$2,\n className: Cx.cx([\n css.label,\n css.requiredLabel,\n tmp$5\n ]),\n children: \"Estimated Servers\"\n }),\n JsxRuntime.jsx(TextField.make, {\n id: domId$3,\n value: Belt_Option.mapWithDefault(configuration.estimatedServers, \"\", (function (prim) {\n return String(prim);\n })),\n status: Belt_Option.map(result$2, (function (x) {\n if (x.TAG === \"Ok\") {\n return \"Valid\";\n } else {\n return \"Error\";\n }\n })),\n className: css.input,\n onBlur: (function (param) {\n form.blurConfigurationEstimatedServers(configurationIndex);\n }),\n onChange: (function ($$event) {\n var x = ReactForm.value($$event);\n var value;\n if (x === \"\") {\n value = {\n TAG: \"Ok\",\n _0: undefined\n };\n } else {\n var n = Belt_Int.fromString(x);\n value = n !== undefined && String(n) === x ? ({\n TAG: \"Ok\",\n _0: n\n }) : ({\n TAG: \"Error\",\n _0: undefined\n });\n }\n if (value.TAG !== \"Ok\") {\n return ;\n }\n var value$1 = value._0;\n form.updateConfigurationEstimatedServers(configurationIndex, (function (input, value) {\n return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: value,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n }));\n }), value$1);\n persistDraft([\n CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: value$1,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n })),\n context\n ]);\n })\n }),\n tmp$6\n ],\n className: css.field\n }),\n JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Label.make, {\n forId: domId$4,\n status: result$3,\n className: Cx.cx([\n css.label,\n css.requiredLabel,\n tmp$7\n ]),\n children: \"Est. Monthly Budget\"\n }),\n JsxRuntime.jsxs(Select.make, {\n id: domId$4,\n value: Belt_Option.mapWithDefault(configuration.estimatedBudget, \"\", (function (value) {\n return value;\n })),\n status: Belt_Option.map(result$3, (function (x) {\n if (x.TAG === \"Ok\") {\n return \"Valid\";\n } else {\n return \"Error\";\n }\n })),\n className: css.input,\n wrapperClassName: css.selectWrapper,\n iconSize: \"XXS\",\n iconColor: \"GrayText\",\n onChange: (function ($$event) {\n var value = Belt_Option.getWithDefault(Belt_Array.getBy(options.estimatedBudgets, (function (x) {\n return ReactForm.value($$event) === x;\n })), \"\");\n form.updateConfigurationEstimatedBudget(configurationIndex, (function (input, value) {\n return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: value,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n }));\n }), value);\n persistDraft([\n CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: value,\n regions: configuration.regions,\n operatingSystems: configuration.operatingSystems\n };\n })),\n context\n ]);\n }),\n onBlur: (function (param) {\n form.blurConfigurationEstimatedBudget(configurationIndex);\n }),\n children: [\n JsxRuntime.jsx(Select.DefaultOption.make, {\n children: \"Select...\"\n }),\n Belt_Array.map(options.estimatedBudgets, (function (x) {\n return JsxRuntime.jsx(Select.$$Option.make, {\n value: x,\n children: x\n }, x);\n }))\n ]\n }),\n tmp$8\n ],\n className: css.field\n })\n ],\n className: Cx.cx([\n css.fieldRow,\n css.unfilled\n ])\n })\n ]\n }),\n JsxRuntime.jsxs(ProjectWizardPanel.Section.make, {\n title: \"Regions\",\n children: [\n JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(P.make, {\n children: \"Select the general regions where your bare metal services are needed.\"\n })\n }),\n tmp$9\n ]\n }),\n JsxRuntime.jsx(ProjectWizardPanel.ZebraGrid.make, {\n items: options.regions,\n mobile: mobile,\n children: (function (region) {\n var domId$5 = domId(\"regions-\" + region, configurationIndex);\n return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n id: domId$5,\n size: \"MD\",\n checked: Belt_SetString.has(configuration.regions, region),\n containerClassName: css.checkbox,\n onChange: (function ($$event) {\n var value = ReactForm.checked($$event) ? Belt_SetString.add(configuration.regions, region) : Belt_SetString.remove(configuration.regions, region);\n form.updateConfigurationRegions(configurationIndex, (function (input, value) {\n return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: value,\n operatingSystems: configuration.operatingSystems\n };\n }));\n }), value);\n persistDraft([\n CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: value,\n operatingSystems: configuration.operatingSystems\n };\n })),\n context\n ]);\n }),\n onBlur: (function (param) {\n form.blurConfigurationRegions(configurationIndex);\n }),\n children: region\n }, domId$5);\n })\n })\n ]\n }),\n JsxRuntime.jsxs(ProjectWizardPanel.Section.make, {\n title: \"Operating Systems\",\n children: [\n JsxRuntime.jsxs(JsxRuntime.Fragment, {\n children: [\n JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(P.make, {\n children: \"Select the type of operating systems your bare metal services will need.\"\n })\n }),\n tmp$10\n ]\n }),\n JsxRuntime.jsx(ProjectWizardPanel.ZebraGrid.make, {\n items: options.operatingSystems,\n mobile: mobile,\n children: (function (operatingSystem) {\n var domId$5 = domId(\"operating-systems-\" + operatingSystem, configurationIndex);\n return JsxRuntime.jsx(Checkbox.WithLabel.make, {\n id: domId$5,\n size: \"MD\",\n checked: Belt_SetString.has(configuration.operatingSystems, operatingSystem),\n containerClassName: css.checkbox,\n onChange: (function ($$event) {\n var value = ReactForm.checked($$event) ? Belt_SetString.add(configuration.operatingSystems, operatingSystem) : Belt_SetString.remove(configuration.operatingSystems, operatingSystem);\n form.updateConfigurationOperatingSystems(configurationIndex, (function (input, value) {\n return CreateBareMetalProjectConfigurationForm.Configuration.update(input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: value\n };\n }));\n }), value);\n persistDraft([\n CreateBareMetalProjectConfigurationForm.Configuration.update(form.input, configurationIndex, (function (configuration) {\n return {\n key: configuration.key,\n startDate: configuration.startDate,\n contractLength: configuration.contractLength,\n estimatedServers: configuration.estimatedServers,\n estimatedBudget: configuration.estimatedBudget,\n regions: configuration.regions,\n operatingSystems: value\n };\n })),\n context\n ]);\n }),\n onBlur: (function (param) {\n form.blurConfigurationOperatingSystems(configurationIndex);\n }),\n children: operatingSystem\n }, domId$5);\n })\n })\n ]\n })\n ]\n });\n } else {\n tmp = null;\n }\n return JsxRuntime.jsx(ProjectWizardPanel.make, {\n title: configurationTitle(configurationIndex),\n visibility: visibility,\n toggleVisibility: (function () {\n dispatch({\n TAG: \"TogglePanelVisibility\",\n at: configurationIndex\n });\n }),\n deleteControl: match.length !== 1 ? (function () {\n form.removeConfiguration(configurationIndex);\n dispatch({\n TAG: \"RemovePanel\",\n at: configurationIndex\n });\n persistDraft([\n CreateBareMetalProjectConfigurationForm.Configuration.remove(form.input, configurationIndex),\n context\n ]);\n }) : undefined,\n children: tmp\n }, configuration.key);\n }))\n }),\n JsxRuntime.jsx(Button.make, {\n size: \"MD\",\n color: \"Teal\",\n onClick: (function (param) {\n dispatch(\"AddPanel\");\n }),\n children: \"+ Add One More Bare Metal Service\"\n })\n ]\n }),\n JsxRuntime.jsx(ProjectWizardNavigation.make, {\n stepLabel: \"Step 1 of 3\",\n controls: {\n TAG: \"PreviousAndNextAndContinueLater\",\n next: tmp,\n previous: [\n \"Cancel\",\n (function () {\n cancelCreation();\n }),\n \"Enabled\"\n ],\n continueLater: tmp$3\n },\n mobile: mobile\n }),\n JsxRuntime.jsx(ReactNotifications.NotificationContainer, {}),\n tmp$4\n ]\n });\n}\n\nvar Configuration;\n\nvar Options;\n\nvar make = CreateBareMetalProjectConfiguration;\n\nexport {\n Configuration ,\n Options ,\n css ,\n domId ,\n estimatedServersDomId ,\n estimatedBudgetDomId ,\n configurationTitle ,\n Visibilities ,\n ValidateSaveAndContinueLaterForm ,\n Api$1 as Api,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as ContractLength from \"../../../../models/ContractLength.res.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n return {\n contractLengths: field.required(\"contractLengths\", Json_Decode$JsonCombinators.array(ContractLength.decoder)),\n estimatedBudgets: field.required(\"estimatedBudgets\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n regions: field.required(\"regions\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string)),\n operatingSystems: field.required(\"operatingSystems\", Json_Decode$JsonCombinators.array(Json_Decode$JsonCombinators.string))\n };\n });\n\nfunction fromJson(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nvar Options = {\n decoder: decoder,\n fromJson: fromJson\n};\n\nexport {\n Options ,\n}\n/* decoder Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Project from \"../../../../models/Project.res.js\";\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as RailsContext from \"../../../../models/RailsContext.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\nimport * as CreateBareMetalProjectConfiguration from \"./CreateBareMetalProjectConfiguration.res.js\";\nimport * as CreateBareMetalProjectConfigurationData from \"./CreateBareMetalProjectConfigurationData.res.js\";\nimport * as CreateBareMetalProjectConfigurationForm from \"./CreateBareMetalProjectConfigurationForm.res.js\";\n\nfunction CreateBareMetalProjectConfiguration__JsBridge$default(props) {\n var status = props.status;\n var railsContext = props.railsContext;\n var options = props.options;\n var configurations = props.configurations;\n var projectId = props.projectId;\n var options$1 = React.useMemo((function () {\n return CreateBareMetalProjectConfigurationData.Options.fromJson(options);\n }), [options]);\n var context = React.useMemo((function () {\n var projectId$1 = Belt_Result.getExn(Json_Decode$JsonCombinators.decode(projectId, Json_Decode$JsonCombinators.option(Project.Id.decoder)));\n var configurations$1 = Belt_Result.getExn(Json_Decode$JsonCombinators.decode(configurations, Json_Decode$JsonCombinators.array(CreateBareMetalProjectConfigurationForm.Configuration.inputDecoder(options$1.contractLengths))));\n if (projectId$1 !== undefined) {\n return {\n TAG: \"Project\",\n projectId: Caml_option.valFromOption(projectId$1),\n data: configurations$1\n };\n } else if (configurations$1.length !== 0) {\n return {\n TAG: \"Draft\",\n data: configurations$1\n };\n } else {\n return {\n TAG: \"Draft\",\n data: undefined\n };\n }\n }), [\n projectId,\n configurations\n ]);\n var railsContext$1 = React.useMemo((function () {\n return RailsContext.fromJson(railsContext);\n }), [railsContext]);\n var projectStatus = React.useMemo((function () {\n return Project.Status.fromString(status);\n }), [status]);\n return JsxRuntime.jsx(CreateBareMetalProjectConfiguration.make, {\n context: context,\n options: options$1,\n mobile: railsContext$1.mobile,\n userLoginStatus: railsContext$1.userLoginStatus,\n setUserData: props.reduxfunction.setUserData,\n projectStatus: projectStatus\n });\n}\n\nvar $$default = CreateBareMetalProjectConfiguration__JsBridge$default;\n\nexport {\n $$default as default,\n}\n/* react Not a pure module */\n","import * as React from 'react';\nimport ReduxProvider from 'ReduxProvider';\nimport { connect } from 'react-redux';\nimport { setUserData } from 'Client/common/actions/userActions';\nimport CreateBareMetalProjectConfiguration from './CreateBareMetalProjectConfiguration__JsBridge.res.js';\n\nconst mapDispatchToProps = dispatch => ({\n reduxfunction: {\n setUserData: userData => {\n dispatch(setUserData(userData));\n },\n },\n});\n\nconst CreateBareMetalProjectConfigurationContainer = connect(\n null,\n mapDispatchToProps,\n)(CreateBareMetalProjectConfiguration);\n\nexport default ({ context, ...props }) => (\n \n \n \n);\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar arrow = '\\u279e';\n\nvar middot = '\\u00b7';\n\nvar mdash = '\\u2014';\n\nvar rightCaret = '\\u203a';\n\nvar ampersand = '\\u0026';\n\nvar times = '\\u00D7';\n\nfunction Char$Middot(props) {\n return JsxRuntime.jsx(\"span\", {\n children: \" \" + (middot + \" \"),\n style: {\n padding: \"0 1px\"\n }\n });\n}\n\nvar Middot = {\n make: Char$Middot\n};\n\nfunction Char$RightArrow(props) {\n return JsxRuntime.jsx(\"div\", {\n children: arrow,\n className: props.className\n });\n}\n\nvar RightArrow = {\n make: Char$RightArrow\n};\n\nfunction Char$LeftArrow(props) {\n return JsxRuntime.jsx(\"div\", {\n children: arrow,\n style: {\n transform: \"rotate(180deg)\"\n }\n });\n}\n\nvar LeftArrow = {\n make: Char$LeftArrow\n};\n\nfunction Char$RightCaret(props) {\n return JsxRuntime.jsx(\"span\", {\n children: rightCaret\n });\n}\n\nvar RightCaret = {\n make: Char$RightCaret\n};\n\nfunction Char$Ampersand(props) {\n return JsxRuntime.jsx(\"span\", {\n children: ampersand\n });\n}\n\nvar Ampersand = {\n make: Char$Ampersand\n};\n\nfunction Char$Times(props) {\n return JsxRuntime.jsx(\"span\", {\n children: times\n });\n}\n\nvar Times = {\n make: Char$Times\n};\n\nexport {\n arrow ,\n middot ,\n mdash ,\n rightCaret ,\n ampersand ,\n times ,\n Middot ,\n RightArrow ,\n LeftArrow ,\n RightCaret ,\n Ampersand ,\n Times ,\n}\n/* react/jsx-runtime Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as React from \"react\";\nimport * as Screens from \"../styleguide/styles/Screens.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as $$MediaQueryList from \"./MediaQueryList.res.js\";\n\nfunction usePrevious(v) {\n var x = React.useRef(undefined);\n React.useEffect(function () {\n x.current = Caml_option.some(v);\n });\n return x.current;\n}\n\nfunction useReducer(initialState, reducer) {\n var match = React.useReducer((function (fullState, action) {\n var sideEffects = fullState.sideEffects;\n var state = reducer(fullState.state, action);\n if (typeof state !== \"object\") {\n return fullState;\n }\n switch (state.TAG) {\n case \"Update\" :\n return {\n state: state._0,\n sideEffects: fullState.sideEffects\n };\n case \"UpdateWithSideEffects\" :\n return {\n state: state._0,\n sideEffects: {\n contents: Belt_Array.concat(sideEffects.contents, [state._1])\n }\n };\n case \"SideEffects\" :\n return {\n state: fullState.state,\n sideEffects: {\n contents: Belt_Array.concat(sideEffects.contents, [state._0])\n }\n };\n \n }\n }), {\n state: initialState,\n sideEffects: {\n contents: []\n }\n });\n var dispatch = match[1];\n var match$1 = match[0];\n var sideEffects = match$1.sideEffects;\n var state = match$1.state;\n React.useEffect((function () {\n if (sideEffects.contents.length !== 0) {\n Belt_Array.forEach(sideEffects.contents, (function (fn) {\n fn({\n state: state,\n dispatch: dispatch\n });\n }));\n sideEffects.contents = [];\n }\n \n }), [sideEffects.contents]);\n return [\n state,\n dispatch\n ];\n}\n\nfunction useScreenSize() {\n var match = React.useState(function () {\n return \"LG\";\n });\n var setScreenSize = match[1];\n var mediaQueries = [\n {\n query: Screens.smMq,\n size: \"SM\"\n },\n {\n query: Screens.mdMq,\n size: \"MD\"\n },\n {\n query: Screens.lgMq,\n size: \"LG\"\n }\n ];\n React.useEffect((function () {\n var listeners = Belt_Array.map(mediaQueries, (function (param) {\n return [\n window.matchMedia(param.query),\n param.size\n ];\n }));\n var idx = listeners.findIndex(function (param) {\n return param[0].matches;\n });\n var match = Belt_Array.get(listeners, idx);\n if (match !== undefined) {\n var size = match[1];\n setScreenSize(function (param) {\n return size;\n });\n }\n var unsubscribeListeners = Belt_Array.map(listeners, (function (param) {\n var size = param[1];\n return $$MediaQueryList.subscribe(param[0], (function ($$event) {\n if ($$event.matches) {\n return setScreenSize(function (param) {\n return size;\n });\n }\n \n }));\n }));\n return (function () {\n Belt_Array.forEach(unsubscribeListeners, (function (listener) {\n if (listener !== undefined) {\n return listener();\n }\n \n }));\n });\n }), [mediaQueries]);\n return match[0];\n}\n\nexport {\n usePrevious ,\n useReducer ,\n useScreenSize ,\n}\n/* react Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nfunction subscribe(mq, handler) {\n mq.addListener(handler);\n return (function () {\n mq.removeListener(handler);\n });\n}\n\nexport {\n subscribe ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nfunction fromString(x) {\n switch (x) {\n case \" \" :\n return \"Space\";\n case \",\" :\n return \"Comma\";\n case \"Enter\" :\n return \"Enter\";\n case \"Escape\" :\n return \"Escape\";\n default:\n return \"Other\";\n }\n}\n\nvar Key = {\n fromString: fromString\n};\n\nfunction key($$event) {\n return fromString($$event.key);\n}\n\nfunction onEsc($$event, fn) {\n var match = fromString($$event.key);\n if (match === \"Escape\") {\n return fn();\n }\n \n}\n\nvar Dom = {\n key: key,\n onEsc: onEsc\n};\n\nfunction key$1($$event) {\n return fromString($$event.key);\n}\n\nfunction onSpaceOrEnter($$event, fn) {\n var match = fromString($$event.key);\n switch (match) {\n case \"Enter\" :\n case \"Space\" :\n return fn();\n default:\n return ;\n }\n}\n\nfunction onEsc$1($$event, fn) {\n var match = fromString($$event.key);\n if (match === \"Escape\") {\n return fn();\n }\n \n}\n\nfunction onComma($$event, fn) {\n var match = fromString($$event.key);\n if (match === \"Comma\") {\n return fn();\n }\n \n}\n\nvar React = {\n key: key$1,\n onSpaceOrEnter: onSpaceOrEnter,\n onEsc: onEsc$1,\n onComma: onComma\n};\n\nexport {\n Key ,\n Dom ,\n React ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nfunction value($$event) {\n return $$event.target.value;\n}\n\nfunction checked($$event) {\n return $$event.target.checked;\n}\n\nexport {\n value ,\n checked ,\n}\n/* No side effect */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Url from \"../utils/Url.res.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction handle(path, onClick, $$event) {\n Belt_Option.map(onClick, (function (fn) {\n return fn($$event);\n }));\n if (!$$event.defaultPrevented && $$event.button === 0 && !$$event.altKey && !$$event.ctrlKey && !$$event.metaKey && !$$event.shiftKey) {\n $$event.preventDefault();\n return Url.visit(path);\n }\n \n}\n\nfunction Router$Link(props) {\n var onClick = props.onClick;\n var path = props.path;\n return JsxRuntime.jsx(\"a\", {\n children: props.children,\n className: props.className,\n href: path,\n onClick: (function (__x) {\n handle(path, onClick, __x);\n })\n });\n}\n\nvar Link = {\n handle: handle,\n make: Router$Link\n};\n\nexport {\n Link ,\n}\n/* react/jsx-runtime Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Belt_Result from \"rescript/lib/es6/belt_Result.js\";\nimport * as Json$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json.res.js\";\nimport * as Json_Decode$JsonCombinators from \"@glennsl/rescript-json-combinators/src/Json_Decode.res.js\";\n\nvar decoder = Json_Decode$JsonCombinators.object(function (field) {\n return {\n value: field.required(\"value\", Json_Decode$JsonCombinators.$$int),\n label: field.required(\"label\", Json_Decode$JsonCombinators.string)\n };\n });\n\nfunction fromJson(json) {\n return Belt_Result.getExn(Json$JsonCombinators.decode(json, decoder));\n}\n\nexport {\n decoder ,\n fromJson ,\n}\n/* decoder Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var busy = \"Button__busy__se8U4\";\nexport var button = \"Button__button__q1G4V\";\nexport var colorClear = \"Button__colorClear__mMjVb\";\nexport var colorDarkerGray = \"Button__colorDarkerGray__IAq8O\";\nexport var colorGhostClear = \"Button__colorGhostClear__PmnyK\";\nexport var colorGhostPink = \"Button__colorGhostPink__IsVLq\";\nexport var colorGhostPrimary = \"Button__colorGhostPrimary__FeHCq\";\nexport var colorGhostRed = \"Button__colorGhostRed___JWPq\";\nexport var colorGhostRedDarker = \"Button__colorGhostRedDarker__tLEEX\";\nexport var colorGhostTeal = \"Button__colorGhostTeal__B0Ge5\";\nexport var colorGray = \"Button__colorGray__tAI6V\";\nexport var colorOrange = \"Button__colorOrange__Bx7EG\";\nexport var colorPink = \"Button__colorPink__i3BXm\";\nexport var colorPrimary = \"Button__colorPrimary__UKhKJ\";\nexport var colorRed = \"Button__colorRed__PWByV\";\nexport var colorRedDarker = \"Button__colorRedDarker__Q0K3s\";\nexport var colorTeal = \"Button__colorTeal__MGhVa\";\nexport var colorWhite = \"Button__colorWhite___YKXV\";\nexport var column = \"Button__column__qJCW0\";\nexport var expanded = \"Button__expanded__lNYJk\";\nexport var flex = \"Button__flex__wLbxC\";\nexport var flexColumn = \"Button__flexColumn__Dyc52\";\nexport var gap1 = \"Button__gap1__cYT6Y\";\nexport var gap2 = \"Button__gap2__KrybM\";\nexport var gap3 = \"Button__gap3__zjXsj\";\nexport var gap4 = \"Button__gap4__hZWJj\";\nexport var gap5 = \"Button__gap5__EmrnX\";\nexport var iconSuffixComponent = \"Button__iconSuffixComponent__J2wit\";\nexport var marginLeft = \"Button__marginLeft__CWXQX\";\nexport var marginRight = \"Button__marginRight__JYWHj\";\nexport var row = \"Button__row__fSVqT\";\nexport var sizeLg = \"Button__sizeLg__nbVdg\";\nexport var sizeMd = \"Button__sizeMd__pu6ef\";\nexport var sizeSm = \"Button__sizeSm__Vt43J\";\nexport var sizeXs = \"Button__sizeXs__bhYVc\";\nexport var visuallyDisabled = \"Button__visuallyDisabled__EVH03\";\nexport var wrapper = \"Button__wrapper__nHhEx\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Router from \"../../../libs/Router.res.js\";\nimport * as Spinner from \"../Spinner/Spinner.res.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as ButtonScss from \"./Button.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = ButtonScss;\n\nfunction wrapperClassNameMaker(size, expanded, margin, className, param) {\n var tmp;\n switch (size) {\n case \"XS\" :\n tmp = css.sizeXs;\n break;\n case \"SM\" :\n tmp = css.sizeSm;\n break;\n case \"MD\" :\n tmp = css.sizeMd;\n break;\n case \"LG\" :\n tmp = css.sizeLg;\n break;\n \n }\n var tmp$1;\n tmp$1 = margin !== undefined ? (\n margin === \"RightMargin\" ? css.marginRight : css.marginLeft\n ) : \"\";\n return Cx.cx([\n css.wrapper,\n expanded ? css.expanded : \"\",\n tmp,\n tmp$1,\n className\n ]);\n}\n\nfunction buttonClassNameMaker(color, ghost, expanded, visuallyDisabled, buttonClassNameOpt, busy) {\n var buttonClassName = buttonClassNameOpt !== undefined ? buttonClassNameOpt : \"\";\n var tmp;\n switch (color) {\n case \"Primary\" :\n tmp = ghost ? css.colorGhostPrimary : css.colorPrimary;\n break;\n case \"Teal\" :\n tmp = ghost ? css.colorGhostTeal : css.colorTeal;\n break;\n case \"Pink\" :\n tmp = ghost ? css.colorGhostPink : css.colorPink;\n break;\n case \"Gray\" :\n tmp = css.colorGray;\n break;\n case \"DarkerGray\" :\n tmp = css.colorDarkerGray;\n break;\n case \"Red\" :\n tmp = ghost ? css.colorGhostRed : css.colorRed;\n break;\n case \"White\" :\n tmp = css.colorWhite;\n break;\n case \"Clear\" :\n tmp = ghost ? css.colorGhostClear : css.colorClear;\n break;\n case \"RedDarker\" :\n tmp = ghost ? css.colorGhostRedDarker : css.colorRedDarker;\n break;\n case \"Orange\" :\n tmp = ghost ? css.colorGhostOrange : css.colorOrange;\n break;\n \n }\n return Cx.cx([\n css.button,\n tmp,\n expanded ? css.expanded : \"\",\n visuallyDisabled ? css.visuallyDisabled : \"\",\n busy ? css.busy : \"\",\n buttonClassName\n ]);\n}\n\nfunction spinnerSize(size) {\n switch (size) {\n case \"XS\" :\n return \"XS\";\n case \"SM\" :\n return \"SM\";\n case \"MD\" :\n return \"MD\";\n case \"LG\" :\n return \"LG\";\n \n }\n}\n\nfunction spinnerColor(color, ghost) {\n switch (color) {\n case \"Teal\" :\n if (ghost) {\n return \"Teal\";\n } else {\n return \"White\";\n }\n case \"Pink\" :\n if (ghost) {\n return \"Pink\";\n } else {\n return \"White\";\n }\n case \"Red\" :\n if (ghost) {\n return \"Red\";\n } else {\n return \"White\";\n }\n case \"RedDarker\" :\n if (ghost) {\n return \"RedDarker\";\n } else {\n return \"White\";\n }\n case \"Primary\" :\n case \"Orange\" :\n if (ghost) {\n return \"Orange\";\n } else {\n return \"White\";\n }\n default:\n return \"Black\";\n }\n}\n\nfunction Button(props) {\n var iconSuffixComponent = props.iconSuffixComponent;\n var __buttonClassName = props.buttonClassName;\n var __className = props.className;\n var __submit = props.submit;\n var __busy = props.busy;\n var __visuallyDisabled = props.visuallyDisabled;\n var __disabled = props.disabled;\n var __expanded = props.expanded;\n var __ghost = props.ghost;\n var color = props.color;\n var size = props.size;\n var ghost = __ghost !== undefined ? __ghost : false;\n var expanded = __expanded !== undefined ? __expanded : false;\n var disabled = __disabled !== undefined ? __disabled : false;\n var visuallyDisabled = __visuallyDisabled !== undefined ? __visuallyDisabled : false;\n var busy = __busy !== undefined ? __busy : false;\n var submit = __submit !== undefined ? __submit : false;\n var className = __className !== undefined ? __className : \"\";\n var buttonClassName = __buttonClassName !== undefined ? __buttonClassName : \"\";\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsxs(\"button\", {\n children: [\n props.children,\n iconSuffixComponent !== undefined ? JsxRuntime.jsx(\"div\", {\n children: Caml_option.valFromOption(iconSuffixComponent),\n className: css.iconSuffixComponent\n }) : null\n ],\n className: buttonClassNameMaker(color, ghost, expanded, visuallyDisabled, buttonClassName, busy),\n disabled: disabled || visuallyDisabled,\n type: submit ? \"submit\" : \"button\",\n onClick: props.onClick\n }),\n busy ? JsxRuntime.jsx(Spinner.make, {\n size: spinnerSize(size),\n color: spinnerColor(color, ghost),\n centered: true\n }) : null\n ],\n className: wrapperClassNameMaker(size, expanded, props.margin, className, undefined),\n id: props.id\n });\n}\n\nvar css$1 = ButtonScss;\n\nfunction Button$AsLink(props) {\n var __buttonClassName = props.buttonClassName;\n var __className = props.className;\n var __visuallyDisabled = props.visuallyDisabled;\n var __expanded = props.expanded;\n var __ghost = props.ghost;\n var ghost = __ghost !== undefined ? __ghost : false;\n var expanded = __expanded !== undefined ? __expanded : false;\n var visuallyDisabled = __visuallyDisabled !== undefined ? __visuallyDisabled : false;\n var className = __className !== undefined ? __className : \"\";\n var buttonClassName = __buttonClassName !== undefined ? __buttonClassName : \"\";\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Router.Link.make, {\n path: props.href,\n className: buttonClassNameMaker(props.color, ghost, expanded, visuallyDisabled, buttonClassName, false),\n onClick: props.onClick,\n children: props.children\n }),\n className: wrapperClassNameMaker(props.size, expanded, props.margin, className, undefined),\n id: props.id\n });\n}\n\nvar AsLink = {\n css: css$1,\n make: Button$AsLink\n};\n\nvar css$2 = ButtonScss;\n\nfunction Button$AsNativeLink(props) {\n var __buttonClassName = props.buttonClassName;\n var __className = props.className;\n var __visuallyDisabled = props.visuallyDisabled;\n var __expanded = props.expanded;\n var __ghost = props.ghost;\n var targetBlank = props.targetBlank;\n var ghost = __ghost !== undefined ? __ghost : false;\n var expanded = __expanded !== undefined ? __expanded : false;\n var visuallyDisabled = __visuallyDisabled !== undefined ? __visuallyDisabled : false;\n var className = __className !== undefined ? __className : \"\";\n var buttonClassName = __buttonClassName !== undefined ? __buttonClassName : \"\";\n return JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(\"a\", {\n children: props.children,\n className: buttonClassNameMaker(props.color, ghost, expanded, visuallyDisabled, buttonClassName, false),\n href: props.href,\n rel: targetBlank !== undefined && targetBlank ? \"noopener noreferrer\" : undefined,\n target: targetBlank !== undefined && targetBlank ? \"_blank\" : undefined,\n onClick: props.onClick\n }),\n className: wrapperClassNameMaker(props.size, expanded, props.margin, className, undefined)\n });\n}\n\nvar AsNativeLink = {\n css: css$2,\n make: Button$AsNativeLink\n};\n\nvar make = Button;\n\nexport {\n css ,\n wrapperClassNameMaker ,\n buttonClassNameMaker ,\n spinnerSize ,\n spinnerColor ,\n make ,\n AsLink ,\n AsNativeLink ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nvar maxWidth = String(767);\n\nvar smMq = \"only screen and (max-width: \" + maxWidth + \"px)\";\n\nvar minWidth = String(1024);\n\nvar maxWidth$1 = String(1279);\n\nvar mdMq = \"only screen and (min-width: \" + minWidth + \"px) and (max-width: \" + maxWidth$1 + \"px)\";\n\nvar minWidth$1 = String(1024);\n\nvar lgMq = \"only screen and (min-width: \" + minWidth$1 + \"px)\";\n\nvar xsSlider = 320;\n\nvar xs = 375;\n\nvar xsSlider2 = 414;\n\nvar smallSlider = 767;\n\nvar small = 768;\n\nvar medium = 1024;\n\nvar large = 1280;\n\nvar xl = 1440;\n\nexport {\n xsSlider ,\n xs ,\n xsSlider2 ,\n smallSlider ,\n small ,\n medium ,\n large ,\n xl ,\n smMq ,\n mdMq ,\n lgMq ,\n}\n/* maxWidth Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\n\nfunction makeControlled(waitOpt, fn) {\n var wait = waitOpt !== undefined ? waitOpt : 100;\n var timerId = {\n contents: undefined\n };\n var lastArg = {\n contents: undefined\n };\n var lastCallTime = {\n contents: undefined\n };\n var shouldCall = function (time) {\n var lastCallTime$1 = lastCallTime.contents;\n if (lastCallTime$1 === undefined) {\n return true;\n }\n var timeSinceLastCall = time - lastCallTime$1 | 0;\n if (timeSinceLastCall >= wait) {\n return true;\n } else {\n return timeSinceLastCall < 0;\n }\n };\n var remainingWait = function (time) {\n var lastCallTime$1 = lastCallTime.contents;\n if (lastCallTime$1 === undefined) {\n return wait;\n }\n var timeSinceLastCall = time - lastCallTime$1 | 0;\n return wait - timeSinceLastCall | 0;\n };\n var timerExpired = function () {\n var timerId$1 = timerId.contents;\n if (timerId$1 !== undefined) {\n clearTimeout(Caml_option.valFromOption(timerId$1));\n }\n var time = Date.now() | 0;\n if (shouldCall(time)) {\n return call();\n } else {\n timerId.contents = Caml_option.some(setTimeout(timerExpired, remainingWait(time)));\n return ;\n }\n };\n var call = function () {\n var x = lastArg.contents;\n if (x !== undefined) {\n lastArg.contents = undefined;\n timerId.contents = undefined;\n return fn(Caml_option.valFromOption(x));\n } else {\n timerId.contents = undefined;\n return ;\n }\n };\n var schedule = function (x) {\n var time = Date.now() | 0;\n lastArg.contents = Caml_option.some(x);\n lastCallTime.contents = time;\n timerId.contents = Caml_option.some(setTimeout(timerExpired, wait));\n };\n var scheduled = function () {\n return timerId.contents !== undefined;\n };\n var cancel = function () {\n var timerId$p = timerId.contents;\n if (timerId$p !== undefined) {\n clearTimeout(Caml_option.valFromOption(timerId$p));\n timerId.contents = undefined;\n lastArg.contents = undefined;\n lastCallTime.contents = undefined;\n return ;\n }\n \n };\n var invoke = function (x) {\n cancel();\n fn(x);\n };\n return {\n invoke: invoke,\n schedule: schedule,\n scheduled: scheduled,\n cancel: cancel\n };\n}\n\nfunction make(wait, fn) {\n return makeControlled(wait, fn).schedule;\n}\n\nexport {\n make ,\n makeControlled ,\n}\n/* No side effect */\n"],"names":["NotificationManager","success","message","title","timeout","ReactNotifications","error","checkboxRightMargin","checkboxRow","column","docUploadDescription","docUploadSection","docUploadTitle","documentRow","elongated","errorLabel","errorMessage","expanded","field","fieldRow","fieldWithUnit","flex","flexColumn","flexContainerDoc","gap1","gap2","gap3","gap4","gap5","geographicalRegionsDescription","geographicalRegionsSection","geographicalRegionsTitle","iconView","input","inputWithUnitUnit","inputWithUnitUnitContainer","inputWithUnitValue","inputWithUnitValueContainer","justified","label","moderate","radioButton","radioButtonLabel","radioButtonsRow","requiredLabel","row","selectWrapper","subHeading","tooltipAndHeadingWrapper","tooltipDescription","unfilled","unitSelectWrapper","uploadDocumentButton","uploader","css","CreateBareMetalProjectConfigurationScss","domId","at","String","remove","x","index","Belt_Array","param","idx","toggle","visibility","Visibility","validate","form","configurations","ix","blurConfigurationStartDate","results","configurationStartDateResult","isValid","result","undefined","TAG","persistDraft","Debounce","$$Promise","Api","$$Notification","SentryLogger","rootModule","subModulePath","hd","tl","value","fullPath","_0","submitForm","data","context","onFailure","Url","Routes_Project","Provider","newSelector","projectId","editSelector","saveDraftProjectAndContinueLater","cancelCreation","make","props","tmp","tmp$3","tmp$4","userLoginStatus","mobile","options","initialInput","React","CreateBareMetalProjectConfigurationForm","empty","match","toggleSignInModal","signInModal","output","notifyOnFailure","initialState","data$1","panelsVisibility","match$1","Hooks","state","action","_1","addConfiguration","dispatch","tmp$1","match$3","status","submit","projectStatus","JsxRuntime","SignInModalContainer","close","callback","$$new","setUserData","subTitle","ProjectWizard","children","className","configurationIndex","configuration","tmp$2","domId$1","domId$2","result$1","configurationContractLengthResult","tmp$5","tmp$6","domId$3","estimatedServersDomId","result$2","configurationEstimatedServersResult","tmp$7","tmp$8","domId$4","estimatedBudgetDomId","result$3","configurationEstimatedBudgetResult","tmp$9","result$4","configurationRegionsResult","tmp$10","result$5","configurationOperatingSystemsResult","ProjectWizardPanel","Label","forId","Cx","DatePicker","id","Belt_Option","startDate","prim","fromMonth","Caml_option","AddDays","Date","disabledDays","from","to","onDayChange","date","param$1","updateConfigurationStartDate","update","key","contractLength","estimatedServers","estimatedBudget","regions","operatingSystems","onHide","Select","cl","wrapperClassName","iconSize","iconColor","onChange","$$event","contractLengths","Belt_Int","ReactForm","updateConfigurationContractLength","onBlur","blurConfigurationContractLength","TextField","blurConfigurationEstimatedServers","n","value$1","updateConfigurationEstimatedServers","estimatedBudgets","updateConfigurationEstimatedBudget","blurConfigurationEstimatedBudget","P","items","region","domId$5","Checkbox","size","checked","Belt_SetString","containerClassName","checkbox","updateConfigurationRegions","blurConfigurationRegions","operatingSystem","updateConfigurationOperatingSystems","blurConfigurationOperatingSystems","Char","toggleVisibility","deleteControl","length","removeConfiguration","Button","color","onClick","ProjectWizardNavigation","stepLabel","controls","next","previous","continueLater","decoder","Json_Decode$JsonCombinators","required","ContractLength","Options","fromJson","json","Belt_Result","Json$JsonCombinators","$$default","railsContext","options$1","CreateBareMetalProjectConfigurationData","projectId$1","Project","configurations$1","inputDecoder","railsContext$1","RailsContext","fromString","CreateBareMetalProjectConfiguration","reduxfunction","CreateBareMetalProjectConfigurationContainer","connect","userData","_ref","_objectWithoutProperties","_excluded","ReduxProvider","bareMetalConfigurations","mdash","times","Middot","style","padding","RightArrow","LeftArrow","transform","RightCaret","Ampersand","usePrevious","v","current","useReducer","reducer","fullState","sideEffects","contents","fn","useScreenSize","setScreenSize","mediaQueries","query","Screens","listeners","window","matchMedia","findIndex","matches","unsubscribeListeners","mq","handler","addListener","removeListener","listener","Dom","onEsc","onSpaceOrEnter","onComma","target","handle","path","defaultPrevented","button","altKey","ctrlKey","metaKey","shiftKey","preventDefault","Link","href","__x","busy","colorClear","colorDarkerGray","colorGhostClear","colorGhostPink","colorGhostPrimary","colorGhostRed","colorGhostRedDarker","colorGhostTeal","colorGray","colorOrange","colorPink","colorPrimary","colorRed","colorRedDarker","colorTeal","colorWhite","iconSuffixComponent","marginLeft","marginRight","sizeLg","sizeMd","sizeSm","sizeXs","visuallyDisabled","wrapper","ButtonScss","wrapperClassNameMaker","margin","buttonClassNameMaker","ghost","buttonClassNameOpt","buttonClassName","colorGhostOrange","spinnerSize","spinnerColor","AsLink","__buttonClassName","__className","__visuallyDisabled","__expanded","__ghost","Router","AsNativeLink","targetBlank","rel","__submit","__busy","__disabled","disabled","type","Spinner","centered","smMq","mdMq","lgMq","smallSlider","small","medium","large","makeControlled","waitOpt","wait","timerId","lastArg","lastCallTime","timerExpired","timerId$1","clearTimeout","time","now","lastCallTime$1","timeSinceLastCall","shouldCall","call","setTimeout","remainingWait","cancel","timerId$p","invoke","schedule","scheduled"],"sourceRoot":""}