{"version":3,"file":"static/chunks/8421-4ac7bac9b009be9d.js","mappings":"mGAiIA,SAAAA,EAAAC,CAAA,CAAAC,CAAA,EACAA,CAAAA,MAAAA,GAAAA,EAAAD,EAAAE,MAAA,GAAAD,CAAAA,EAAAD,EAAAE,MAAA,EAEA,QAAAC,EAAA,EAAAC,EAAA,MAAAH,GAAyCE,EAAAF,EAASE,IAAAC,CAAA,CAAAD,EAAA,CAAAH,CAAA,CAAAG,EAAA,CAElD,OAAAC,CACA,CCxHA,SAASC,EAAOC,CAAA,CAAAC,CAAA,EAChB,IAAAC,EAAAC,OAAAD,IAAA,CAAAF,GAEA,GAAAG,OAAAC,qBAAA,EACA,IAAAC,EAAAF,OAAAC,qBAAA,CAAAJ,GACAC,GAAAI,CAAAA,EAAAA,EAAAC,MAAA,UAAAC,CAAA,EACA,OAAAJ,OAAAK,wBAAA,CAAAR,EAAAO,GAAAE,UAAA,EACK,EACLP,EAAAQ,IAAA,CAAAC,KAAA,CAAAT,EAAAG,EACA,CAEA,OAAAH,CACA,CAEA,SAASU,EAAcC,CAAA,EACvB,QAAAhB,EAAA,EAAkBA,EAAAiB,UAAAlB,MAAA,CAAsBC,IAAA,CACxC,IAAAkB,EAAAD,MAAAA,SAAA,CAAAjB,EAAA,CAAAiB,SAAA,CAAAjB,EAAA,GAEAA,CAAAA,EAAA,EACME,EAAOI,OAAAY,GAAA,IAAAC,OAAA,UAAAC,CAAA,MAlCWC,EAAAA,EAmCDH,CAAA,CAAAE,EAAA,CAlCvBA,KAkCuBJ,EAjCvBV,OAAAgB,cAAA,CAiCuBN,EAAAI,EAjCvB,CACAC,MAAAA,EACAT,WAAA,GACAW,aAAA,GACAC,SAAA,EACA,GAEAC,CAAA,CA0BuBL,EA1BvB,CAAAC,CA2BA,GACMf,OAAAoB,yBAAA,CACNpB,OAAAqB,gBAAA,CAAAX,EAAAV,OAAAoB,yBAAA,CAAAR,IAEMhB,EAAOI,OAAAY,IAAAC,OAAA,UAAAC,CAAA,EACbd,OAAAgB,cAAA,CAAAN,EAAAI,EAAAd,OAAAK,wBAAA,CAAAO,EAAAE,GACA,EAEA,CAEA,OAAAJ,CACA,CAcA,SAAAY,EAAAC,CAAA,EACA,gBAAAC,IAGA,QAFAC,EAAA,KAEAC,EAAAf,UAAAlB,MAAA,CAAAkC,EAAA,MAAAD,GAAAE,EAAA,EAA2EA,EAAAF,EAAeE,IAC1FD,CAAA,CAAAC,EAAA,CAAAjB,SAAA,CAAAiB,EAAA,CAGA,OAAAD,EAAAlC,MAAA,EAAA8B,EAAA9B,MAAA,CAAA8B,EAAAf,KAAA,MAAAmB,GAAA,WACA,QAAAE,EAAAlB,UAAAlB,MAAA,CAAAqC,EAAA,MAAAD,GAAAE,EAAA,EAAiFA,EAAAF,EAAeE,IAChGD,CAAA,CAAAC,EAAA,CAAApB,SAAA,CAAAoB,EAAA,CAGA,OAAAP,EAAAhB,KAAA,CAAAiB,EAAA,GAAAO,MAAA,CAAAL,EAAAG,GACA,CACA,CACA,CAEA,SAAAG,EAAAlB,CAAA,EACA,WAAWmB,QAAA,CAAAC,IAAA,CAAApB,GAAAqB,QAAA,UACX,CAMA,SAAAC,EAAAtB,CAAA,EACA,yBAAAA,CACA,kCA8CA,IEvIcQ,EHqFdhC,ECkDA+C,EAAAhB,EAfA,SAAAiB,CAAA,CAAAC,CAAA,EACA,YAAAD,CAAA,CAAAC,EAAA,EAAAD,EAAA,QACA,GAEA,CACAE,kBAAA,4BACAC,YAAA,oCACAC,eAAA,6CACAC,YAAA,4CACAC,aAAA,qCACAC,aAAA,gCACAC,WAAA,gDACAC,YAAA,iGACA,2DACA,KAvCA,SAAAC,CAAA,CAAAC,CAAA,EAKA,OAJAjB,EAAAiB,IAAAZ,EAAA,cACAtC,OAAAD,IAAA,CAAAmD,GAAAC,IAAA,UAAAC,CAAA,EACA,OANApD,OAAAqD,SAAA,CAAAC,cAAA,CAAAnB,IAAA,CAM0Bc,EAAAG,EAC1B,IAAGd,EAAA,eACHY,CACA,IAEA,SAAAK,CAAA,EACAlB,EAAAkB,IAAAjB,EAAA,eACA,IAEA,SAAAkB,CAAA,EACAnB,EAAAmB,IAAAvB,EAAAuB,IAAAlB,EAAA,eACAL,EAAAuB,IAAAxD,OAAAyD,MAAA,CAAAD,GAAAL,IAAA,UAAAO,CAAA,EACA,OAAArB,EAAAqB,EACA,IAAGpB,EAAA,eACH,IAEA,SAAAW,CAAA,EACAA,GAAAX,EAAA,qBACAL,EAAAgB,IAAAX,EAAA,eAhCAtC,OAAAD,IAAA,CAiCAkD,GAjCAxD,MAAA,EAiCA6C,EAAA,iBACA,EAoDA,SAAAqB,EAAAC,CAAA,CAAAC,CAAA,EACA,OAAAxB,EAAAwB,GAAAA,EAAAD,EAAAE,OAAA,EAAAD,CACA,CAEA,SAAAE,EAAAH,CAAA,CAAAV,CAAA,EAEA,OADAU,EAAAE,OAAA,CAAkBrD,EAAeA,EAAc,GAAGmD,EAAAE,OAAA,EAAAZ,GAClDA,CACA,CAEA,SAAAc,EAAAJ,CAAA,CAAAJ,CAAA,CAAAN,CAAA,EAMA,OALAb,EAAAmB,GAAAA,EAAAI,EAAAE,OAAA,EAAA9D,OAAAD,IAAA,CAAAmD,GAAArC,OAAA,UAAAuC,CAAA,EACA,IAAAa,EAEA,cAAAA,CAAAA,EAAAT,CAAA,CAAAJ,EAAA,GAAAa,KAAA,IAAAA,EAAA,OAAAA,EAAA9B,IAAA,CAAAqB,EAAAI,EAAAE,OAAA,CAAAV,EAAA,CACA,GACAF,CACA,CI/ImBgB,CF3CL3C,EEiCd,SAAmBgB,CAAA,CAAAC,CAAA,EACnB,YAAAD,CAAA,CAAAC,EAAA,EAAAD,EAAA,QACA,EFlCA,SAAAf,IAGA,QAFAC,EAAA,KAEA0C,EAAAxD,UAAAlB,MAAA,CAAAkC,EAAA,MAAAwC,GAAAC,EAAA,EAAwEA,EAAAD,EAAaC,IACrFzC,CAAA,CAAAyC,EAAA,CAAAzD,SAAA,CAAAyD,EAAA,CAGA,OAAAzC,EAAAlC,MAAA,EAAA8B,EAAA9B,MAAA,CAAA8B,EAAAf,KAAA,MAAAmB,GAAA,WACA,QAAAD,EAAAf,UAAAlB,MAAA,CAAAqC,EAAA,MAAAJ,GAAAE,EAAA,EAAiFA,EAAAF,EAAeE,IAChGE,CAAA,CAAAF,EAAA,CAAAjB,SAAA,CAAAiB,EAAA,CAGA,OAAAJ,EAAAhB,KAAA,CAAAiB,EAAA,GAAAO,MAAA,CAAAL,EAAAG,GACA,CACA,GEsBiB,CACjBuC,iBAAA,uCACAC,WAAA,+CACA,sEACAC,YAAA,+SACA,GALA,ICzBAC,EAZW,WACX,QAAAL,EAAAxD,UAAAlB,MAAA,CAAAgF,EAAA,MAAAN,GAAAC,EAAA,EAAqEA,EAAAD,EAAaC,IAClFK,CAAA,CAAAL,EAAA,CAAAzD,SAAA,CAAAyD,EAAA,CAGA,gBAAAM,CAAA,EACA,OAAAD,EAAAE,WAAA,UAAAC,CAAA,CAAAC,CAAA,EACA,OAAAA,EAAAD,EACA,EAAKF,EACL,CACA,EETAI,EAAA,CACAtC,KAAA,cACAuC,IAAA,gCACA,EAeAC,EAbA,SAAAC,CAAA,EACA,IAAAC,EAAA,GACAC,EAAA,IAAAC,QAAA,SAAAC,CAAA,CAAAC,CAAA,EACAL,EAAAM,IAAA,UAAAC,CAAA,EACA,OAAAN,EAAAI,EAAAR,GAAAO,EAAAG,EACA,GACAP,EAAA,MAAAK,EACA,GACA,OAAAH,EAAAM,MAAA,YACA,OAAAP,EAAA,EACA,EAAGC,CACH,ECAAO,ETqEAC,SAGApG,CAAA,EACA,GAAAqG,MAAAC,OAAA,CAAAtG,GAAA,OAAAA,CACA,EANAA,ES3EoBuG,CRkLpB,CACAC,OA9CA,SAAA9C,CAAA,EACA,IAAAO,EAAA7C,UAAAlB,MAAA,IAAAkB,KAAAqF,IAAArF,SAAA,IAAAA,SAAA,OACAsF,EAAAhD,GACAgD,EAAAzC,GACA,IAAAI,EAAA,CACAE,QAAAb,CACA,EACAiD,EAAA5E,EAAA0C,GAAAJ,EAAAJ,GACA2C,EAAA7E,EAAAyC,GAAAH,GACAwC,EAAA9E,KAAA2B,GACAoD,EAAA/E,EAAAqC,GAAAC,GAcA,OAZA,WACA,IAAAL,EAAA5C,UAAAlB,MAAA,IAAAkB,KAAAqF,IAAArF,SAAA,IAAAA,SAAA,aAAAiD,CAAA,EACA,OAAAA,CACA,EAEA,OADAqC,EAAA1C,GACAA,EAAAK,EAAAE,OAAA,CACA,EAEA,SAAAD,CAAA,EACAyC,CAnHA,WACA,QAAAnC,EAAAxD,UAAAlB,MAAA,CAAAgF,EAAA,MAAAN,GAAAC,EAAA,EAAqEA,EAAAD,EAAaC,IAClFK,CAAA,CAAAL,EAAA,CAAAzD,SAAA,CAAAyD,EAAA,CAGA,gBAAAM,CAAA,EACA,OAAAD,EAAAE,WAAA,UAAAC,CAAA,CAAAC,CAAA,EACA,OAAAA,EAAAD,EACA,EAAKF,EACL,CACA,GAyGAwB,EAAAC,EAAAC,EAAAC,GAAAxC,EACA,EAEA,CAuBA,GQpLyBkC,MAAA,EACzBQ,OPXA,CACAC,MAAA,CACAC,GAAA,0DACA,CACA,EOQAC,cAAA,GACArB,QAAA,KACAC,OAAA,KACAqB,OAAA,IACA,KTsEAC,SAOArH,CAAA,CAAAG,CAAA,EACA,uBAAAmH,QAAAA,OAAAC,QAAA,IAAA9G,OAAAT,IACA,IAAAwH,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAAlB,KAAAA,EAEA,IACA,QAAAmB,EAAAC,EAAA7H,CAAA,CAAAsH,OAAAC,QAAA,IAA8C,CAAAE,CAAAA,EAAA,CAAAG,EAAAC,EAAAC,IAAA,IAAAC,IAAA,IAC9CP,EAAAxG,IAAA,CAAA4G,EAAApG,KAAA,EAEAgG,IAAAA,EAAAtH,MAAA,EAH6EuH,EAAA,IAK7E,CAAI,MAAAO,EAAA,CACJN,EAAA,GACAC,EAAAK,CACA,QAAI,CACJ,IACAP,GAAAI,MAAAA,EAAA,QAAAA,EAAA,QACA,QAAM,CACN,GAAAH,EAAA,MAAAC,CACA,CACA,CAEA,OAAAH,EACA,EAhCAxH,ESrEmC,ITqEnCiI,SAkCAC,CAAA,CAAAC,CAAA,EACA,GAAAD,GACA,oBAAAA,EAAA,OAAAnI,EAAAmI,ESzGmC,GT0GnC,IAAAE,EAAA3H,OAAAqD,SAAA,CAAAnB,QAAA,CAAAC,IAAA,CAAAsF,GAAAG,KAAA,OAEA,GADA,WAAAD,GAAAF,EAAAI,WAAA,EAAAF,CAAAA,EAAAF,EAAAI,WAAA,CAAAC,IAAA,EACAH,QAAAA,GAAAA,QAAAA,EAAA,OAAA/B,MAAAmC,IAAA,CAAAN,GACA,GAAAE,cAAAA,GAAA,2CAAAK,IAAA,CAAAL,GAAA,OAAArI,EAAAmI,ES7GmC,GT8GnC,EAzCAlI,ESrEmC,ITqEnC0I,WAoDA,4JACA,ISzHAC,EAAAxC,CAAA,IACAyC,EAAAzC,CAAA,IAiEA,SAAA0C,EAAAC,CAAA,EACA,OAAAC,SAAAC,IAAA,CAAAC,WAAA,CAAAH,EACA,CAkBA,SAAAI,EAAAC,CAAA,EACA,IAXAC,EACAN,EAUAzE,EAAAsE,EAAA,SAAAU,CAAA,EAGA,OACArC,OAHAqC,EAAArC,MAAA,CAIAjB,OAHAsD,EAAAtD,MAAA,CAKA,GACAuD,GAnBAF,EAmBA,GAAA3G,MAAA,CAAA4B,EAAA2C,MAAA,CAAAC,KAAA,CAAAC,EAAA,eAlBA4B,EAAAC,SAAAQ,aAAA,WACAH,GAAAN,CAAAA,EAAAM,GAAA,CAAAA,CAAA,EAAAN,GAwBA,OALAQ,EAAAE,MAAA,YACA,OAAAL,GACA,EAEAG,EAAAG,OAAA,CAAApF,EAAA0B,MAAA,CACAuD,CACA,CAMA,SAAAH,IACA,IAAA9E,EAAAsE,EAAA,SAAAe,CAAA,EAIA,OACA1C,OAJA0C,EAAA1C,MAAA,CAKAlB,QAJA4D,EAAA5D,OAAA,CAKAC,OAJA2D,EAAA3D,MAAA,CAMA,GACA4D,EAAAC,OAAAD,OAAA,CAEAA,EAAA3C,MAAA,CAAA3C,EAAA2C,MAAA,EAEA2C,EAAA,mCAAAvC,CAAA,EACAyC,EAAAzC,GACA/C,EAAAyB,OAAA,CAAAsB,EACA,EAAG,SAAA0C,CAAA,EACHzF,EAAA0B,MAAA,CAAA+D,EACA,EACA,CAMA,SAAAD,EAAAzC,CAAA,EACAuB,IAAAvB,MAAA,EACAwB,EAAA,CACAxB,OAAAA,CACA,EAEA,CAeA,IAAA2C,EAAA,IAAAlE,QAAA,SAAAC,CAAA,CAAAC,CAAA,EACA,OAAA6C,EAAA,CACA9C,QAAAA,EACAC,OAAAA,CACA,EACA,KAxIA,WACA,IAAA1B,EAAAsE,EAAA,SAAAqB,CAAA,EAIA,OACA5C,OAJA4C,EAAA5C,MAAA,CAKAD,cAJA6C,EAAA7C,aAAA,CAKArB,QAJAkE,EAAAlE,OAAA,CAMA,GAEA,IAAAzB,EAAA8C,aAAA,EAKA,GAJAyB,EAAA,CACAzB,cAAA,EACA,GAEA9C,EAAA+C,MAAA,CAEA,OADA/C,EAAAyB,OAAA,CAAAzB,EAAA+C,MAAA,EACa3B,EAAcsE,GAG3B,GAAAH,OAAAxC,MAAA,EAAAwC,OAAAxC,MAAA,CAAA6C,MAAA,CAGA,OAFAJ,EAAAD,OAAAxC,MAAA,EACA/C,EAAAyB,OAAA,CAAA8D,OAAAxC,MAAA,EACa3B,EAAcsE,GAGvB9E,EAAO4D,EAAAK,GAAAC,EACX,CAEA,OAAS1D,EAAcsE,EACvB,iCE5EA,SAAAG,IAeA,MAAAA,CAdAA,EAAAzJ,OAAA0J,MAAA,WAAAhJ,CAAA,EACA,QAAAhB,EAAA,EAAoBA,EAAAiB,UAAAlB,MAAA,CAAsBC,IAAA,CAC1C,IAAAkB,EAAAD,SAAA,CAAAjB,EAAA,CAEA,QAAAoB,KAAAF,EACAZ,OAAAqD,SAAA,CAAAC,cAAA,CAAAnB,IAAA,CAAAvB,EAAAE,IACAJ,CAAAA,CAAA,CAAAI,EAAA,CAAAF,CAAA,CAAAE,EAAA,CAGA,CAEA,OAAAJ,CACA,GAEAF,KAAA,MAAAG,UACA,CCdA,IAAAgJ,EAAA,CACAC,QAAA,OACAC,OAAA,OACAC,MAAA,OACAC,eAAA,SACAC,WAAA,QACA,EAUA,IAAAC,EARA,UACAC,QAAAA,CAAA,CACC,EACD,OAAsBC,EAAArB,aAAmB,QACzCsB,MAAAT,CACA,EAAGO,EACH,ECFAG,EAdA,CACAC,QAAA,CACAV,QAAA,OACAW,SAAA,WACAC,UAAA,SACA,EACAC,UAAA,CACAX,MAAA,MACA,EACAY,KAAA,CACAd,QAAA,MACA,CACA,ECJA,SAAAe,EAAA,CACAb,MAAAA,CAAA,CACAD,OAAAA,CAAA,CACAe,cAAAA,CAAA,CACAC,QAAAA,CAAA,CACAtB,KAAAA,CAAA,CACAuB,UAAAA,CAAA,CACAC,aAAAA,CAAA,CACC,EACD,OAAsBZ,EAAArB,aAAmB,WAAYW,EAAQ,CAC7DW,MAAA,CAAa,GAAGC,EAAMC,OAAA,CACtBR,MAAAA,EACAD,OAAAA,CACA,CACA,EAAGkB,GAAA,CAAAH,GAAgDT,EAAArB,aAAmB,CAACmB,EAAO,CAC9EC,QAAAW,CACA,GAAmBV,EAAArB,aAAmB,QACtCkC,IAAAzB,EACAa,MAAA,CAAa,GAAGC,EAAMI,SAAA,CACtB,IAAAG,GAA4BP,EAAMK,IAAA,EAElCI,UAAAA,CACA,GACA,CAEAH,EAAAM,SAAA,EACAnB,MAASoB,IAAAC,SAAmB,EAAE,IAAAC,MAAgB,CAAE,IAAAC,MAAgB,GAAAC,UAAA,CAChEzB,OAAUqB,IAAAC,SAAmB,EAAE,IAAAC,MAAgB,CAAE,IAAAC,MAAgB,GAAAC,UAAA,CACjET,QAAWK,IAAAC,SAAmB,EAAE,IAAAI,OAAiB,CAAE,IAAAF,MAAgB,GAAAC,UAAA,CACnEV,cAAiB,IAAAY,IAAc,CAAAF,UAAA,CAC/BR,UAAa,IAAAO,MAAgB,CAC7BN,aAAgB,IAAAlL,MAAgB,ECpChC,IAAI4L,EAA+B,GAAAtB,EAAAuB,IAAA,EDuCpBf,GEpCfgB,EAJA,SAAiBC,CAAA,EACf,GAAAzB,EAAA0B,SAAA,EAASD,EAAA,GACX,ECKAE,EAPA,SAAAF,CAAA,CAAAG,CAAA,CAAAC,EAAA,IACA,IAAAC,EAAyB,GAAA9B,EAAA+B,MAAA,EAAM,IAC7B,GAAA/B,EAAA0B,SAAA,EAASI,EAAAnI,OAAA,GAAAkI,EAAA,KACXC,EAAAnI,OAAA,GACA,EAAI8H,EAAAG,EACJ,ECPA,SAAAI,IAAA,CAEA,SAAAC,EAAAzF,CAAA,CAAA5F,CAAA,CAAAsL,CAAA,CAAAC,CAAA,EACA,OAIA3F,EAAA6C,MAAA,CAAA+C,QAAA,CAAAC,EAJA7F,EAAA2F,KAQA3F,EAAA6C,MAAA,CAAAiD,WAAA,CARA1L,EAAAsL,EAQAC,GAAAE,EARA7F,EAAA2F,GACA,CAUA,SAAAE,EAAA7F,CAAA,CAAA2F,CAAA,EACA,OAAA3F,EAAA+F,GAAA,CAAAC,KAAA,CAAAL,EACA,CCRA,SAASM,EAAU,CACnBC,SAAAA,CAAA,CACAC,SAAAA,CAAA,CACAT,SAAAA,CAAA,CACAU,iBAAAA,CAAA,CACAC,iBAAAA,CAAA,CAGAC,kBAAAA,CAAA,CACAC,kBAAAA,CAAA,CACAC,yBAAAA,CAAA,CACAC,yBAAAA,CAAA,CACAC,MAAAA,CAAA,CACAxC,QAAAA,CAAA,CACAyC,QAAAA,CAAA,CAGAzD,OAAAA,CAAA,CACAC,MAAAA,CAAA,CACAgB,UAAAA,CAAA,CACAC,aAAAA,CAAA,CAGAwC,YAAAA,CAAA,CACAC,QAAAA,CAAA,CACC,EACD,IAAA5C,EAAA6C,EAAA,CAA4C,GAAAtD,EAAAuD,QAAA,EAAQ,IACpD,CAAAC,EAAAC,EAAA,CAAkD,GAAAzD,EAAAuD,QAAA,EAAQ,IAC1DG,EAAoB,GAAA1D,EAAA+B,MAAA,EAAM,MAC1B4B,EAAoB,GAAA3D,EAAA+B,MAAA,EAAM,MAC1B6B,EAAuB,GAAA5D,EAAA+B,MAAA,EAAM,MAC7B8B,EAAqB,GAAA7D,EAAA+B,MAAA,EAAMsB,GAC3BS,EAAyB,GAAA9D,EAAA+B,MAAA,EAAMqB,GAC7B5B,EAAQ,KACV,IAAAuC,EAAuBC,IAEvB,OADAD,EAAA3I,IAAA,CAAAoB,GAAA,CAAAmH,EAAAhK,OAAA,CAAA6C,CAAA,GAAAiH,EAAA,KAAAQ,KAAA,CAAA/E,GAAA,CAAAA,MAAAA,EAAA,OAAAA,EAAA7G,IAAA,mBAAA6L,QAAAhF,KAAA,iCAAAA,IACA,IAAAwE,EAAA/J,OAAA,CAAAwK,eAkEAC,EAMAC,EATA,IAAAC,EAAAZ,EAAA/J,OAAA,CAAAyI,QAAA,GAEAY,GAGA,OAAAoB,CAAAA,EAAAE,EAAA5B,QAAA,GAAA0B,KAAA,IAAAA,GAAAA,EAAAG,OAAA,GAGAtB,GAGA,OAAAoB,CAAAA,EAAAC,EAAA3B,QAAA,GAAA0B,KAAA,IAAAA,GAAAA,EAAAE,OAAA,GAGAb,EAAA/J,OAAA,CAAA4K,OAAA,EACA,IA9EAR,EAAAzI,MAAA,EACA,GACEqG,EAAS,KACX,IAAA6C,EAAAd,EAAA/J,OAAA,CAAA8K,iBAAA,GAEAD,EAAAE,SAAA,CAAAf,EAAAhK,OAAA,CAAA0F,MAAA,CAAAsF,YAAA,CAAAC,QAAA,EACAJ,EAAAK,QAAA,CAAAlC,GAEAA,IAAA6B,EAAAM,QAAA,KACAN,EAAAO,YAAA,MACAC,MAAAR,EAAApC,QAAA,GAAA6C,iBAAA,GACAC,KAAAvC,EACAwC,iBAAA,EACA,EAAS,EACTX,EAAAY,YAAA,GAGA,EAAG,CAAAzC,EAAA,CAAAlC,GACDkB,EAAS,KACX+B,EAAA/J,OAAA,CAAAyI,QAAA,GAAAM,QAAA,CAAAmC,QAAA,CAAAnC,EACA,EAAG,CAAAA,EAAA,CAAAjC,GACDkB,EAAS,KACX,IACAe,SAAAA,CAAA,CACAC,SAAAA,CAAA,CACA,CAAMe,EAAA/J,OAAA,CAAAyI,QAAA,GACNuB,EAAAhK,OAAA,CAAA0F,MAAA,CAAAgG,gBAAA,CAAA3C,EAAAE,GAAAV,GACAyB,EAAAhK,OAAA,CAAA0F,MAAA,CAAAgG,gBAAA,CAAA1C,EAAAE,GAAAX,EACA,EAAG,CAAAA,EAAAU,EAAAC,EAAA,CAAApC,GACDkB,EAAS,KACXgC,EAAAhK,OAAA,CAAA0F,MAAA,CAAAiG,QAAA,CAAApC,EACA,EAAG,CAAAA,EAAA,CAAAzC,GACDkB,EAAS,KACX+B,EAAA/J,OAAA,CAAA4L,aAAA,CAAApC,EACA,EAAG,CAAAA,EAAA,CAAA1C,GACH,IAAA+E,EAAoB,GAAAxF,EAAAyF,WAAA,EAAW,KAC/B3B,EAAAnK,OAAA,CAAAgK,EAAAhK,OAAA,EACA,IAAA+L,EAA0BzD,EAAgB0B,EAAAhK,OAAA,CAAA+I,EAAAE,GAAAV,EAAAY,GAC1C6C,EAA0B1D,EAAgB0B,EAAAhK,OAAA,CAAAgJ,EAAAE,GAAAX,EAAAa,GAC1CW,EAAA/J,OAAA,CAAAiM,QAAA,EACAlD,SAAAgD,EACA/C,SAAAgD,CACA,EACA,EAAG,CAAAzD,EAAAS,EAAAE,EAAAH,EAAAE,EAAAE,EAAAC,EAAA,EACH8C,EAAuB,GAAA7F,EAAAyF,WAAA,EAAW,KAClC/B,EAAA/J,OAAA,CAAAgK,EAAAhK,OAAA,CAAA0F,MAAA,CAAAyG,gBAAA,CAAAlC,EAAAjK,OAAA,EACAoM,gBAAA,GACA,GAAA5C,CAAA,GAEAqC,IACA7B,EAAAhK,OAAA,CAAA0F,MAAA,CAAAiG,QAAA,CAAApC,GACAI,EAAA,GACA,EAAG,CAAAH,EAAAD,EAAAsC,EAAA,QACD,GAAAxF,EAAA0B,SAAA,EAAS,KACXjB,GACAoD,EAAAlK,OAAA,CAAA+J,EAAA/J,OAAA,CAAAgK,EAAAhK,OAAA,CAEA,EAAG,CAAA8G,EAAA,EACD,GAAAT,EAAA0B,SAAA,EAAS,KACX,GAAAjB,GAAAoF,GACA,EAAG,CAAArC,EAAA/C,EAAAoF,EAAA,EAoBmB7F,EAAArB,aAAmB,CJvH1B2C,EIuH0C,CACzD3B,MAAAA,EACAD,OAAAA,EACAe,cAAAA,EACAC,QAAAA,EACAtB,KAAAwE,EACAjD,UAAAA,EACAC,aAAAA,CACA,EACA,CAEA6B,EAAU3B,SAAA,EACV4B,SAAY,IAAAxB,MAAgB,CAC5ByB,SAAY,IAAAzB,MAAgB,CAC5BgB,SAAY,IAAAhB,MAAgB,CAC5B0B,iBAAoB,IAAA1B,MAAgB,CACpC2B,iBAAoB,IAAA3B,MAAgB,CAGpC4B,kBAAqB,IAAA5B,MAAgB,CACrC6B,kBAAqB,IAAA7B,MAAgB,CACrC8B,yBAA4B,IAAA3B,IAAc,CAC1C4B,yBAA4B,IAAA5B,IAAc,CAC1C6B,MAAS,IAAAhC,MAAgB,CACzBR,QAAWK,IAAAC,SAAmB,EAAE,IAAAI,OAAiB,CAAE,IAAAF,MAAgB,GACnEiC,QAAW,IAAAzN,MAAgB,CAG3BiK,MAASoB,IAAAC,SAAmB,EAAE,IAAAC,MAAgB,CAAE,IAAAC,MAAgB,GAChExB,OAAUqB,IAAAC,SAAmB,EAAE,IAAAC,MAAgB,CAAE,IAAAC,MAAgB,GACjEP,UAAa,IAAAO,MAAgB,CAC7BN,aAAgB,IAAAlL,MAAgB,CAGhC0N,YAAe,IAAA4C,IAAc,CAC7B3C,QAAW,IAAA2C,IAAc,EAEzBvD,EAAUwD,YAAA,EACV/C,MAAA,QACAxC,QAAA,aACAyC,QAAA,GACAH,yBAAA,GACAC,yBAAA,GAGAtD,MAAA,OACAD,OAAA,OACAkB,aAAA,GAGAwC,YAAepB,EACfqB,QAAWrB,CACX,EGtKA,IAAAkE,EARA,SAAAtP,CAAA,EACA,IAAAiK,EAAc,GAAAb,EAAA+B,MAAA,IAId,MAHE,GAAA/B,EAAA0B,SAAA,EAAS,KACXb,EAAAlH,OAAA,CAAA/C,CACA,EAAG,CAAAA,EAAA,EACHiK,EAAAlH,OAAA,ECEA,IAAAwM,EAAA,IAAAC,IAEA,SAAAC,EAAA,CACAC,aAAAA,CAAA,CACAC,gBAAAA,CAAA,CACAC,YAAAA,CAAA,CACA5P,MAAAA,CAAA,CACAsL,SAAAA,CAAA,CACAC,KAAAA,CAAA,CAGAe,MAAAA,CAAA,CACAuD,KAAAA,CAAA,CACA/F,QAAAA,CAAA,CACAyC,QAAAA,CAAA,CACAuD,iBAAAA,CAAA,CACAC,cAAAA,CAAA,CACAC,iBAAAA,CAAA,CAGAjH,MAAAA,CAAA,CACAD,OAAAA,CAAA,CACAiB,UAAAA,CAAA,CACAC,aAAAA,CAAA,CAGAwC,YAAAA,CAAA,CACAC,QAAAA,CAAA,CACAwD,SAAAA,CAAA,CACAC,WAAAA,CAAA,CACC,EACD,IAAArG,EAAA6C,EAAA,CAA4C,GAAAtD,EAAAuD,QAAA,EAAQ,IACpD,CAAAC,EAAAC,EAAA,CAAkD,GAAAzD,EAAAuD,QAAA,EAAQ,IAC1DI,EAAoB,GAAA3D,EAAA+B,MAAA,EAAM,MAC1B2B,EAAoB,GAAA1D,EAAA+B,MAAA,EAAM,MAC1B6B,EAAuB,GAAA5D,EAAA+B,MAAA,EAAM,MAC7B8B,EAAqB,GAAA7D,EAAA+B,MAAA,EAAMsB,GAC3BS,EAAyB,GAAA9D,EAAA+B,MAAA,EAAMqB,GAC/B2D,EAA0B,GAAA/G,EAAA+B,MAAA,EAAM,MAChCiF,EAAmB,GAAAhH,EAAA+B,MAAA,EAAMnL,GACzBqQ,EAAuBf,EAAW/D,GAClC+E,EAA0B,GAAAlH,EAAA+B,MAAA,EAAM,IAC9BP,EAAQ,KACV,IAAAuC,EAAuBC,IAEvB,OADAD,EAAA3I,IAAA,CAAAoB,GAAA,CAAAmH,EAAAhK,OAAA,CAAA6C,CAAA,GAAAiH,EAAA,KAAAQ,KAAA,CAAA/E,GAAA,CAAAA,MAAAA,EAAA,OAAAA,EAAA7G,IAAA,mBAAA6L,QAAAhF,KAAA,iCAAAA,IACA,SAwGAiI,EAOAC,SA/GA1D,EAAA/J,OAAA,MA0GA,OAAAwN,CAAAA,EAAAJ,EAAApN,OAAA,GAAAwN,KAAA,IAAAA,GAAAA,EAAA5C,OAAA,GAEAqC,EACAD,GAAAR,EAAAkB,GAAA,CAAAlF,EAAAuB,EAAA/J,OAAA,CAAAgN,aAAA,IAIA,OAAAS,CAAAA,EAAA1D,EAAA/J,OAAA,CAAAyI,QAAA,KAAAgF,KAAA,IAAAA,GAAAA,EAAA7C,OAAA,GAGAb,EAAA/J,OAAA,CAAA4K,OAAA,IApHAR,EAAAzI,MAAA,GACA,GACEqG,EAAS,KACX,IAAA2F,EAAkBrF,EAAgB0B,EAAAhK,OAAA,CAAA2M,GAAA1P,EAAA2P,GAAArE,EAAAC,GAElCmF,IAAA5D,EAAA/J,OAAA,CAAAyI,QAAA,KACAuE,GAAAR,EAAAkB,GAAA,CAAAJ,EAAAvD,EAAA/J,OAAA,CAAAgN,aAAA,IACAjD,EAAA/J,OAAA,CAAAiM,QAAA,CAAA0B,GACAX,GAAAjD,EAAA/J,OAAA,CAAA4N,gBAAA,CAAApB,EAAAqB,GAAA,CAAArF,IAEA,EAAG,CAAAA,EAAA,CAAA1B,GACDkB,EAAS,KACX+B,EAAA/J,OAAA,CAAA4L,aAAA,CAAApC,EACA,EAAG,CAAAA,EAAA,CAAA1C,GACDkB,EAAS,KACX+B,EAAA/J,OAAA,CAAA+K,SAAA,CAAAf,EAAAhK,OAAA,CAAA0F,MAAA,CAAAsF,YAAA,CAAAC,QAAA,EACAlB,EAAA/J,OAAA,CAAAkL,QAAA,CAAAjO,GAEAA,IAAA8M,EAAA/J,OAAA,CAAAmL,QAAA,KACApB,EAAA/J,OAAA,CAAAoL,YAAA,MACAC,MAAAtB,EAAA/J,OAAA,CAAAyI,QAAA,GAAA6C,iBAAA,GACAC,KAAAtO,EACAuO,iBAAA,EACA,EAAS,EACTzB,EAAA/J,OAAA,CAAAyL,YAAA,GAGA,EAAG,CAAAxO,EAAA,CAAA6J,GACDkB,EAAS,KACXgC,EAAAhK,OAAA,CAAA0F,MAAA,CAAAgG,gBAAA,CAAA3B,EAAA/J,OAAA,CAAAyI,QAAA,GAAAF,EACA,EAAG,CAAAA,EAAA,CAAAzB,GACDkB,EAAS,KLlEX9F,KAAAA,IKoEoB4K,GACpB/C,EAAA/J,OAAA,CAAA8N,UAAA,CAAAhB,EAEA,EAAG,CAAAA,EAAA,CAAAhG,GACDkB,EAAS,KACXgC,EAAAhK,OAAA,CAAA0F,MAAA,CAAAiG,QAAA,CAAApC,EACA,EAAG,CAAAA,EAAA,CAAAzC,GACH,IAAAoF,EAAuB,GAAA7F,EAAAyF,WAAA,EAAW,KAClC,IAAAyB,EAAAvN,OAAA,EACAmK,EAAAnK,OAAA,CAAAgK,EAAAhK,OAAA,EACA,IAAA+N,EAAAvF,GAAAqE,EACAmB,EAA2B1F,EAAgB0B,EAAAhK,OAAA,CAAA/C,GAAA0P,EAAAC,GAAArE,EAAAwF,EAC3ChE,CAAAA,EAAA/J,OAAA,CAAAgK,EAAAhK,OAAA,CAAA0F,MAAA,CAAAzD,MAAA,CAAAgI,EAAAjK,OAAA,EACA2N,MAAAK,EACA5B,gBAAA,GACA,GAAA5C,CAAA,EACOuD,GACPC,GAAAjD,EAAA/J,OAAA,CAAA4N,gBAAA,CAAApB,EAAAqB,GAAA,CAAAE,IACA/D,EAAAhK,OAAA,CAAA0F,MAAA,CAAAiG,QAAA,CAAApC,GACAI,EAAA,IACA4D,EAAAvN,OAAA,GACA,CACA,EAAG,CAAA2M,EAAAC,EAAAC,EAAA5P,EAAAsL,EAAAC,EAAAgB,EAAAuD,EAAAC,EAAAzD,EAAA,QACD,GAAAlD,EAAA0B,SAAA,EAAS,KACXjB,GACAoD,EAAAlK,OAAA,CAAA+J,EAAA/J,OAAA,CAAAgK,EAAAhK,OAAA,CAEA,EAAG,CAAA8G,EAAA,EACD,GAAAT,EAAA0B,SAAA,EAAS,KACX,GAAAjB,GAAAoF,GACA,EAAG,CAAArC,EAAA/C,EAAAoF,EAAA,EAGHmB,EAAArN,OAAA,CAAA/C,EAEE,GAAAoJ,EAAA0B,SAAA,EAAS,KACX,GAAAjB,GAAAoG,EAAA,CACA,IAAAe,EAAAC,CAEA,QAAAD,CAAAA,EAAAb,EAAApN,OAAA,GAAAiO,KAAA,IAAAA,GAAAA,EAAArD,OAAA,GACAwC,EAAApN,OAAA,QAAAkO,CAAAA,EAAAnE,EAAA/J,OAAA,GAAAkO,KAAA,IAAAA,EAAA,OAAAA,EAAAC,uBAAA,CAAAC,IACAlB,EAAAnD,EAAA/J,OAAA,CAAAmL,QAAA,GAAAiD,EACA,EACA,CACA,EAAG,CAAAtH,EAAAoG,EAAA,EAED,GAAA7G,EAAA0B,SAAA,EAAS,KACX,GAAAjB,EAAA,CACA,IAAAuH,EAAArE,EAAAhK,OAAA,CAAA0F,MAAA,CAAA4I,kBAAA,CAAAC,IACA,IAAAC,EAEA,IAAAC,EAAA,OAAAD,CAAAA,EAAAzE,EAAA/J,OAAA,CAAAyI,QAAA,KAAA+F,KAAA,IAAAA,EAAA,OAAAA,EAAAE,GAAA,CAEA,GAAAD,GACAF,EAAAI,IAAA,CAAAD,GAAAA,EAAAlG,IAAA,GAAAiG,EAAAjG,IAAA,EAEA,CACA,IAAAoG,EAAA5E,EAAAhK,OAAA,CAAA0F,MAAA,CAAAmJ,eAAA,EACAC,SAAAL,CACA,EACAtB,OAAAA,GAAAA,EAAAyB,EACA,CAEA,GACA,WACAP,MAAAA,GAAAA,EAAAzD,OAAA,EACA,CACA,CACA,EAAG,CAAA9D,EAAAqG,EAAA,EAkBmB9G,EAAArB,aAAmB,CRxK1B2C,EQwK0C,CACzD3B,MAAAA,EACAD,OAAAA,EACAe,cAAAA,EACAC,QAAAA,EACAtB,KAAAwE,EACAjD,UAAAA,EACAC,aAAAA,CACA,EACA,CAEAyF,EAAAvF,SAAA,EACAwF,aAAgB,IAAApF,MAAgB,CAChCsF,YAAe,IAAAtF,MAAgB,CAC/BqF,gBAAmB,IAAArF,MAAgB,CACnCtK,MAAS,IAAAsK,MAAgB,CACzBgB,SAAY,IAAAhB,MAAgB,CAC5BiB,KAAQ,IAAAjB,MAAgB,CAGxBgC,MAAS,IAAAhC,MAAgB,CACzBuF,KAAQ,IAAAxF,MAAgB,CACxBP,QAAWK,IAAAC,SAAmB,EAAE,IAAAI,OAAiB,CAAE,IAAAF,MAAgB,GACnEiC,QAAW,IAAAzN,MAAgB,CAC3BgR,iBAAoB,IAAAhR,MAAgB,CACpCiR,cAAiB,IAAAtF,IAAc,CAC/BuF,iBAAoB,IAAAvF,IAAc,CAGlC1B,MAASoB,IAAAC,SAAmB,EAAE,IAAAC,MAAgB,CAAE,IAAAC,MAAgB,GAChExB,OAAUqB,IAAAC,SAAmB,EAAE,IAAAC,MAAgB,CAAE,IAAAC,MAAgB,GACjEP,UAAa,IAAAO,MAAgB,CAC7BN,aAAgB,IAAAlL,MAAgB,CAGhC0N,YAAe,IAAA4C,IAAc,CAC7B3C,QAAW,IAAA2C,IAAc,CACzBa,SAAY,IAAAb,IAAc,CAC1Bc,WAAc,IAAAd,IAAc,EAE5BK,EAAAJ,YAAA,EACA/C,MAAA,QACAxC,QAAA,aACAyC,QAAA,GACAuD,iBAAA,GACAC,cAAA,GACAC,iBAAA,GAGAjH,MAAA,OACAD,OAAA,OACAkB,aAAA,GAGAwC,YAAepB,EACfqB,QAAWrB,EACX8E,WAAc9E,CACd,ECjOA,IAAA0G,EAFyB,GAAA1I,EAAAuB,IAAA,EDqOV8E,sBGvOf,IAAAsC,EAAAC,KAAAC,IAAA,CACAC,EAAAF,KAAAG,GAAA,CAyBAC,EAAAC,OAAA,CAZA,SAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAKA,IAJA,IAAAC,EAAA,GACAhU,EAAAwT,EAAAH,EAAA,CAAAQ,EAAAD,CAAA,EAAAE,CAAAA,GAAA,OACAG,EAAA9N,MAAAnG,GAEAA,KACAiU,CAAA,CAAAF,EAAA/T,EAAA,EAAAgU,EAAA,CAAAJ,EACAA,GAAAE,EAEA,OAAAG,CACA,yBCzBA,IAAAC,EAAgBC,EAAQ,OACxBC,EAAqBD,EAAQ,OAC7BE,EAAeF,EAAQ,MA2BvBT,CAAAA,EAAAC,OAAA,CAlBA,SAAAI,CAAA,EACA,gBAAAH,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAaA,OAZAA,GAAA,iBAAAA,GAAAM,EAAAR,EAAAC,EAAAC,IACAD,CAAAA,EAAAC,EAAAvN,KAAAA,CAAA,EAGAqN,EAAAS,EAAAT,GACAC,KAAAtN,IAAAsN,GACAA,EAAAD,EACAA,EAAA,GAEAC,EAAAQ,EAAAR,GAEAC,EAAAA,KAAAvN,IAAAuN,EAAAF,EAAAC,EAAA,KAAAQ,EAAAP,GACAI,EAAAN,EAAAC,EAAAC,EAAAC,EACA,CACA,yBCgBA,IAAArE,EAAA4E,EA3C0B,QA6C1BZ,CAAAA,EAAAC,OAAA,CAAAjE,yBC7CA,IAAA6E,EAAcJ,EAAQ,MAkCtBT,CAAAA,EAAAC,OAAA,CAJA,SAAAvT,CAAA,CAAAyM,CAAA,CAAAvL,CAAA,EACA,OAAAlB,MAAAA,EAAAA,EAAAmU,EAAAnU,EAAAyM,EAAAvL,EACA,2ECKAkT,EAOAC,EACAC,EACAC,EAVAH,aAZA,SAAAI,EAAAC,CAAA,CAAAC,CAAA,EACA,IAAAC,EAAA,GACA,QAAAC,KAAAH,EAAuBtU,OAAAqD,SAAA,CAAAC,cAAA,CAAAnB,IAAA,CAAAmS,EAAAG,IAAAF,EAAAA,EAAAG,OAAA,CAAAD,IACbD,CAAAA,CAAA,CAAAC,EAAA,CAAAH,CAAA,CAAAG,EAAA,EACV,GAAAH,MAAAA,GAAA,mBAAAtU,OAAAC,qBAAA,CACU,QAAAP,EAAA,EAAA+U,EAAAzU,OAAAC,qBAAA,CAAAqU,GAAqD5U,EAAA+U,EAAAhV,MAAA,CAAcC,IAC7E,EAAA6U,EAAAG,OAAA,CAAAD,CAAA,CAAA/U,EAAA,GAAAM,OAAAqD,SAAA,CAAAsR,oBAAA,CAAAxS,IAAA,CAAAmS,EAAAG,CAAA,CAAA/U,EAAA,GACkB8U,CAAAA,CAAA,CAAAC,CAAA,CAAA/U,EAAA,EAAA4U,CAAA,CAAAG,CAAA,CAAA/U,EAAA,GAElB,OAAA8U,CACA,CASA,SAAArI,IAAA,CAkBA,SAAAyI,EAAAC,CAAA,EACA,SAAAA,GAAA,IAAAC,KAAA,MACA,CACA,SAAAC,EAAAvP,CAAA,EACA,OAAAA,MAAAA,CACA,CAIA,SAAAwP,EAAAxP,CAAA,EACA,OAAAuP,EAAAvP,IAHA,iBAGAA,GAHAyP,MAGAzP,IAAA,iBAAAA,GAAA,CAAA0P,SAAA1P,EACA,CACA,SAAA2P,EAAAC,CAAA,EACA,OAAAA,EAAAC,OAAA,yBAAgC,OAChC,CAoCA,SAAAC,EAAAC,CAAA,CAAAC,CAAA,EACA,SAAAA,GAAAA,CAAAA,EAAA,IAEA,IAAAC,EAAAF,MAAAA,CAAA,IACAG,EAAAD,GAAAD,EAEAG,EAAAJ,CADAA,EAAAA,EAAAF,OAAA,UACAO,KAAA,MAGA,OACAC,cAHAF,CAAA,IAIAG,aAHAH,CAAA,QAIAF,YAAAA,EACAC,YAAAA,CACA,CACA,CAgBA,SAAAK,EAAAR,CAAA,CAAAS,CAAA,CAAAC,CAAA,EAGA,QAFAb,EAAA,GACAc,EAAAD,EAAA,OACAvW,EAAA,EAAoBA,GAAAsW,EAAA,EAAgBtW,IACpC0V,GAAAG,CAAA,CAAA7V,EAAA,EAAAwW,EAEA,OAAAd,CACA,CACA,SAAAe,EAAAf,CAAA,CAAAgB,CAAA,EACA,OAAAxQ,MAAAwQ,EAAA,GAAAC,IAAA,CAAAjB,EACA,CACA,SAAAkB,EAAAC,CAAA,EACA,IAAAC,EAAAD,EAAA,GAEAE,EAAAD,MAAAA,CAAA,WACAC,GACUD,CAAAA,EAAAA,EAAAE,SAAA,KAEV,IAAA1L,EAAAwL,EAAAZ,KAAA,UACAe,EAAA3L,CAAA,IACA4L,EAAA5L,CAAA,IAIA,IAFA4L,CAAAA,EAAAC,OAAAD,EAAA,EAGU,OAAAH,EAAAE,EACVA,EAAAA,EAAAtB,OAAA,SAKA,IAAAyB,EAAA,EAAAF,EACAG,EAAAJ,EAAAlX,MAAA,CAeA,OAdAqX,EAAA,EAGAH,EAAA,KAAAR,EAAA,IAAApD,KAAAiE,GAAA,CAAAF,IAAAH,EAEAG,GAAAC,EAEAJ,GAAAR,EAAA,IAAAW,EAAAC,GAIAJ,EACA,CAAAA,EAAAD,SAAA,GAAAI,IAAA,SAAAH,EAAAD,SAAA,CAAAI,GAEAL,EAAAE,CACA,CAKA,SAAAM,EAAA1B,CAAA,CAAAS,CAAA,CAAAC,CAAA,EAEA,iBAAAvB,OAAA,CAAAa,GACU,OAAAA,EACV,IAAA2B,EAAA,CAAA3B,KAAAA,EAAAb,OAAA,OAAAuB,CAAA,GAAAD,EACAhL,EAAAsK,EAAAC,GACAM,EAAA7K,EAAA6K,aAAA,CACAC,EAAA9K,EAAA8K,YAAA,CACAL,EAAAzK,EAAAyK,WAAA,CACA0B,EAAAC,WAAA,KAAAtB,CAAAA,GAAA,MAEAuB,EAAAC,CADAxB,EAAArW,MAAA,EAAAuW,EAAA,KAAAF,EAAAqB,EAAAI,OAAA,CAAAvB,EAAA,EACAJ,KAAA,MAcA,OAFAH,EAAA,QAXAI,EACAD,KAAA,KACA4B,OAAA,GACAC,MAAA,UAAAC,CAAA,CAAA5T,CAAA,CAAA6T,CAAA,SACA,EAAAlY,MAAA,CAAAkY,EACA,CAAAd,OAAAa,CAAA,KAAAb,OAAA/S,EAAA,EAAA5B,QAAA,GACAwV,EAAAhB,SAAA,GAAAgB,EAAAjY,MAAA,EAEAqE,EAAA4T,CACA,EAAKL,CAAA,KAGLH,CAAAA,EAAA,QAFAnB,EAAAsB,CAAA,QAAArB,EAAAC,EAIA,CAEA,SAAA2B,EAAAC,CAAA,CAAAC,CAAA,EAKA,GAJAD,EAAA9W,KAAA,CAAA8W,EAAA9W,KAAA,CAIA8W,OAAAA,EAAA,CAEA,GAAAA,EAAAE,eAAA,EAEA,IAAA5I,EAAA0I,EAAAE,eAAA,GAGA,OAFA5I,EAAA6I,IAAA,aAAAF,GACA3I,EAAA8I,MAAA,GACA,EACA,QAEA,EAAAC,cAAA,EAAAL,IAAAA,EAAAK,cAAA,EACAL,EAAAM,KAAA,GACAN,EAAAO,iBAAA,CAAAN,EAAAA,GACA,KAGAD,EAAAM,KAAA,GACA,GACA,CACA,CAjNAlE,CADAA,EAGCA,GAAAA,CAAAA,EAAA,KAFD,cACAA,EAAA,aAiNA,IAAAoE,GA5MAnE,EA4MA,SAAAoE,CAAA,CAAAC,CAAA,EAIA,IAHA,IAAA7Y,EAAA,EAAA8Y,EAAA,EACAC,EAAAH,EAAA7Y,MAAA,CACAiZ,EAAAH,EAAA9Y,MAAA,CACA6Y,CAAA,CAAA5Y,EAAA,GAAA6Y,CAAA,CAAA7Y,EAAA,EAAAA,EAAA+Y,GACU/Y,IAEV,KAAA4Y,CAAA,CAAAG,EAAA,EAAAD,EAAA,GAAAD,CAAA,CAAAG,EAAA,EAAAF,EAAA,EACAE,EAAAF,EAAA9Y,GACA+Y,EAAAD,EAAA9Y,GACA8Y,IAEA,OACAzQ,KAAA,CAAgBsL,MAAA3T,EAAA4T,IAAAmF,EAAAD,CAAA,EAChBG,GAAA,CAActF,MAAA3T,EAAA4T,IAAAoF,EAAAF,CAAA,CACd,CACA,EA1NApE,EAAApO,KAAAA,EACA,WAEA,IADA,IAAArE,EAAA,GAAAnC,EAAAmB,UAAAlB,MAAA,CACAD,KAAAmC,CAAA,CAAAnC,EAAA,CAAAmB,SAAA,CAAAnB,EAAA,QAEA,GACAmC,EAAAlC,MAAA,GAAA0U,EAAA1U,MAAA,EACAkC,EAAAiX,KAAA,UAAA7X,CAAA,CAAA0S,CAAA,EAAiD,OAAA1S,IAAAoT,CAAA,CAAAV,EAAA,GACjDW,GAEAD,EAAAxS,EACAyS,EAAAF,EAAA1T,KAAA,QAAAmB,GAEA,GAoNA,SAAAkX,EAAAhB,CAAA,EAEA,OAAA9E,KAAAG,GAAA,CAAA2E,EAAAK,cAAA,CAAAL,EAAAiB,YAAA,CACA,CA0BA,SAAAC,EAAA/N,CAAA,EACA,IAAAgO,EAAAhO,EAAAgO,YAAA,CACAC,EAAAjO,EAAAiO,cAAA,CACAC,EAAAlO,EAAAkO,iBAAA,CACAC,EAAAnO,EAAAmO,mBAAA,CAEA,OAAAH,CAAA,CAAAE,EAAA,GAAAD,CAAA,CAAAE,EAAA,CA0EA,SAAAC,EAAArY,CAAA,CAAA+W,CAAA,CAAAuB,CAAA,CAAAC,CAAA,EACA,IAAAC,EAAAxY,EAAAtB,MAAA,CAGA,GADAqY,EAlHA/E,KAAAyG,GAAA,CAAAzG,KAAAG,GAAA,CAkHA4E,EAAA,GAAAyB,GACAD,SAAAA,EAAA,CACA,KAAAxB,GAAA,IAAAuB,CAAA,CAAAvB,EAAA,EACcA,GAEd,MAAAA,GACcA,CAAAA,EAAAuB,EAAA3E,OAAA,KACd,KACA,CACA,KAAAoD,GAAAyB,GAAA,CAAAF,CAAA,CAAAvB,EAAA,EACcA,IAEdA,EAAAyB,GACczB,CAAAA,EAAAuB,EAAAI,WAAA,KACd,CAIA,OAFA,KAAA3B,GACUA,CAAAA,EAAAyB,CAAA,EACVzB,CACA,CACA,SAAA4B,EAAAT,CAAA,EAEA,QADAU,EAAA/T,MAAAmC,IAAA,EAAmCtI,OAAAwZ,EAAAxZ,MAAA,KAAmCma,GAAA,YAAoB,WAC1Fla,EAAA,EAAAma,EAAAF,EAAAla,MAAA,CAA6CC,EAAAma,EAAQna,IAErDia,CAAA,CAAAja,EAAA,CAAAoa,CAAAA,CAAAlF,CAAAA,EAAAqE,CAAA,CAAAvZ,EAAA,GAAAkV,EAAAqE,CAAA,CAAAvZ,EAAA,KAEA,OAAAia,CACA,CACA,SAAAI,EAAAhZ,CAAA,CAAA0P,CAAA,CAAAuJ,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,EACA,SAAAA,GAAAA,CAAAA,EAAAhO,CAAA,EAEA,IAhUA+H,EACAkG,EA+TAC,GAhUAnG,EAgUA,SAAAnT,CAAA,CAAAiZ,CAAA,EACA,IAAAf,EAAAqB,EAaA,OAZAtF,EAAAjU,IACAuZ,EAAA,GACArB,EAAA,IAIAA,EAFA,iBAAAlY,GAAAiZ,EAEAC,EADAK,EAAA,iBAAAvZ,EAAAuV,EAAAvV,GAAAA,GAKAkZ,EADAK,EAAAJ,EAAAnZ,EAAAiF,KAAAA,IAGA,CAAiBiT,eAAAA,EAAAqB,YAAAA,CAAA,CACjB,EA5UAF,CAFAA,EAAsB,GAAAG,EAAArO,MAAA,EAAMgI,IAE5BpQ,OAAA,CAAAoQ,EAWAsG,CAN0B,EAAAD,EAAArO,MAAA,EAAM,WAEhC,IADA,IAAAvK,EAAA,GAAAnC,EAAAmB,UAAAlB,MAAA,CACAD,KAAAmC,CAAA,CAAAnC,EAAA,CAAAmB,SAAA,CAAAnB,EAAA,CAEA,OAAA4a,EAAAtW,OAAA,CAAAtD,KAAA,CAAA4Z,EAAAzY,EACA,GACAmC,OAAA,EAkUAkH,EAAc,GAAAuP,EAAA7M,QAAA,EAAQ,WACtB,OAAA2M,EAAAtF,EAAAhU,GAAA0P,EAAA1P,EAAAiZ,EACA,GACAvW,EAAAuH,CAAA,IACAyP,EAAAzP,CAAA,IAYA0P,EAAA3Z,EACA4Z,EAAAX,EACAjF,EAAAhU,KACA2Z,EAAAjX,EAAA6W,WAAA,CACAK,EAAA,IAEA,IAAAC,EAAAP,EAAAK,EAAAC,GAIA,MAHI,GAAAJ,EAAAM,OAAA,EAAO,WACXJ,EAAAG,EACA,EAAK,CAAAA,EAAA3B,cAAA,GACL,CAAAxV,EArBA,SAAAmX,CAAA,CAAAE,CAAA,EACAF,EAAA3B,cAAA,GAAAxV,EAAAwV,cAAA,EACAwB,EAAA,CACAxB,eAAA2B,EAAA3B,cAAA,CACAqB,YAAAM,EAAA7Z,KAAA,GAIAoZ,EAAAS,EAAAE,EACA,EAYA,CAGA,SAAAC,EAAAha,CAAA,EACA,OAAAA,EAAAsU,OAAA,cACA,CACA,SAAA2F,EAAAja,CAAA,EACA,OAAAA,CACA,CACA,SAAAka,EAAAC,CAAA,EACA,IAAA1Y,EAAA0Y,EAAA1Y,IAAA,MAA2B,IAAAA,GAAAA,CAAAA,EAAA,QAC3B,IAAA2Y,EAAAD,EAAAC,WAAA,MAAyC,IAAAA,GAAAA,CAAAA,EAAA,SACzC,IAAAC,EAAAF,EAAAE,WAAA,CACAC,EAAAH,EAAAG,UAAA,CACAC,EAAAJ,EAAAI,WAAA,CACArB,EAAAiB,EAAAjB,MAAA,MAA+B,IAAAA,GAAAA,CAAAA,EAAAe,CAAA,EAC/B,IAAAd,EAAAgB,EAAAhB,gBAAA,MAAmD,IAAAA,GAAAA,CAAAA,EAAAa,CAAA,EACnD,IAAAtK,EAAAyK,EAAAzK,YAAA,CACAuJ,EAAAkB,EAAAlB,oBAAA,CACAG,EAAAe,EAAAf,aAAA,CACAoB,EAAAL,EAAAK,SAAA,CACAvK,EAAAkK,EAAAlK,QAAA,MAAmC,IAAAA,GAAAA,CAAAA,EAAA7E,CAAA,EACnC,IAAAqP,EAAAN,EAAAM,SAAA,MAAqC,IAAAA,GAAAA,CAAAA,EAAArP,CAAA,EACrC,IAAAsP,EAAAP,EAAAO,SAAA,MAAqC,IAAAA,GAAAA,CAAAA,EAAAtP,CAAA,EACrC,IAAAuP,EAAAR,EAAAQ,OAAA,MAAiC,IAAAA,GAAAA,CAAAA,EAAAvP,CAAA,EACjC,IAAAwP,EAAAT,EAAAS,MAAA,MAA+B,IAAAA,GAAAA,CAAAA,EAAAxP,CAAA,EAC/B,IAAAyP,EAAAV,EAAAna,KAAA,CACA8a,EAAAX,EAAAW,gBAAA,MAAmD,IAAAA,GAAAA,CAAAA,EAAAnC,CAAA,EACnD,IAAAoC,EAAAZ,EAAAY,qBAAA,MAA6D,IAAAA,GAAAA,CAAAA,EAAAlH,CAAA,EAC7D,IAAAmH,EAAAb,EAAAa,eAAA,CACAC,EAAA3H,EAAA6G,EAAA,0RACAlQ,EAAA+O,EAAA6B,EAAAnL,EAAAqJ,CAAAA,CAAAE,EAAAC,EAAAC,EAAAC,GACA8B,EAAAjR,CAAA,IACAiO,EAAAgD,EAAAhD,cAAA,CACAqB,EAAA2B,EAAA3B,WAAA,CACA4B,EAAAlR,CAAA,IACAmR,EAA2B,GAAA5B,EAAArO,MAAA,EAAM,CAAG+M,eAAAA,EAAAqB,YAAAA,CAAA,GACpC8B,EAAA,SAAA3Y,CAAA,CAAA7C,CAAA,EACAub,EAAArY,OAAA,EAAqCmV,eAAAxV,EAAAwV,cAAA,CAAAqB,YAAA7W,EAAA1C,KAAA,EACrCmb,EAAAzY,EAAA7C,EACA,EACAyb,EAAgB,GAAA9B,EAAA7M,QAAA,EAAQ,IACxB4O,EAAAD,CAAA,IACAE,EAAAF,CAAA,IACAG,EAAqB,GAAAjC,EAAArO,MAAA,EAAM,MAC3BuQ,EAAkB,GAAAlC,EAAArO,MAAA,EAAM,CACxBwQ,gBAAA,KACAC,aAAA,IACA,GACI,GAAApC,EAAA1O,SAAA,EAAS,WAEb,OADA0Q,EAAA,IACA,WACAK,aAAAH,EAAA3Y,OAAA,CAAA4Y,eAAA,EACAE,aAAAH,EAAA3Y,OAAA,CAAA6Y,YAAA,CACA,CACA,EAAK,IACL,IAAAE,EAAA5C,EACA6C,EAAA,SAAA7D,CAAA,CAAAqB,CAAA,EACA,IAAAnD,EAAAC,WAAAkD,GACA,OACArB,eAAAA,EACAlY,MAAAuZ,EACAnD,WAAAlC,MAAAkC,GAAAnR,KAAAA,EAAAmR,CACA,CACA,EACA4F,EAAA,SAAAlF,CAAA,CAAAC,CAAA,CAAAkB,CAAA,EAEAnB,CAAAA,IAAAA,EAAAK,cAAA,EAAAL,EAAAiB,YAAA,GAAAjB,EAAA9W,KAAA,CAAAtB,MAAA,IAKAmY,EAAAC,EAAAC,GACA2E,EAAA3Y,OAAA,CAAA4Y,eAAA,CAAAM,WAAA,WACAnF,EAAA9W,KAAA,GAAAiY,GAAAnB,EAAAK,cAAA,GAAAL,EAAAiB,YAAA,EACAlB,EAAAC,EAAAC,EAEA,EAAS,GACT,EAEAmF,EAAA,SAAAlc,CAAA,CAAA+W,CAAA,CAAAwB,CAAA,EACA,OAAAF,EAAArY,EAAA+W,EAAA+D,EAAA9a,GAAAuY,EACA,EACA4D,EAAA,SAAAC,CAAA,CAAAC,CAAA,CAAAtF,CAAA,EACA,IAAAuF,EAAAxB,EAAAuB,GACAE,EAAAC,SAzOAH,CAAA,CAAAI,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAArE,CAAA,CAAAyC,CAAA,CAOAC,CAAA,EACA,SAAAA,GAAAA,CAAAA,EAAAhD,CAAA,EAMA,IAAA4E,EAAAtE,EAAAuE,SAAA,UAAAC,CAAA,EAAiE,OAAAA,CAAA,GACjEC,EAAAV,EAAAxV,KAAA,GAAA+V,GACAH,GAAAC,EAAAM,UAAA,CAAAD,KACAN,EAAAM,EACAL,EAAAK,EAAAL,EACAC,GAAAI,EAAAre,MAAA,EAOA,QALAue,EAAAP,EAAAhe,MAAA,CACAwe,EAAAb,EAAA3d,MAAA,CAEAye,EAAA,GACAC,EAAA,MAAAH,GACAte,EAAA,EAAoBA,EAAAse,EAActe,IAAA,CAClCye,CAAA,CAAAze,EAAA,IACA,QAAA8Y,EAAA,EAAgDA,EAAhDyF,EAAyDzF,IAQzD,GAAA4F,EAPA,CACApF,aAAAyE,EACArJ,UAAAoJ,EACAvE,eAAAmE,EACAlE,kBAAAxZ,EACAyZ,oBAAAX,CACA,IACA0F,CAAA,IAAAA,CAAA,CAAA1F,EAAA,EACA2F,CAAA,CAAAze,EAAA,CAAA8Y,EACA0F,CAAA,CAAA1F,EAAA,IACA,KACA,CAEA,CAQA,IA7BA,IA4BA6F,EAAAX,EACAW,EAAAL,GAAAG,CAAAA,KAAAA,CAAA,CAAAE,EAAA,GAAAvC,EAAA2B,CAAA,CAAAY,EAAA,IACAA,IAGA,IAAAC,EAAAD,IAAAL,GAAAG,KAAAA,CAAA,CAAAE,EAAA,CAAAJ,EAAAE,CAAA,CAAAE,EAAA,CAEA,IADAA,EAAAX,EAAA,EACAW,EAAA,GAAAF,KAAAA,CAAA,CAAAE,EAAA,EACUA,IACV,IAAAE,EAAAF,KAAAA,GAAAF,KAAAA,CAAA,CAAAE,EAAA,GAAAF,CAAA,CAAAE,EAAA,UAKA,EAAAC,EACUA,EAKVZ,EAAAa,EAAAD,EAAAZ,EAAAa,EAAAD,CACA,EAmKAlB,EAAAnE,EAAAkE,EAAArF,EAAAuF,EAAAvB,EAAAC,GAGA,OADA3C,EAAAgE,EAAAE,EAAAD,EAEA,EACAmB,EAAA,SAAAC,CAAA,EACA,IAAArB,EAAAqB,EAAAxF,cAAA,MAAuD,IAAAmE,GAAAA,CAAAA,EAAA,IACvD,IAAAsB,EAAAD,EAAAC,KAAA,CACA9G,EAAA6G,EAAA7G,gBAAA,MAAwD,IAAAA,GAAAA,CAAAA,EAAA,IACxD,IAAAhX,EAAA6d,EAAA7d,MAAA,CACAsR,EAAAuM,EAAAvM,KAAA,CACAoI,EAAAmE,EAAAnE,WAAA,CACAxC,EAAA2G,EAAA3G,QAAA,CACA,GAAA4G,EAAA,CAEA,GAAA5G,KAAA9R,IAAA8R,GAAAF,EAAA,CACA,IAAAuF,EAAAsB,EAAAtB,UAAA,EAAAuB,EAAA3d,KAAA,CACA4d,EAAA9F,EAAA6F,EAMAA,CAAAA,EAAA3d,KAAA,CAAAqc,EAEAtF,EAAAoF,EAAAC,EAAAC,EAAAuB,EACA,CAKAD,EAAA3d,KAAA,CAAAqc,EAEAxF,GAAAE,KAAA9R,IAAA8R,GAEAiF,EAAA2B,EAAA5G,EAAAsF,EAEA,CACAA,IAAAnE,GAEAmD,EAAAU,EAAAM,EAAA9C,GAAA,CAA6EpI,MAAAA,EAAAtR,OAAAA,CAAA,EAE7E,EAOI,GAAA2Z,EAAA1O,SAAA,EAAS,WACb,IAAAb,EAAAmR,EAAArY,OAAA,CACA0Z,EAAAxS,EAAAiO,cAAA,CACA2F,EAAA5T,EAAAsP,WAAA,CACArB,IAAAuE,GACAvE,CAAAA,IAAAqB,GAAAkD,IAAAoB,CAAA,GACAxC,EAAAU,EAAA7D,EAAAqB,GAAA,CACApI,MAAAlM,KAAAA,EACApF,OAAAqT,EAAAiH,KAAA,EAGA,EAAK,CAAAjC,EAAAqB,EAAA,EAGL,IAAAqE,GAAAnC,EAAA1Y,OAAA,CACA+U,EAAA2D,EAAA1Y,OAAA,EACAkC,KAAAA,EAGA6Y,CADA,oBAAA1V,OAAoEoR,EAAAuE,eAAe,CAAGvE,EAAA1O,SAAS,EAC/F,WACA,IAAA6S,EAAAlC,EAAA1Y,OAAA,CACA,GAAAmV,IAAAkD,EAAArY,OAAA,CAAAmV,cAAA,EAAAyF,EAAA,CACA,IAAA5G,EAAAoF,EAAAf,EAAArY,OAAA,CAAAmV,cAAA,CAAAA,EAAA0F,GAKAD,CAAAA,EAAA3d,KAAA,CAAAkY,EACA8D,EAAA2B,EAAA5G,EAAAmB,EACA,CACA,EAAK,CAAAA,EAAA,EACL,IAAA8F,GAAA,SAAA5B,CAAA,CAAAjL,CAAA,CAAAtR,CAAA,EAEA,IAAAoe,EAAAhf,OAAA0J,MAAA,CAAA1J,OAAA0J,MAAA,IADA2O,EAAAY,EAAAkE,IACuD,CAAkB/I,UAAA6E,CAAA,GACzEgG,EAAA/E,EAAAiD,EAAA6B,GACAE,EAAArC,EAAAoC,GAGA,GADAA,EAAA/E,EAAAgF,EAAAlZ,KAAAA,GACAuV,GAAA,CAAAA,EAAAuB,EAAAoC,EAAAD,IAAA,CAEA,IAAAP,EAAAxM,EAAAxR,MAAA,CAEAoX,EAAAoF,EAAAC,EAAAlE,EADAJ,EAAA6F,IAIA,OAFAA,EAAA3d,KAAA,CAAAkY,EACA8D,EAAA2B,EAAA5G,EAAAmB,GACA,EACA,CAUA,OATAuF,EAAA,CACAvF,eAAAiG,EACA5E,YAAA2E,EACA9B,WAAAA,EACAjL,MAAAA,EACAtR,OAAAA,EACAgX,iBAAA,GACA8G,MAAAxM,EAAAxR,MAAA,GAEA,EACA,EAyGAye,GAAAnf,OAAA0J,MAAA,EAAqC0V,UADrC9C,GA3dA,oBAAA+C,WACA,CAAAA,CAAAA,UAAAC,QAAA,gBAAAtX,IAAA,CAAAqX,UAAAC,QAAA,GA0dA,UAAAtZ,KAAAA,CACqC,EAAsBgW,EAAA,CAC3DxZ,KAAAA,EACAzB,MAAAkY,EACAjI,SA3GA,SAAAuD,CAAA,EAGAwK,GADAlH,EADAnX,MAAA,CACAK,KAAA,CACAwT,EAAAN,EAAA/B,KAAA,GAEclB,EAAAuD,EACd,EAsGAiH,UArGA,SAAAjH,CAAA,EACA,IAKAgL,EALA1H,EAAAtD,EAAA7T,MAAA,CACAI,EAAAyT,EAAAzT,GAAA,CACAoX,EAAAL,EAAAK,cAAA,CACAY,EAAAjB,EAAAiB,YAAA,CACA/X,EAAA8W,EAAA9W,KAAA,CAcA,GAd8B,SAAAA,GAAAA,CAAAA,EAAA,IAG9BD,cAAAA,GAAAA,cAAAA,EACAye,EAAAxM,KAAAG,GAAA,CAAAgF,EAAA,KAEApX,eAAAA,EACAye,EAAAxM,KAAAyG,GAAA,CAAAtB,EAAA,EAAAnX,EAAAtB,MAAA,EAEA,WAAAqB,GACAye,CAAAA,EAAArH,CAAA,EAIAqH,KAAAvZ,IAAAuZ,GAAArH,IAAAY,EAAA,CACA0C,EAAAjH,GACA,MACA,CACA,IAAAiL,EAAAD,CACAze,CAAA,cAAAA,GAAAA,eAAAA,EAEA0e,CAAAA,EAAAvC,EAAAlc,EAAAwe,EADAze,cAAAA,EAAA,eACA,IAEAye,GACAhL,EAAAkL,cAAA,GAGA3e,WAAAA,GAAAgb,EAAA/a,CAAA,CAAAwe,EAAA,EAIA,cAAAze,GAAAgb,EAAA/a,CAAA,CAAAwe,EAAA,GAEAC,CAAAA,EAAAvC,EAAAlc,EAAAwe,EAAA,SAJAC,EAAAvC,EAAAlc,EAAAwe,EAAA,SAMAC,IAAAD,GACAxC,EAAAlF,EAAA2H,EAAAze,GAKAwT,EAAAmL,aAAA,EACA3C,EAAAlF,EAAA2H,EAAAze,GAEAya,EAAAjH,EACA,EAoDAkH,UAlDA,SAAAlH,CAAA,EACA,IAAAsD,EAAAtD,EAAA7T,MAAA,CAKAwX,EAAAL,EAAAK,cAAA,CACAY,EAAAjB,EAAAiB,YAAA,CACA/X,EAAA8W,EAAA9W,KAAA,CACA,GAD8B,SAAAA,GAAAA,CAAAA,EAAA,IAC9BmX,IAAAY,EAAA,CACA,IAAA6G,EAAA1C,EAAAlc,EAAAmX,GACAyH,IAAAzH,GACA6E,EAAAlF,EAAA8H,EAAA5e,EAEA,CACA0a,EAAAlH,EACA,EAmCAmH,QAlCA,SAAAnH,CAAA,EAGAA,EAAAqL,OAAA,EACcrL,EAAAqL,OAAA,GACd,IAAA/H,EAAAtD,EAAA7T,MAAA,CACA8b,EAAA1Y,OAAA,CAAA+T,EACA4E,EAAA3Y,OAAA,CAAA6Y,YAAA,CAAAK,WAAA,WACA,IAAA9E,EAAAL,EAAAK,cAAA,CACAY,EAAAjB,EAAAiB,YAAA,CACA/X,EAAA8W,EAAA9W,KAAA,MAAkC,IAAAA,GAAAA,CAAAA,EAAA,IAClC,IAAA4e,EAAA1C,EAAAlc,EAAAmX,GAEAyH,IAAAzH,GACAA,IAAAA,GAAAY,IAAA/X,EAAAtB,MAAA,EACAsd,EAAAlF,EAAA8H,EAAA5e,GAEA2a,EAAAnH,EACA,EAAS,EACT,EAgBAoH,OAfA,SAAApH,CAAA,EACAiI,EAAA1Y,OAAA,MACA8Y,aAAAH,EAAA3Y,OAAA,CAAA6Y,YAAA,EACAC,aAAAH,EAAA3Y,OAAA,CAAA4Y,eAAA,EACAf,EAAApH,EACA,CAWA,SACA,SAAA4G,EACAE,EAA6Bd,EAAAzR,aAAmB,CAACyR,EAAAsF,QAAc,MAAAxE,EAAApC,EAAA+C,IAAA,MAA4DzB,EAAAzR,aAAmB,QAAA9I,OAAA0J,MAAA,IAAyBsS,EAAA,CAAgBhR,IAAAsQ,CAAA,GAAkBrC,GAEzMmC,EAGeb,EAAAzR,aAAmB,CAFlCsS,EAEkCpb,OAAA0J,MAAA,IAA8ByV,GAAA,CAAgBnU,IAAAsQ,CAAA,IAErEf,EAAAzR,aAAmB,SAAA9I,OAAA0J,MAAA,IAA0ByV,GAAA,CAAgBnU,IAAAsQ,CAAA,GACxE,CAEA,SAAArB,EAAA1E,CAAA,CAAA2F,CAAA,EACA,IA9qBA9F,EACA0K,EACArM,EA4qBAsM,EAAA7E,EAAA6E,YAAA,CACA9J,EAAAiF,EAAAjF,iBAAA,CACA+J,EAAA9E,EAAA8E,MAAA,MAA+B,IAAAA,GAAAA,CAAAA,EAAA,IAC/B,IAAAC,EAAA/E,EAAA+E,MAAA,MAA+B,IAAAA,GAAAA,CAAAA,EAAA,IAC/B,IAAAzK,EAAA0F,EAAA1F,aAAA,CACA0K,EAAAhF,EAAAgF,mBAAA,CAEA,GAFyD,SAAAA,GAAAA,CAAAA,EAAA,YAEzD3K,KAAAA,GAAAA,MAAAA,EACA,OAAAA,EAEA,IAAAvK,EAAAmV,EAAAjF,GACAkF,EAAApV,EAAAoV,iBAAA,CACAC,EAAArV,EAAAqV,gBAAA,CAMAC,EAAA,IAAAP,GAAAxK,KAAAA,EAAAb,OAAA,OAAAqL,GAAA9J,EACAoG,EAAA/G,EAAAC,EAAAC,GACAK,EAAAwG,EAAAxG,aAAA,CACAC,EAAAuG,EAAAvG,YAAA,CACAJ,EAAA2G,EAAA3G,WAAA,CAiBA,OAfA1P,KAAAA,IAAA+Z,GACAjK,CAAAA,EAAAC,EAAAD,EAAAiK,EAAA,EAAA9J,EAAA,EAEAmK,IAzsBAhL,EA0sBAS,EAzsBAiK,EAAAS,SAZAL,CAAA,EACA,OAAAA,GACA,WACA,4CACA,WACA,+BACA,SAEA,+BACA,CACA,EA2sBAA,GAvsBAzM,EAAAA,MADAA,EAAA2B,EAAAoL,MAAA,WACApL,EAAA3V,MAAA,CAAAgU,EAusBAoC,EAtsBAT,EAAAsB,SAAA,GAAAjD,GACA2B,EAAAsB,SAAA,CAAAjD,EAAA2B,EAAA3V,MAAA,EAAA4V,OAAA,CAAAyK,EAAA,KAqsBAM,IAGAJ,GACUnK,CAAAA,EAAAmK,EAAAnK,CAAA,EACVoK,GACUnK,CAAAA,GAAAmK,CAAA,EAEVvK,GACUG,CAAAA,EAAA,IAAAA,CAAA,EACVN,EAAAM,EAAA,IAAAwK,GAAA,IAAAvK,CAEA,CACA,SAAAqK,EAAAjF,CAAA,EACA,IAAAmF,EAAAnF,EAAAmF,gBAAA,MAAmD,IAAAA,GAAAA,CAAAA,EAAA,KACnD,IAAAD,EAAAlF,EAAAkF,iBAAA,CACAK,EAAAvF,EAAAuF,wBAAA,CAOA,MANA,KAAAL,GACAA,CAAAA,EAAA,KAEAK,GACAA,CAAAA,EAAA,CAAAJ,EAAA,MAEA,CACAA,iBAAAA,EACAD,kBAAAA,EACAK,yBAAAA,CACA,CACA,CA2VA,SAAAC,EAAAxF,CAAA,EACA,IA/JAA,EAMA+E,EACAzK,EACAmL,EACAnF,EACAG,EACAyE,EACAL,EACA9J,EACA+J,EACAvP,EACA1P,EACAiZ,EACAG,EACAyG,EAEA5V,EACAqV,EACAI,EACA5D,EACAgE,EACAnG,EAnMAsF,EAqMArF,EAOAmG,EAeAzE,EACA0E,EACAzG,EACArB,EACAmD,EAyGA4E,GA5JA9F,CADAA,EAAA+F,SAnBA/F,CAAA,EACA,IAAAlQ,EAAAmV,EAAAjF,GACAkF,EAAApV,EAAAoV,iBAAA,CACAC,EAAArV,EAAAqV,gBAAA,CAEAL,EAAA9E,EAAA8E,MAAA,MAA+B,IAAAA,GAAAA,CAAAA,EAAA,IAC/B,IAAAxK,EAAA0F,EAAA1F,aAAA,CACA,GAD6C,SAAAA,GAAAA,CAAAA,EAAA,IAC7C4K,IAAAC,EACA,4GAAAD,EAAA,+FAA6KC,EAAA,qDAO7K,OALAL,EAAAjC,UAAA,OAAAvI,IAEAnH,QAAAhF,KAAA,mFAAA2W,EAAA,0BAAAxK,EAAA,UACAA,EAAA,IAEAxV,OAAA0J,MAAA,CAAA1J,OAAA0J,MAAA,IAAyCwR,GAAA,CAAY1F,cAAAA,CAAA,EACrD,EACA0F,EA+JAA,EA7JA,EACAmF,gBAAA,CACAnF,EAAAuF,wBAAA,CACAvF,EAAAgF,mBAAA,CACAD,EAAA/E,EAAA+E,MAAA,CACAzK,EAAA0F,EAAA1F,aAAA,CACAmL,EAAAzF,EAAAyF,iBAAA,CACqC,UAArCnF,EAAAN,EAAAM,SAAA,GAAqCA,CAAAA,EAAArP,CAAA,EACN,UAA/BwP,EAAAT,EAAAS,MAAA,GAA+BA,CAAAA,EAAAxP,CAAA,EAC/BiU,EAAAlF,EAAAkF,iBAAA,CACAL,EAAA7E,EAAA6E,YAAA,CACA9J,EAAAiF,EAAAjF,iBAAA,CAC+B,UAA/B+J,EAAA9E,EAAA8E,MAAA,GAA+BA,CAAAA,EAAA,IAC/BvP,EAAAyK,EAAAzK,YAAA,CACA1P,EAAAma,EAAAna,KAAA,CACAiZ,EAAAkB,EAAAlB,oBAAA,CACAG,EAAAe,EAAAf,aAAA,CACAyG,EAAAvM,EAAA6G,EAAA,uQAGAmF,EAAArV,CADAA,EAAAmV,EAAAjF,IACAmF,gBAAA,CACAI,EAAAzV,EAAAyV,wBAAA,CACA5D,EAAA,SAAAtH,CAAA,EAAsC,OAAA0E,EAAA1E,EAAA2F,EAAA,EACtC2F,EAAA,SAAA1D,CAAA,CAAA6B,CAAA,EAAgE,OAAA9E,SA5LhEnZ,CAAA,CAAAie,CAAA,CAAA9D,CAAA,EAGA,SAAA8D,GAAAA,CAAAA,EAlkBA,CACAjX,KAAA,CACAsL,MAAA,EACAC,IAAA,CACA,EACAqF,GAAA,CACAtF,MAAA,EACAC,IAAAvS,EAAAtB,MAAA,EAEA2U,UAAA,EACA,CAwjBA,EACA,IA7BArT,EAIAmgB,EAEAzL,EAEA0L,EAqBA3L,EAAA0F,EAAA1F,aAAA,CACAwK,EAAA9E,EAAA8E,MAAA,MAA+B,IAAAA,GAAAA,CAAAA,EAAA,IAC/B,IAAAC,EAAA/E,EAAA+E,MAAA,MAA+B,IAAAA,GAAAA,CAAAA,EAAA,IAC/B,IAAAF,EAAA7E,EAAA6E,YAAA,CACAhY,EAAAiX,EAAAjX,IAAA,CACA4Q,EAAAqG,EAAArG,EAAA,CACAtF,EAAAsF,EAAAtF,KAAA,CACAC,EAAAqF,EAAArF,GAAA,CACAtI,EAAAmV,EAAAjF,GACAuF,EAAAzV,EAAAyV,wBAAA,CACAJ,EAAArV,EAAAqV,gBAAA,CACAe,EAAArgB,CAAA,CAAAuS,EAAA,GAAA+M,EAKA,GAAAzL,EAAA7T,IACAA,CAAAA,IAAAif,GAAAjf,IAAAkf,CAAA,GACAjB,KAAAA,EAAA5K,SAAA,CACA,OAAArT,EAGA,GAAAuS,EAAAD,GAAA,GAAAoN,KAAAA,EAAA/L,OAAA,CAAA3T,CAAA,CAAAsS,EAAA,GACA,IAAAgO,EAAAtB,IAAAA,EAAA,GAAAM,EACAtf,EAAAA,EAAA2V,SAAA,GAAArD,GAAAgO,EAAAtgB,EAAA2V,SAAA,CAAArD,EAAA,EAAAtS,EAAAtB,MAAA,CACA,CACA,IAAA6hB,EAAA,SAAAvgB,CAAA,CAAAsS,CAAA,CAAAC,CAAA,EAMA,IAAAmC,EAAA,GACA8L,EAAA,GACAvB,EAAAjC,UAAA,MACAtI,EAAA,GAEA1U,EAAAgd,UAAA,QACAtI,EAAA,GACA8L,EAAA,IAEAtB,EAAAlC,UAAA,OAAAhd,EAAAtB,MAAA,GAAAwgB,EAAAxgB,MAAA,CACAgW,EAAA,GAEA,MAAA1U,CAAA,KACA0U,CAAAA,EAAA,IAEA,IAAA+L,EAAA/L,EAAA,IAUA,OATA8L,GACcC,CAAAA,EAAA,GAEdA,IACAzgB,EAAAA,EAAA2V,SAAA,CAAA8K,GAEAnO,GAAAmO,EACAlO,GAAAkO,GAEA,CAAiBzgB,MAAAA,EAAAsS,MAAAA,EAAAC,IAAAA,EAAAmC,YAAAA,CAAA,CACjB,EACAgM,EAAAH,EAAAvgB,EAAAsS,EAAAC,GACAmC,EAAAgM,EAAAhM,WAAA,CACA1U,EAAA2I,EAAA3I,KAAA,CAAAsS,EAAA3J,EAAA2J,KAAA,CAAAC,EAAA5J,EAAA4J,GAAA,CACA,IAAA+I,EAAAiF,EAAAtC,EAAA5K,SAAA,CAAArM,EAAAsL,KAAA,CAAAtL,EAAAuL,GAAA,EACAoO,EAAArF,EAAAhJ,KAAA,CACAsO,EAAAtF,EAAA/I,GAAA,CACAc,EAAAiI,EAAAtb,KAAA,CAGA6gB,EAAA7gB,EAAA2V,SAAA,CAAArD,EAAAC,EACAvS,CAAAA,EAAAtB,MAAA,EACA2U,EAAA3U,MAAA,EACAiiB,CAAAA,EAAAtN,EAAA3U,MAAA,CAAAwgB,EAAAxgB,MAAA,EAAAkiB,EAAA3B,EAAAvgB,MAAA,GACA,CAAAmiB,CAAAA,GAAA3B,EAAAlC,UAAA,CAAA6D,EAAA,GACA7gB,CAAAA,EAAAqT,CAAA,EAQA,IAAAmK,EAAA,EACAxd,EAAAgd,UAAA,CAAAiC,GACUzB,GAAAyB,EAAAvgB,MAAA,CACV4T,EAAA2M,EAAAvgB,MAAA,EACU8e,CAAAA,EAAAlL,CAAA,EACVtS,EAAAA,EAAA2V,SAAA,CAAA6H,GAEAjL,GAAAiL,EAOA,IAAAD,EAAAvd,EAAAtB,MAAA,CACAoiB,EAAA9gB,EAAAtB,MAAA,CAAAwgB,EAAAxgB,MAAA,CACAsB,EAAA+gB,QAAA,CAAA7B,GACU3B,EAAAuD,EAEVvO,EAAAuO,EACUvD,EAAAhL,EAEVA,EAAAvS,EAAAtB,MAAA,CAAAwgB,EAAAxgB,MAAA,EACU6e,CAAAA,EAAAhL,CAAA,EACVvS,EAAAA,EAAA2V,SAAA,GAAA4H,GArIA,UADAvd,EAwIA0U,EAAA,IAAA1U,EAAAA,IAvIAA,CAAAA,EAAA,IAGAmgB,EAAA,qBAEAzL,EAAAsM,MAAA/Z,IAAA,CAAAjH,GAEAogB,EAAAD,EAAAlZ,IAAA,CAAAjH,GAEAA,EAAAA,EAAAsU,OAAA,UACAI,GAAA,CAAA0L,GA6HA3L,GA5HAzU,CAAAA,EAAA,IAAAA,CAAA,EAgIA,IAAAihB,EAAAjhB,CAFAA,EAAA,CAAAA,CAFAA,EA1HAA,CA0HA,EAEA+T,KAAA,CAzHA,qBAAAK,EAyHAkL,GAzHA,OAyHA,IAAAhK,IAAA,MAEA3B,OAAA,CAAA2L,GAMA4B,EAAA3M,EALAvU,EAAAA,EAAAsU,OAAA,QAAAF,EAAAkL,GAAA,cAAAvL,CAAA,CAAArB,CAAA,EACA,OAAAA,IAAAuO,EAAA,MACA,GAGAxM,GACAK,EAAAoM,EAAApM,aAAA,CACAC,EAAAmM,EAAAnM,YAAA,CACAJ,EAAAuM,EAAAvM,WAAA,CAQA,OANAiD,EAAArF,GAAA,CAAAqF,EAAAtF,KAAA,CAAAtL,EAAAuL,GAAA,CAAAvL,EAAAsL,KAAA,EACAwC,KAAAA,GACAuL,GACA,CAAAhK,WAAAtB,IACA/U,CAAAA,EAAA2U,EAAA,QAEA3U,CACA,EAuDgEoc,EAAA6B,EAAA9D,EAAA,EAChER,EAAA3F,EAAAhU,GAAA0P,EAAA1P,EAEA4Z,EAAAX,MAAAA,EAAAA,GArMAgG,EAqMAA,EAnMA,KAmMAtF,GAjMA,CAAAsF,CAAAA,MAAAA,EAAA,OAAAA,EAAAlL,KAAA,UAAAmL,CAAAA,MAiMAA,EAjMA,OAAAA,EAAAnL,KAAA,0BAiMA4F,GAjMA,CAAAzF,MAAA4B,OAiMA6D,KACA3F,EAAAhU,GAGAgU,EAAAtE,IACAkK,CAAAA,EAAAA,GAAA,iBAAAlK,CAAA,EAHAkK,EAAAA,GAAA,iBAAA5Z,EAsBAuZ,EAAAyG,CADAA,EAAA1E,CADAA,EAAAtC,EAAA+G,CAfAA,EAAA,SAAA/f,CAAA,SACA,EAAAA,GACcA,GACd,iBAAAA,GACAA,CAAAA,EAAAuV,EAAAvV,EAAA,EAMA4Z,GAAA,iBAAAoF,GACA9I,EAAAlW,EAAAgf,EAAAjG,CAAAA,CAAA7D,GAEAlV,CACA,GACAA,GAAA+f,EAAArQ,GAAAqJ,CAAAA,CAAAa,EAAAkC,EAAAgE,EAAA1G,GACA,KACAG,WAAA,CACArB,EAAA8H,EAAA9H,cAAA,CACAmD,EAAAC,CAAA,IAqGArc,OAAA0J,MAAA,CAAA1J,OAAA0J,MAAA,IAAyCkX,GAAA,CAAgB7f,MAAAkY,EAAAe,qBAAA,GAAA8B,sBA9BzD,SAAAoG,CAAA,SACA,IAAA7B,GAEAzL,EAAAsN,EACA,EA2BAnG,gBA1BA,SAAA/Q,CAAA,EACA,IAAAgO,EAAAhO,EAAAgO,YAAA,CACA5E,EAAApJ,EAAAoJ,SAAA,CACA6E,EAAAjO,EAAAiO,cAAA,CACAC,EAAAlO,EAAAkO,iBAAA,CACAC,EAAAnO,EAAAmO,mBAAA,CAEAgJ,EAAAnJ,CAAA,CAAAE,EAAA,CACAkJ,EAAAnJ,CAAA,CAAAE,EAAA,CAOAR,EAAA0J,EADAjO,EAAA4E,GACAL,EAAA,OACA,EAAAO,CAAAA,GAAAP,EAAAtF,KAAA,EACA6F,EAAAP,EAAArF,GAAA,EACAmN,GACAA,EAAAre,QAAA,CAAA+f,EAAA,GACAC,IAAA/B,GAGA8B,IAAAC,CACA,EAEAjI,cAAAiC,EAAAnC,OAAA4C,EAAA3C,iBAAA2G,EAAAhF,iBAAA,SAAA5C,CAAA,MAzLAiC,EACA8E,EACAC,EACAtG,EACAlE,EAIA8D,EAiL6K,OAxL9I,UAA/ByG,EAAA9E,CADAA,EAyL6KA,GAxL7K8E,MAAA,GAA+BA,CAAAA,EAAA,IACA,UAA/BC,EAAA/E,EAAA+E,MAAA,GAA+BA,CAAAA,EAAA,IAC/BtG,EAAA/T,MAAAmC,IAAA,EAAmCtI,OAAAwZ,EAAAxZ,MAAA,KAAmCma,GAAA,YAAoB,WAC1FnE,EAAAwD,MAAAA,CAAA,IAEAU,EAAA2I,IAAA,MAAAtC,EAAAvgB,MAAA,CAAAgW,CAAAA,EAAA,MAEA8D,EAAAN,EAAAxZ,MAAA,CACAka,EAAA2I,IAAA,IAAA/I,EAAA0G,EAAAxgB,MAAA,GAAA8Z,EAAA,GACAI,CA+K6K,EAAiD6B,UArG9N,SAAAjH,CAAA,EACA,IAAAsD,EAAAtD,EAAA7T,MAAA,CACAI,EAAAyT,EAAAzT,GAAA,CACAoX,EAAAL,EAAAK,cAAA,CACAY,EAAAjB,EAAAiB,YAAA,CACA/X,EAAA8W,EAAA9W,KAAA,CAEA,GAF8B,SAAAA,GAAAA,CAAAA,EAAA,IAE9BmX,IAAAY,EAAA,CACA0C,EAAAjH,GACA,MACA,CAEA,cAAAzT,GACAC,MAAAA,CAAA,KACAmX,IAAA8H,EAAAvgB,MAAA,IACA+V,GAEAoC,EAAAC,EAAA,GAGAkI,GAAA9J,IACAnV,cAAAA,GAAAC,CAAA,CAAAmX,EAAA,KAAAmI,GACAzI,EAAAC,EAAAK,EAAA,GACA3D,EAAAkL,cAAA,IAEA,WAAA3e,GAAAC,CAAA,CAAAmX,EAAA,GAAAmI,GACA9L,EAAAkL,cAAA,IAIAgB,CAAAA,MAAAA,EAAA,OAAAA,EAAAre,QAAA,CAAAtB,EAAA,GAAAC,CAAA,CAAAmX,EAAA,GAAAmI,GACAzI,EAAAC,EAAAK,EAAA,GAEA,IAAAqK,EAAAnC,CAAA,IAAAA,EAAA,IAAAA,CAEA,eAAAtf,GAAAC,CAAA,CAAAmX,EAAA,KAAAqK,GACA3K,EAAAC,EAAAK,EAAA,GAEA,WAAApX,GAAAC,CAAA,CAAAmX,EAAA,GAAAqK,GACA3K,EAAAC,EAAAK,EAAA,GAEAsD,EAAAjH,EACA,EA2D8NoH,OA1D9N,SAAApH,CAAA,EACA,IAAAmG,EAAAJ,EAEAI,EAAA5F,KAAA,SACA4F,CAAAA,EAAA,IAGAiG,GACAjG,CAAAA,EAAA8H,SAr+BAjN,CAAA,EACA,IAAAA,EACU,OAAAA,EACV,IAAAkN,EAAAlN,MAAAA,CAAA,IACAkN,GACUlN,CAAAA,EAAAA,EAAAmB,SAAA,GAAAnB,EAAA9V,MAAA,GACV,IAAAkW,EAAAJ,EAAAK,KAAA,MACAC,EAAAF,CAAA,IAAAN,OAAA,gBACAS,EAAAH,CAAA,QACA,OAAA8M,EAAA,QAAA5M,EAAAC,CAAAA,EAAA,IAAAA,EAAA,GACA,EA29BA4E,EAAA,EAGAzE,GAAA8J,GACArF,CAAAA,EAAAzD,EAAAyD,EAAAqF,EAAA9J,EAAA,EAEAyE,IAAAJ,GAEA8B,EAAA,CACAnD,eAFAgB,EAAAS,EAAAQ,GAGAna,MAAA2Z,EACAvD,WAAAC,WAAAsD,EACA,EAAa,CACbxI,MAAAqC,EACA3T,OAAAqT,EAAA/B,KAAA,GAGAyJ,EAAApH,EACA,CAgC8N,IAI9N,OAAWgG,EAAAzR,aAAmB,CAAAmS,EAAAjb,OAAA0J,MAAA,IAAmCsX,GACjE,4FCzpCA,IAAA0B,EAAAC,EAAA,CAAuD,GAAAC,SAAAC,CAAA,EAAa,CACpE/a,KAAA,uBACAgb,OAAA,EACA,8KCkBA,SAAAC,EAAA7H,EAAA,EAA+B,EAE/B,IACA8H,WAAAA,CAAA,CACAC,WAAAA,CAAA,CACA3X,WAAAA,CAAA,CACA4X,UAAAA,CAAA,CACAC,GAAAA,CAAA,CACAxH,OAAAA,CAAA,CACAD,QAAAA,CAAA,CACA,mBAAA0H,CAAA,CACA,CAV2B,GAAAC,EAAAC,CAAA,EAAmBpI,GAW9C,CACAqI,eAAAA,CAAA,CACAC,UAAAC,CAAA,CACAC,YAAAA,CAAA,CACA1S,SAAAA,CAAA,CACA2S,gBAAAA,CAAA,CACA7b,KAAAA,CAAA,CACA/G,MAAAA,CAAA,CACA6iB,SAAAA,CAAA,CACA,aAAAC,CAAA,CACA,kBAAAC,CAAA,CACA,eAAAC,CAAA,CACA,GAAAC,EACA,CAAI9I,EACJ+I,EAAAC,SAxCArkB,CAAA,CAAAskB,EAAA,IACA,IAAAC,EAAApkB,OAAA0J,MAAA,IAAgC7J,GAChC,QAAAiB,KAAAqjB,EACArjB,KAAAsjB,GACA,OAAAA,CAAA,CAAAtjB,EAAA,CAGA,OAAAsjB,CACA,EAgCAJ,EAAA,CACA,aACA,aACA,aACA,YACA,KACA,SACA,UACA,mBACA,EACAK,EAAuB,GAAAC,EAAAC,CAAA,EAAcvT,GACrCwT,EAAqB,GAAAF,EAAAC,CAAA,EAAc5I,GACnC8I,EAAsB,GAAAH,EAAAC,CAAA,EAAc7I,GACpC,CAAAgJ,EAAAC,EAAA,CAA8C,GAAApK,EAAA7M,QAAA,EAAQ,IACtD,CAAAkX,EAAAC,EAAA,CAAkC,GAAAtK,EAAA7M,QAAA,EAAQ,IAC1C,CAAAoX,EAAAC,EAAA,CAAkC,GAAAxK,EAAA7M,QAAA,EAAQ,IAC1C,CAAAsX,EAAAC,EAAA,CAAgC,GAAA1K,EAAA7M,QAAA,EAAQ,IACtC,GAAA6M,EAAA1O,SAAA,EAAS,IACA,GAAAqZ,EAAAC,EAAA,EAAiBR,GACzB,IACH,IAAAS,EAAmB,GAAA7K,EAAArO,MAAA,EAAM,MACzB,CAAAmZ,EAAAC,EAAA,CAAsD,GAAA/K,EAAA7M,QAAA,EAAQ,IAC9D,CAAA6X,EAAAC,EAAA,CAA0C,GAAAjL,EAAA7M,QAAA,EAAQ,EAAA6V,GAClDkC,EAAAhC,KAAA,IAAAA,EACAD,EAAAiC,EAAAhC,EAAA8B,EACAG,EAAuB,GAAAnL,EAAA3K,WAAA,EACvB,IACA,GAAAqT,GAAAD,EAAA,CACA9Q,EAAAuN,cAAA,GACA,MACA,CACAgG,IACAjC,EACAgC,EAAAtT,EAAAxR,MAAA,CAAAilB,OAAA,EAEAH,EAAA7B,EAAAA,GAAAzR,EAAAxR,MAAA,CAAAilB,OAAA,GAGAtB,MAAAA,GAAAA,EAAAnS,EACA,EACA,CACA+Q,EACAD,EACAQ,EACAiC,EACA9B,EACAU,EACA,EAEE,GAAAuB,EAAAC,CAAA,EAAmB,KACrBT,EAAAthB,OAAA,EACAshB,CAAAA,EAAAthB,OAAA,CAAAgiB,aAAA,CAAAhM,CAAAA,CAAA6J,CAAA,CAEA,EAAG,CAAAA,EAAA,EACD,GAAAoC,EAAAC,CAAA,EAAe,KACjBhD,GACA6B,EAAA,GAEA,EAAG,CAAA7B,EAAA6B,EAAA,EACD,GAAAe,EAAAC,CAAA,EAAmB,KACrB,IAAAhO,EAAAuN,EAAAthB,OAAA,CACA+T,CAAAA,MAAAA,EAAA,OAAAA,EAAAoO,IAAA,GAEApO,CAAAA,EAAAoO,IAAA,CAAAC,OAAA,MACAV,EAAA,EAAAjC,EACA,EACA,EAAG,IACH,IAAA4C,EAAAnD,GAAA,CAAAU,EACAlI,EAAoB,GAAAjB,EAAA3K,WAAA,EACpB,IACA,MAAAsC,EAAApR,GAAA,EACAmkB,EAAA,GAEA,EACA,CAAAA,EAAA,EAEAmB,EAAkB,GAAA7L,EAAA3K,WAAA,EAClB,IACA,MAAAsC,EAAApR,GAAA,EACAmkB,EAAA,GAEA,EACA,CAAAA,EAAA,EAEE,GAAAW,EAAAC,CAAA,EAAmB,KACrBT,EAAAthB,OAAA,EAEAshB,EAAAthB,OAAA,CAAA6hB,OAAA,GAAAnC,GAEAgC,EAAAJ,EAAAthB,OAAA,CAAA6hB,OAAA,CAEA,EAAG,CAAAP,EAAAthB,OAAA,GACH,IAAAuiB,GAA2B,GAAA9L,EAAA3K,WAAA,EAC3B,CAAA0W,EAAA,EAAgB,CAAAC,EAAA,OAOhB,EACA,GAAAD,CAAA,CACAtb,IAAAub,EACA,cAAuB,GAAAC,EAAAC,EAAA,EAAQzB,GAC/B,aAAsB,GAAAwB,EAAAC,EAAA,EAAQ3B,GAC9B,eAAwB,GAAA0B,EAAAC,EAAA,EAAQjD,GAChC,aAAsB,GAAAgD,EAAAC,EAAA,EAAQ7B,GAC9B,qBAA8B,GAAA4B,EAAAC,EAAA,EAAQ7B,GAAAF,GACtC,qBAA8B,GAAA8B,EAAAC,EAAA,EAAQ9C,GACtC,gBAAyB,GAAA6C,EAAAC,EAAA,EAAQzD,GACjC,eAAwB,GAAAwD,EAAAC,EAAA,EAAQvD,GAChC,gBAAyB,GAAAsD,EAAAC,EAAA,EAAQxD,GACjC,iBACAyD,YAAqB,GAAAF,EAAAG,EAAA,EAAeL,EAAAI,WAAA,CAnBpC,IACA9B,GACA1S,EAAAuN,cAAA,GAEAwF,EAAA,GACA,GAeAxJ,UAAmB,GAAA+K,EAAAG,EAAA,EAAeL,EAAA7K,SAAA,KAAAwJ,EAAA,KAClC2B,aAAsB,GAAAJ,EAAAG,EAAA,EACtBL,EAAAM,YAAA,CACA,IAAA7B,EAAA,KAEA8B,aAAsB,GAAAL,EAAAG,EAAA,EACtBL,EAAAO,YAAA,CACA,IAAA9B,EAAA,IAEA,GAEA,CACAC,EACAxB,EACAR,EACA4B,EACAF,EACAI,EACAnB,EACAT,EACAD,EACA,EAEA6D,GAAuB,GAAAvM,EAAA3K,WAAA,EACvB,CAAA0W,EAAA,EAAgB,CAAAC,EAAA,SAChB,GAAAtC,CAAA,CACA,GAAAqC,CAAA,CACAtb,IAAW,GAAA+b,EAAAC,EAAA,EAAST,EAAA,IACpBU,GAEA3B,EAAA2B,UAAAA,EAAAC,OAAA,CACA,GACAC,QAAe,GAAAX,EAAAG,EAAA,EAAeL,EAAAa,OAAA,MAC9B,IAAAC,EACA/B,IACA,MAAA+B,CAAAA,EAAAhC,EAAAthB,OAAA,GAAAsjB,EAAAC,KAAA,GACAC,sBAAA,KACA,IAAAC,CACA,OAAAA,CAAAA,EAAAnC,EAAAthB,OAAA,GAAAyjB,EAAApP,KAAA,EAAoEqP,cAAA,IACpE,GAEA,GACA,gBAAuB,GAAAhB,EAAAC,EAAA,EAAQzD,GAC/B,eAAsB,GAAAwD,EAAAC,EAAA,EAAQjD,GAC9B,eAAsB,GAAAgD,EAAAC,EAAA,EAAQvD,EAC9B,GACA,CAAAe,EAAAjB,EAAAQ,EAAAN,EAAAmC,EAAA,EAEAoC,GAAwB,GAAAlN,EAAA3K,WAAA,EACxB,CAAA0W,EAAA,EAAgB,CAAAC,EAAA,OAChB,EACA,GAAAD,CAAA,CACAtb,IAAa,GAAA+b,EAAAC,EAAA,EAAS5B,EAAAmB,GACtB/jB,KAAA,WACAsF,KAAAA,EACA/G,MAAAA,EACAoiB,GAAAA,EACAS,SAAAA,EACA5S,SAAkB,GAAAwV,EAAAG,EAAA,EAAeL,EAAAtV,QAAA,CAAA0U,GACjC/J,OAAgB,GAAA6K,EAAAG,EAAA,EAChBL,EAAA3K,MAAA,CACA6I,EACA,IAAAK,EAAA,KAEAnJ,QAAiB,GAAA8K,EAAAG,EAAA,EACjBL,EAAA5K,OAAA,CACA+I,EACA,IAAAI,EAAA,KAEArJ,UAAmB,GAAAgL,EAAAG,EAAA,EAAeL,EAAA9K,SAAA,CAAAA,GAClC4K,QAAiB,GAAAI,EAAAG,EAAA,EAAeL,EAAAF,OAAA,CAAAA,GAChCsB,SAAApc,EACAqa,QAAAnC,EACAmE,SAAAxB,EACApX,SAAAkU,EACA,aAAAY,EACA,kBAAAC,EACA,eAAAC,EAAAjK,CAAAA,CAAAiK,EAAAb,EACA,mBAAAE,EACA,gBAAAJ,EACA5Y,MAAewd,EAAAC,CAAmB,CAClC,EAEA,CACA/f,EACA/G,EACAoiB,EACAuC,EACAlB,EACAC,EACAjJ,EACA4K,EACA9a,EACAkY,EACA2C,EACAlD,EACAY,EACAC,EACAC,EACAb,EACAE,EACAJ,EACAY,EACA,EAEAkE,GAAwB,GAAAvN,EAAA3K,WAAA,EACxB,CAAA0W,EAAA,EAAgB,CAAAC,EAAA,SAChB,GAAAD,CAAA,CACAtb,IAAAub,EACAG,YAAmB,GAAAF,EAAAG,EAAA,EAAeL,EAAAI,WAAA,CAAAqB,GAClC,gBAAuB,GAAAvB,EAAAC,EAAA,EAAQzD,GAC/B,eAAsB,GAAAwD,EAAAC,EAAA,EAAQjD,GAC9B,eAAsB,GAAAgD,EAAAC,EAAA,EAAQvD,EAC9B,GACA,CAAAM,EAAAR,EAAAE,EAAA,EAaA,OACAtf,MAZA,CACAsf,UAAAA,EACA0B,UAAAA,EACApB,UAAAA,EACAwB,SAAAA,EACAF,UAAAA,EACAnB,gBAAAA,EACAX,WAAAA,EACAC,WAAAA,EACA3X,WAAAA,CACA,EAGAwb,aAAAA,GACAT,iBAAAA,GACAoB,cAAAA,GACAK,cAAAA,GACA7D,UAAAA,CACA,CACA,CACA,SAAA8D,EAAA7V,CAAA,EACAA,EAAAuN,cAAA,GACAvN,EAAA8V,eAAA,EACA,qHE3SA,SAAAC,EAAA/M,CAAA,EACA,MAAyB,GAAAgN,EAAAC,GAAA,EACrBC,EAAAC,CAAM,CAAAC,GAAA,CACV,CACAxe,MAAA,QACAye,QAAA,YACAne,MAAA,CACAkY,KAAA,OACAkG,YAAA,EACAC,OAAA,eACAC,gBAAA,EACA,EACA,GAAAxN,CAAA,CACAyN,SAAgC,GAAAT,EAAAC,GAAA,EAAG,YAAeS,OAAA,sBAClD,EAEA,CACA,SAAAC,EAAA3N,CAAA,EACA,MAAyB,GAAAgN,EAAAC,GAAA,EACrBC,EAAAC,CAAM,CAAAC,GAAA,CACV,CACAxe,MAAA,QACAye,QAAA,YACAne,MAAA,CAAeqe,OAAA,eAAAD,YAAA,GACf,GAAAtN,CAAA,CACAyN,SAAgC,GAAAT,EAAAC,GAAA,EAAG,QAAWW,GAAA,KAAAC,GAAA,IAAAC,GAAA,KAAAC,GAAA,MAC9C,EAEA,CACA,SAAAC,EAAAhO,CAAA,EACA,IAAUyI,gBAAAA,CAAA,CAAAH,UAAAA,CAAA,IAAAQ,EAAA,CAAsC9I,EAEhD,OAAAsI,GAAAG,EAAwD,GAAAuE,EAAAC,GAAA,EACpDC,EAAAC,CAAM,CAAAc,GAAA,CACV,CACA/e,MAAA,CACAR,QAAA,OACAI,WAAA,SACAD,eAAA,SACAF,OAAA,MACA,EACA8e,SAAgC,GAAAT,EAAAC,GAAA,EAVhCxE,EAAAkF,EAAAZ,EAUmC,CAAa,GAAAjE,CAAA,EAChD,GACA,IACA,uECvBAoF,EAAA,CACAxf,QAAA,cACAI,WAAA,SACAD,eAAA,SACAsf,cAAA,MACAC,WAAA,OACAC,WAAA,CACA,EACAC,EAAA,CACAC,OAAA,UACA7f,QAAA,cACAI,WAAA,SACAqf,cAAA,MACA9e,SAAA,UACA,EACAmf,EAAgB,GAAAC,EAAAC,EAAA,EAAS,CACzB7hB,KAAA,CACA8hB,QAAA,EACAC,iBAAA,GACAC,UAAA,aACA,EACApR,GAAA,CACAkR,QAAA,EACAC,iBAAA,EACAC,UAAA,UACA,CACA,GACAC,EAA+B,GAAAL,EAAAC,EAAA,EAAS,CACxC7hB,KAAA,CACA8hB,QAAA,CACA,EACAlR,GAAA,CACAkR,QAAA,CACA,CACA,GACAI,EAA6B,GAAAN,EAAAC,EAAA,EAAS,CACtC7hB,KAAA,CACAgiB,UAAA,cACA,EACApR,GAAA,CACAoR,UAAA,WACA,CACA,GACAG,EAAe,GAAAC,EAAAtE,CAAA,EAAU,SAAA3K,CAAA,CAAAlQ,CAAA,EACzB,IAAAof,EAAgB,GAAAC,EAAAC,CAAA,IAChBC,EAAA,CAAwB,GAAAH,CAAA,IAAAlP,CAAA,EACxBsP,EAAiB,GAAAC,EAAAC,EAAA,EAAmB,WAAAH,GACpCI,EAAmB,GAAAC,EAAAC,EAAA,EAAgB3P,GACnC,CACA4P,QAAAA,EAAA,SACAhgB,UAAAA,CAAA,CACA6d,SAAAA,CAAA,CACAoC,UAAAA,CAAA,CACAC,SAAAA,CAAA,CACAC,KAAAA,EAA2B,GAAA/C,EAAAC,GAAA,EAAIe,EAAY,GAAI,CAC/C1F,UAAA0H,CAAA,CACAlI,WAAAA,EAAAoH,MAAAA,EAAA,OAAAA,EAAApH,UAAA,CACAhS,SAAAqT,CAAA,CACAlF,WAAAA,CAAA,CACA,GAAA6E,EACA,CAAI2G,EACJnH,EAAA0H,EACAd,CAAAA,MAAAA,EAAA,OAAAA,EAAArpB,KAAA,GAAA4pB,EAAA5pB,KAAA,EACAyiB,CAAAA,EAAA4G,EAAArpB,KAAA,CAAAqB,QAAA,CAAAuoB,EAAA5pB,KAAA,GAEA,IAAAiQ,EAAAqT,EACA+F,CAAAA,MAAAA,EAAA,OAAAA,EAAApZ,QAAA,GAAA2Z,EAAA5pB,KAAA,EACAiQ,CAAAA,EAAe,GAAAma,EAAAC,EAAA,EAAOhB,EAAApZ,QAAA,CAAAqT,EAAA,EAEtB,IACAzgB,MAAAA,CAAA,CACA6jB,cAAAA,CAAA,CACApB,iBAAAA,CAAA,CACAyB,cAAAA,CAAA,CACAhB,aAAAA,CAAA,CACA,CAAM,GAAAuE,EAAAC,CAAA,EAAW,CACjB,GAAAtH,CAAA,CACAhB,WAAAA,EACAQ,UAAAA,EACAxS,SAAAA,CACA,GACAua,EAAwBC,SFvGxBhI,CAAA,EACA,IAAAiI,EAAAC,EAAA,CAAoD,GAAAvhB,EAAAuD,QAAA,EAAQ8V,GAC5D,CAAA+H,EAAAI,EAAA,CAA4C,GAAAxhB,EAAAuD,QAAA,EAAQ,IAKpD,OAJA8V,IAAAiI,IACAE,EAAA,IACAD,EAAAlI,IAEA+H,CACA,EE+FgD3nB,EAAA4f,SAAA,EAChDoI,EAAqB,GAAAzhB,EAAA0Q,OAAA,EACrB,MACAgR,UAAA,EAAAjoB,EAAA+f,eAAA,IAAsEqG,EAAA,cAA0B,EAAeC,EAAA,aAAwB,KAAmBP,EAAA,aAAW,EAArK,OACAoC,SAAAd,EACAe,MAAAhB,EACA,GAAAP,EAAAS,IAAA,CACA,EACA,CAAAF,EAAAC,EAAAO,EAAA3nB,EAAA+f,eAAA,CAAA6G,EAAAS,IAAA,GAEAe,EAAqB,GAAA7hB,EAAA8hB,YAAA,EAAYhB,EAAA,CACjCiB,MAAAN,EACAjI,gBAAA/f,EAAA+f,eAAA,CACAH,UAAA5f,EAAA4f,SAAA,GAEA,MAAyB,GAAA0E,EAAAiE,IAAA,EACrB/D,EAAAC,CAAM,CAAA+D,KAAA,CACV,CACAF,MAAA,CAAe,GAAA1C,CAAA,IAAAgB,EAAA6B,SAAA,EACfvhB,UAAiB,GAAAqgB,EAAAmB,EAAA,EAAE,kBAAAxhB,GACnB,GAAAgc,GAAA,CACA6B,SAAA,CACwB,GAAAT,EAAAC,GAAA,EACxB,QACA,CACArd,UAAA,yBACA,GAAA2c,EAAAtI,EAAAnU,EAAA,GAGwB,GAAAkd,EAAAC,GAAA,EACdC,EAAAC,CAAM,CAAAkE,IAAA,CAChB,CACAL,MAAA,CAAqB,GAAA9C,CAAA,IAAAoB,EAAAgC,OAAA,EACrB1hB,UAAA,2BACA,GAAAub,GAAA,CACAsC,SAAAqD,CACA,GAEArD,GAAoC,GAAAT,EAAAC,GAAA,EAC1BC,EAAAC,CAAM,CAAAkE,IAAA,CAChB,CACAzhB,UAAA,yBACA,GAAAgd,GAAA,CACAoE,MAAA,CACAO,YAAA3B,EACA,GAAAN,EAAA4B,KAAA,EAEAzD,SAAAA,CACA,GAEA,EAGA,EACAuB,CAAAA,EAAAwC,WAAA,gDCxJO,SAAAC,EAAAC,CAAA,EACP,OAAAC,KAAAC,SAAA,CAAAF,EAAA,CAAAG,EAAAhsB,IACA,CAAAisB,SAYAvlB,CAAA,EACA,IAAAwlB,EAAAxlB,GACA,SAGA,IAAAylB,EAAAzlB,EAAAI,WAAA,CACA,YAAAqlB,EACA,SAEA,IAAAC,EAAAD,EAAA7pB,SAAA,UACA4pB,EAAAE,IAIAA,EAAA7pB,cAAA,kBAIA,EA9BAvC,GAOA,iBAAAA,EACAA,EAAAmB,QAAA,GACAnB,EARAf,OAAAD,IAAA,CAAAgB,GACAqsB,IAAA,GACA3V,MAAA,EAAA/D,EAAA5S,KACA4S,CAAA,CAAA5S,EAAA,CAAAC,CAAA,CAAAD,EAAA,CACA4S,GACa,IAKb,CAoBA,SAAAuZ,EAAAxlB,CAAA,EACA,MAAAzH,oBAAAA,OAAAqD,SAAA,CAAAnB,QAAA,CAAAC,IAAA,CAAAsF,EACA,CACO,SAAA4lB,EAAA/f,CAAA,EAGP,IAGAggB,WAAAA,CAAA,CAAAC,SAAAA,CAAA,CAAAC,OAAAA,CAAA,CAAAC,YAAAA,CAAA,CAAAC,qBAAAA,CAAA,CAAAC,SAAAA,CAAA,CAAAC,KAAAA,CAAA,CAAAC,YAAAA,CAAA,CAAAC,QAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAnB,SAAAA,CAAA,CAAAoB,eAAAA,CAAA,CAAAC,MAAAA,CAAA,CAAAC,WAAAA,CAAA,CAAAC,kBAAAA,CAAA,CAGAC,qBAAAA,CAAA,CAAAC,iBAAAA,CAAA,CAAAC,iBAAAA,CAAA,CAGAC,mBAAAA,CAAA,CAAAC,QAAAA,CAAA,CAAAC,oBAAAA,CAAA,CAAAC,gBAAAA,CAAA,CAAAC,gBAAAA,CAAA,CAAAC,4BAAAA,CAAA,CAAAC,eAAAA,CAAA,CAAAC,mBAAAA,CAAA,CAAAC,qBAAAA,CAAA,CAAAC,aAAAA,CAAA,CAAA/W,OAAAA,CAAA,CAAAgX,UAAAA,CAAA,CAAAC,SAAAA,CAAA,CAAAC,aAAAA,CAAA,CAKA5oB,OAAAA,CAAA,CAAA6oB,UAAAA,CAAA,CAAAC,MAAAA,CAAA,IAAArL,EAAA,CAAwC1W,EACxC,OAAA0W,CACA,wLCyCO,eAAAsL,EAAAC,CAAA,CAAAC,CAAA,EACP,IAAYC,QAAAC,EAAAH,EAAAE,OAAA,CAAAE,OAAAA,CAAA,CAAAC,QAAAA,CAAA,CAAAC,YAAAA,CAAA,EAAoEL,EAChF,IAAAE,EACA,UAAkBI,EAAAroB,CAAoB,EACtCsoB,SAAA,oCACA,GACA,IAAAN,EAAoB,GAAAO,EAAAC,CAAA,EAAYP,GAChCQ,EAAA,CACAC,aAAsB,GAAAC,EAAAC,EAAA,EAAuB,CAAGV,OAAAA,CAAA,GAChD,GAAAH,EAAAU,KAAA,EAKA,GADI,GAAAE,EAAAE,EAAA,EAAiB,CAAGX,OAAAA,EAAAC,QAAAA,EAAAC,YAAAA,EAAAK,MAAAA,CAAA,GACxBT,UAAAA,EAAAjtB,IAAA,CACA,OAAAitB,EAAAH,aAAA,EAAuCK,OAAAA,EAAAC,QAAAA,EAAAC,YAAAA,EAAAK,MAAAA,CAAA,GACvC,IAAAK,EAAsB,GAAAC,EAAAC,CAAA,EAAS,CAAGd,OAAAA,GAAA,GAAoBC,QAAAA,EAAAC,YAAAA,EAAAK,MAAAA,CAAA,EAA+B,CAAAnD,EAAAhsB,IAAiB,GAAA2vB,EAAAC,CAAA,EAAK5vB,GAAAA,EAAA6vB,WAAA,GAAA7vB,GAC3G,OAAAwuB,EAAAsB,OAAA,EACAC,OAAA,uBACArS,OAAA,CAAAgR,EAAAsB,OAAA,CAAAR,EAAA,EACK,CAAIS,WAAA,GACT,sCE1HO,SAAAC,EAAA1qB,CAAA,EACP,OAAAA,EAAA3C,KAAA,CAAAstB,OAAA,2DCEO,SAAAC,EAAA3B,EAAA,EAAmC,EAC1C,IAAAjpB,EAAmB,GAAA6qB,EAAAC,CAAA,EAAS7B,GAC5B,MAAW,GAAArlB,EAAAmnB,oBAAA,EAAoB,GAAeC,CFLvC,SAAAhrB,CAAA,CAAAipB,CAAA,EACP,IAAYxe,SAAAA,CAAA,EAAWwe,EACvB,OAAAjpB,EAAAirB,SAAA,IAAA5tB,EAAAstB,OAAA,CAAAlgB,EACA,GEE0DzK,EAAA,CAAWyK,SAAAA,CAAA,GAAU,IAASigB,EAAU1qB,GAAA,IAAgB0qB,EAAU1qB,GAC5H,qFEHO,SAAAkrB,EAAAlrB,CAAA,CAAAipB,EAAA,EAAgD,EACvD,IAAAD,EAAmBmC,SDFZnrB,CAAA,CAAAipB,EAAA,EAA0C,EACjD,IAAAD,EACA,IACAA,EAAAhpB,EAAAmrB,SAAA,CAAAlC,EACA,CACA,OACA,OAAAD,CACA,ECL4BhpB,EAAAipB,GAC5B,OAAAD,GAAAoC,OAA0BC,EAAAC,CAAa,CACvC,2BEHO,SAAAC,EAAAtC,EAAA,EAAwC,EAC/C,IAAAjpB,EAAmB,GAAA6qB,EAAAC,CAAA,EAAS7B,GAC5B,MAAW,GAAAuC,EAAAC,gCAAA,EAAgC,GAAeC,CDJnD,SAAA1rB,CAAA,CAAAipB,CAAA,EACP,IAAYxe,SAAAA,CAAA,EAAWwe,EACvB,OAAAjpB,EAAAirB,SAAA,KAAkCC,EAAelrB,GAAAyK,EAAA,CACjDkhB,WAAAA,CAAAC,EAAAtU,IACAsU,GAAAC,MAAAvU,GAAAuU,GAEA,EACA,GCH2E7rB,EAAA,CAAWyK,SAAAA,CAAA,GAAU,IAASygB,EAAelrB,EAAAipB,GAAA,IAA4BiC,EAAelrB,EAAAipB,GAAA,GAAA9qB,EAAA,CAAAytB,EAAAtU,IAAAsU,GAAAC,MAAAvU,GAAAuU,IACnK,2GELA,IAAAC,EAAA,GAEO,SAAAC,EAAA/rB,CAAA,EACP,IAAAgsB,EAAAhsB,EAAAgsB,MAAA,OACA,CAAQ,EAAAC,EAAA7B,CAAA,EAAS0B,EAAAE,GACjBF,GACAA,EAAAE,EACAA,EACA,2BGDO,SAAAE,EAAAjD,EAAA,EAAuC,EAC9C,IAAYkD,SAAAA,CAAA,EAAWlD,EACvBjpB,EAAmB,GAAA6qB,EAAAC,CAAA,EAAS7B,GAE5B,CAAYmD,OAAAA,CAAA,CAAAC,YAAAA,CAAA,IAAAlf,EAAA,CAAmC,GAAAmf,EAAAC,CAAA,EAAW,CAC1D,GAAAJ,CAAA,CJTAK,WAAAA,GACmB,GAAAC,EAAAC,CAAA,EIMmC1sB,EJNxB2sB,GAE9BC,YAAA,kBISA,OACA,GAAAzf,CAAA,CACA6e,OAAgBa,SDdT5D,EAAA,EAAkC,EACzC,IAAAjpB,EAAmB,GAAA6qB,EAAAC,CAAA,EAAS7B,GAC5B,MAAW,GAAArlB,EAAAmnB,oBAAA,EAAoB,GAAe+B,CDDvC,SAAA9sB,CAAA,CAAAipB,CAAA,EACP,IAAYxe,SAAAA,CAAA,EAAWwe,EACvB,OAAAjpB,EAAA+sB,SAAA,CAAAf,MAAA,CAAAf,SAAA,EAAAe,EAAAgB,KACAviB,EAAAuhB,EAAAgB,EACA,EACA,GCJyDhtB,EAAA,CAAWyK,SAAAA,CAAA,GAAU,IAASshB,EAAS/rB,GAAA,IAAgB+rB,EAAS/rB,GACzH,ECWyB,CAAGA,OAAAA,CAAA,GAC5BysB,YAAAL,EACAa,iBAAAZ,CACA,CACA,iIEjBO,SAAAa,EAAAjE,EAAA,EAAqD,EAC5D,IAAYkE,KAAAA,CAAA,CAAArE,MAAAA,EAAA,IAAmBG,EAC/BjpB,EAAmB,GAAA6qB,EAAAC,CAAA,EAAS7B,GAC5B0B,EAAoB,GAAAC,EAAAzsB,CAAA,EAAU,CAAG6B,OAAAA,CAAA,GACjC+G,EAAoBqmB,SDLbptB,CAAA,CAAA+G,EAAA,EAAmE,EAC1E,OACA,MAAAwgB,QAAA,CAAwBlB,SAAAA,CAAA,CAAU,EAClC,IAAoB8G,KAAAA,CAAA,IAAAlE,EAAA,CAAsB5C,CAAA,IAC1C,IAAA8G,EACA,gCACA,MAAmB,GAAAE,EAAArf,CAAA,EAAyBhO,EAAA,CAC5C,GAAAipB,CAAA,CACAqE,WAAAvmB,EAAAumB,UAAA,CACAH,KAAAA,CACA,EACA,EACA9G,SAAAkH,SAGOxmB,EAAA,EAAuD,EAC9D,IAAYumB,WAAA9G,CAAA,IAAA/I,EAAA,CAAyB1W,EACrC,mCAAyC,GAAAymB,EAAAC,EAAA,EAAkBhQ,GAAA,EAL3D1W,EACA,CACA,ECTyD/G,EAAA,CACzD,GAAAipB,CAAA,CACA0B,QAAA1B,EAAA0B,OAAA,EAAAA,CACA,GACA1C,EAAA1U,CAAAA,CAAA4Z,CAAAA,GAAArE,CAAAA,EAAAb,OAAA,OACA,MAAW,GAAAyF,EAAAC,EAAA,EAAQ,CACnB,GAAA7E,CAAA,CACA,GAAA/hB,CAAA,CACAkhB,QAAAA,CACA,EACA,2GCDO,eAAA2F,EAAA5E,CAAA,EAAkC6E,MAAAA,CAAA,CAAO,EAChD,IAAYjR,GAAAA,CAAA,CAAArb,KAAAA,CAAA,CAAAusB,eAAAA,CAAA,CAAAC,QAAAA,CAAA,CAAAC,eAAAA,CAAA,EAAoDH,CAChE,OAAA7E,EAAAsB,OAAA,EACAC,OAAA,0BACArS,OAAA,CACA,CACAyS,QAAyB,GAAAsD,EAAAC,EAAA,EAAWtR,GACpCuR,UAAA5sB,EACAusB,eAAAA,EACAC,QAAAA,EAAAK,OAAA,CAAAC,IAAA,CACAC,kBAAAN,EACAv0B,OAAAyD,MAAA,CAAA8wB,GAAA3a,GAAA,GAA2Dkb,IAAAA,CAAA,CAAK,GAAAA,GAChE9uB,KAAAA,CACA,EACA,EACK,CAAIgrB,WAAA,GACT,sCEfO,eAAA+D,EAAAxF,CAAA,SACP,EAAAE,OAAA,EAAAjtB,OAAA,QACA,CAAA+sB,EAAAE,OAAA,CAAAsB,OAAA,EAEAiE,CADA,MAAAzF,EAAAsB,OAAA,EAA6CC,OAAA,gBAAwB,EACrElX,GAAA,IAAsC,GAAAqb,EAAAC,EAAA,EAAenE,GACrD,CCNO,eAAAoE,EAAA5F,CAAA,EAEP,OADA,MAAAA,EAAAsB,OAAA,EAA+CC,OAAA,yBAE/C,gBCEO,eAAAsE,EAAA7F,CAAA,EAEP,MAAAyF,CADA,MAAAzF,EAAAsB,OAAA,EAA6CC,OAAA,uBAA+B,CAAIE,WAAA,GAAe,EAC/FpX,GAAA,IAAsC,GAAAqb,EAAAI,EAAA,EAAUtE,GAChD,CCLO,eAAAuE,EAAA/F,CAAA,CAAAgG,CAAA,EACP,OAAAhG,EAAAsB,OAAA,EACAC,OAAA,4BACArS,OAAA,CAAA8W,EAAA,EACK,CAAIvE,WAAA,GACT,4FCuBO,eAAAwE,EAAAjG,CAAA,CAAAC,CAAA,EACP,IAAYC,QAAAC,EAAAH,EAAAE,OAAA,CAAA2E,MAAAA,EAAA7E,EAAA6E,KAAA,IAAAqB,EAAA,CAA2EjG,EACvF,IAAAE,EACA,UAAkBgG,EAAAjuB,CAAoB,EACtCsoB,SAAA,sCACA,GACA,IAAAN,EAAoB,GAAAkG,EAAA1F,CAAA,EAAYP,GAC5B,GAAAkG,EAAAC,CAAA,EAAa,CACjBpG,QAAAA,EACA,GAAAD,CAAA,GAEA,IAAA0B,EAAA,MAA0B,GAAA4E,EAAAxhB,CAAA,EAASib,EAAS0B,EAAA8E,CAAU,kBACtD,QAAA3B,GACQ,GAAA4B,EAAAC,CAAA,EAAkB,CAC1BC,eAAAhF,EACAkD,MAAAA,CACA,GACA,IAAA+B,EAAA/B,GAAA+B,YAAA5G,EAAA6E,KAAA,EAAA+B,WACAlc,EAAAkc,GAAAC,oBAAAnc,QAA6Dmc,EAAAC,EAAwB,OACrF,UAAA5G,EAAAjtB,IAAA,CACAitB,EAAA+F,eAAA,EACA,GAAAC,CAAA,CACAvE,QAAAA,CACA,EAAS,CAAIoF,WAAA/G,EAAA6E,KAAA,EAAAmC,aAAAd,WAAA,GAEb,MAAAlG,EAAAsB,OAAA,EACAC,OAAA,sBACArS,OAAA,CACA,CACA,GAAAxE,EAAAwb,EAAA,CACAvE,QAAyB,GAAAsD,EAAAC,EAAA,EAAWvD,GACpCnpB,KAAA0nB,EAAAsB,OAAA,EAEA,EACK,CAAIC,WAAA,GACT,gBCjEO,eAAAgC,EAAAzD,CAAA,EAAqCpM,GAAAA,CAAA,CAAI,EAChD,MAAAoM,EAAAsB,OAAA,EACAC,OAAA,6BACArS,OAAA,CACA,CACAyS,QAAyB,GAAAsD,EAAAC,EAAA,EAAWtR,EACpC,EACA,EACK,CAAI6N,WAAA,GACT,CCFO,eAAAwF,EAAAjH,CAAA,CAAA9Q,CAAA,EAKP,OAJA,MAAA8Q,EAAAsB,OAAA,EACAC,OAAA,oBACArS,OAAAA,CACA,EAAK,CAAIuS,WAAA,GAET,gBClBO,SAAAyF,EAAAlH,CAAA,EACP,OACA4E,SAAA,GAA4BA,EAAQ5E,EAAA5tB,GACpC+0B,eAAA,GAAkCA,CRU3B,SAAAC,CAAA,CAAAnH,CAAA,EACP,IAAYoH,IAAAA,CAAA,CAAAj1B,KAAAA,CAAA,CAAAk1B,SAAAA,CAAA,IAAAhG,EAAA,CAAkCrB,EAC9CsH,EAAqB,GAAAC,EAAAC,CAAA,EAAgB,CAAGJ,IAAAA,EAAAj1B,KAAAA,EAAAk1B,SAAAA,CAAA,GACxC,MAAW,GAAAI,EAAAhH,CAAA,EAAe0G,EAAA,CAC1B,GAAA9F,CAAA,CACAqG,KAAAJ,CACA,EACA,GQjBgDvH,EAAA5tB,GAChDozB,aAAA,IAA4BA,EAAYxF,GACxC0B,WAAA,IAA0B,GAAAA,EAAA8E,CAAA,EAAUxG,GACpC4F,eAAA,IAA8BA,EAAc5F,GAC5C4H,0BAAA,GAA6C,GAAAA,EAAA9F,CAAA,EAAyB9B,EAAA5tB,GACtEyzB,iBAAA,IAAgCA,EAAgB7F,GAChD+F,mBAAA,GAAsCA,EAAkB/F,EAAA5tB,GACxDy1B,mBAAA,GAAsC,GAAAA,EAAA3iB,CAAA,EAAkB8a,EAAA5tB,GACxDs1B,gBAAA,GAAmC,GAAAA,EAAAhH,CAAA,EAAeV,EAAA5tB,GAClD01B,YAAA,GAA+B,GAAAA,EAAAC,CAAA,EAAW/H,EAAA5tB,GAC1C6zB,gBAAA,GAAmCA,EAAejG,EAAA5tB,GAClD2tB,cAAA,GAAiC,GAAAA,EAAA5qB,CAAA,EAAa6qB,EAAA5tB,GAC9CqxB,YAAA,GAA+BA,EAAWzD,EAAA5tB,GAC1C60B,WAAA,GAA8BA,EAAUjH,EAAA5tB,GACxC41B,cAAA,GAAiC,GAAAA,EAAA5vB,CAAA,EAAa4nB,EAAA5tB,EAC9C,CACA,gBC/BO,eAAA61B,EAAAjxB,CAAA,CAAAipB,EAAA,EAAsD,EAC7D,IAAAD,EAAA,MAAyB,GAAAkI,EAAAljB,CAAA,EAAkBhO,EAAAipB,GAG3C,OAFAD,EAAAoC,MAAA,CAAkB8E,GAElBlH,EAAAoC,MAAA,CAAyB8E,EACzB,uEEGO,SAAAiB,EAAAlI,EAAA,EAAwC,EAC/C,IAAYH,MAAAA,EAAA,EAAU,IAAArL,EAAA,CAAYwL,EAClCjpB,EAAmB,GAAA6qB,EAAAC,CAAA,EAASrN,GAC5B2T,EAAwB,GAAAC,EAAAC,EAAA,IACxB,CAAY9G,QAAAA,CAAA,CAAA3B,UAAAA,CAAA,CAAA0I,OAAAA,CAAA,EAA+B,GAAAC,EAAA1P,CAAA,EAAU,CAAG9hB,OAAAA,CAAA,GACxD2qB,EAAoB,GAAAC,EAAAzsB,CAAA,EAAU,CAAG6B,OAAAA,CAAA,GACjC,CAAYqmB,SAAAA,CAAA,IAAAtf,EAAA,CAAyB0qB,SDd9BzxB,CAAA,CAAA+G,EAAA,EAAyD,EAChE,OACAkgB,OAAA,EACA,MAAAM,QAAA,CAAwBlB,SAAAA,CAAA,CAAU,EAClC,IAAoBwC,UAAAA,CAAA,EAAY9hB,EAChC,CAAoB2qB,aAAAlL,CAAA,CAAAmL,SAAA/wB,CAAA,IAAAqoB,EAAA,CAA+C5C,CAAA,IACnE,OAAmB4K,EAAejxB,EAAA,CAAW,GAAAipB,CAAA,CAAAJ,UAAAA,CAAA,EAC7C,EACAxC,SAAAuL,SAGO7qB,EAAA,EAA6C,EACpD,IAAY8hB,UAAAA,CAAA,IAAAI,EAAA,CAA2BliB,EACvC,OACA,eACA,CAAU,GAAG,GAAAymB,EAAAC,EAAA,EAAkBxE,EAAA,CAAAyI,aAAA7I,GAAAgD,GAAA,EAC/B,EARA9kB,EACA,CACA,ECIgE/G,EAAA,CAChE,GAAAipB,CAAA,CACA0B,QAAA1B,EAAA0B,OAAA,EAAAA,EACA9B,UAAAI,EAAAJ,SAAA,EAAAA,CACA,GACAZ,EAAA1U,CAAAA,CAAAge,CAAAA,iBAAAA,GAAAzI,CAAAA,EAAAb,OAAA,OACA4J,EAAuB,GAAAjuB,EAAA+B,MAAA,EAAM6kB,GAe7B,MAbI,GAAA5mB,EAAA0B,SAAA,EAAS,KACb,IAAAwsB,EAAAD,EAAAt0B,OAAA,EACAitB,GAAAsH,GAEAV,EAAAW,aAAA,EAAwC1L,SAAAA,CAAA,GACxCwL,EAAAt0B,OAAA,CAAAkC,KAAAA,GAEA+qB,IAAAsH,IAEAV,EAAAY,iBAAA,EAA4C3L,SAAAA,CAAA,GAC5CwL,EAAAt0B,OAAA,CAAAitB,EAEA,EAAK,CAAAA,EAAA4G,EAAA,EACM,GAAA1D,EAAAC,EAAA,EAAQ,CACnB,GAAA7E,CAAA,CACA,GAAA/hB,CAAA,CACAsf,SAAAA,EACA4B,QAAAA,EACAS,UAAAuJ,GACA,EACA,iGCvCO,SAAAC,EAAAjJ,CAAA,EACP,IAAA9b,EAAmB,GAAAglB,EAAAvG,CAAA,EAAiB,CACpC,GAAA3C,CAAA,CACAxB,eAAwB2K,EAAAC,EAAM,GAG9B,OADAllB,EAAAkZ,QAAA,CAAA4C,EAAA5C,QAAA,CACAlZ,CACA","sources":["webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","webpack://_N_E/./node_modules/state-local/lib/es/state-local.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/config/index.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/utils/curry.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/validators/index.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/utils/compose.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/loader/index.js","webpack://_N_E/./node_modules/@monaco-editor/loader/lib/es/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/_virtual/_rollupPluginBabelHelpers.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/Loading/Loading.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/MonacoContainer/styles.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/MonacoContainer/MonacoContainer.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/MonacoContainer/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/hooks/useMount/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/hooks/useUpdate/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/utils/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/DiffEditor/DiffEditor.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/DiffEditor/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/hooks/useMonaco/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/hooks/usePrevious/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/Editor/Editor.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/Editor/index.js","webpack://_N_E/./node_modules/@monaco-editor/react/lib/es/index.js","webpack://_N_E/./node_modules/lodash/_baseRange.js","webpack://_N_E/./node_modules/lodash/_createRange.js","webpack://_N_E/./node_modules/lodash/range.js","webpack://_N_E/./node_modules/lodash/set.js","webpack://_N_E/./node_modules/react-number-format/dist/react-number-format.es.js","webpack://_N_E/./node_modules/@chakra-ui/checkbox/dist/chunk-6XFPBTDN.mjs","webpack://_N_E/./node_modules/@chakra-ui/checkbox/dist/chunk-HPA3SDH4.mjs","webpack://_N_E/./node_modules/@chakra-ui/checkbox/dist/chunk-OW24QTOM.mjs","webpack://_N_E/./node_modules/@chakra-ui/checkbox/dist/chunk-DFEUIRKX.mjs","webpack://_N_E/./node_modules/@chakra-ui/checkbox/dist/chunk-VFYM6BU6.mjs","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/query/utils.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/signTypedData.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/watchChainId.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/getChainId.js","webpack://_N_E/./node_modules/wagmi/dist/esm/hooks/useChainId.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/getClient.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/getPublicClient.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/watchPublicClient.js","webpack://_N_E/./node_modules/wagmi/dist/esm/hooks/usePublicClient.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/query/switchChain.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/getChains.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/watchChains.js","webpack://_N_E/./node_modules/wagmi/dist/esm/hooks/useChains.js","webpack://_N_E/./node_modules/wagmi/dist/esm/hooks/useSwitchChain.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/query/waitForTransactionReceipt.js","webpack://_N_E/./node_modules/wagmi/dist/esm/hooks/useWaitForTransactionReceipt.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/addChain.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/deployContract.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/getAddresses.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/getPermissions.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/requestAddresses.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/requestPermissions.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/signTransaction.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/switchChain.js","webpack://_N_E/./node_modules/viem/_esm/actions/wallet/watchAsset.js","webpack://_N_E/./node_modules/viem/_esm/clients/decorators/wallet.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/actions/getWalletClient.js","webpack://_N_E/./node_modules/@wagmi/core/dist/esm/query/getWalletClient.js","webpack://_N_E/./node_modules/wagmi/dist/esm/hooks/useWalletClient.js","webpack://_N_E/./node_modules/wagmi/dist/esm/utils/query.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.33.0/min/vs'\n }\n};\n\nexport default config;\n","function curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport default curry;\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport default isObject;\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\n\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n\n return config;\n}\n/**\n * logs deprecation message\n */\n\n\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport default validators;\nexport { errorHandler, errorMessages };\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport default compose;\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport default merge;\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\n\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport default makeCancelable;\nexport { CANCELATION_MESSAGE };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\n/** the local state of the module */\n\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n}),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\n\n\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, [\"monaco\"]);\n\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\n\n\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n\n return makeCancelable(wrapperPromise);\n}\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\n\n\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\n\n\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\n\n\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n\n loaderScript.onload = function () {\n return configureLoader();\n };\n\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n/**\n * configures the monaco loader\n */\n\n\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n\n require.config(state.config);\n\n require(['vs/editor/editor.main'], function (monaco) {\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n/**\n * store monaco instance in local state\n */\n\n\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\n\n\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\n\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport default loader;\n","import loader from './loader/index.js';\nexport { default } from './loader/index.js';\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n","import React from 'react';\n\nconst loadingStyles = {\n display: 'flex',\n height: '100%',\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n};\n\nfunction Loading({\n content\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: loadingStyles\n }, content);\n}\n\nexport default Loading;\n","const styles = {\n wrapper: {\n display: 'flex',\n position: 'relative',\n textAlign: 'initial'\n },\n fullWidth: {\n width: '100%'\n },\n hide: {\n display: 'none'\n }\n};\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { extends as _extends } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport Loading from '../Loading/Loading.js';\nimport styles from './styles.js';\n\n// one of the reasons why we use a separate prop for passing ref instead of using forwardref\n\nfunction MonacoContainer({\n width,\n height,\n isEditorReady,\n loading,\n _ref,\n className,\n wrapperProps\n}) {\n return /*#__PURE__*/React.createElement(\"section\", _extends({\n style: { ...styles.wrapper,\n width,\n height\n }\n }, wrapperProps), !isEditorReady && /*#__PURE__*/React.createElement(Loading, {\n content: loading\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: _ref,\n style: { ...styles.fullWidth,\n ...(!isEditorReady && styles.hide)\n },\n className: className\n }));\n}\n\nMonacoContainer.propTypes = {\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n loading: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).isRequired,\n isEditorReady: PropTypes.bool.isRequired,\n className: PropTypes.string,\n wrapperProps: PropTypes.object\n};\n\nexport default MonacoContainer;\n","import { memo } from 'react';\nimport MonacoContainer$1 from './MonacoContainer.js';\n\nvar MonacoContainer = /*#__PURE__*/memo(MonacoContainer$1);\n\nexport default MonacoContainer;\n","import { useEffect } from 'react';\n\nfunction useMount(effect) {\n useEffect(effect, []);\n}\n\nexport default useMount;\n","import { useRef, useEffect } from 'react';\n\nfunction useUpdate(effect, deps, applyChanges = true) {\n const isInitialMount = useRef(true);\n useEffect(isInitialMount.current || !applyChanges ? () => {\n isInitialMount.current = false;\n } : effect, deps);\n}\n\nexport default useUpdate;\n","function noop() {}\n\nfunction getOrCreateModel(monaco, value, language, path) {\n return getModel(monaco, path) || createModel(monaco, value, language, path);\n}\n\nfunction getModel(monaco, path) {\n return monaco.editor.getModel(createModelUri(monaco, path));\n}\n\nfunction createModel(monaco, value, language, path) {\n return monaco.editor.createModel(value, language, path && createModelUri(monaco, path));\n}\n\nfunction createModelUri(monaco, path) {\n return monaco.Uri.parse(path);\n}\n\nfunction isUndefined(input) {\n return input === undefined;\n}\n\nexport { getOrCreateModel, isUndefined, noop };\n","import loader from '@monaco-editor/loader';\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport MonacoContainer from '../MonacoContainer/index.js';\nimport useMount from '../hooks/useMount/index.js';\nimport useUpdate from '../hooks/useUpdate/index.js';\nimport { getOrCreateModel, noop } from '../utils/index.js';\n\nfunction DiffEditor({\n original,\n modified,\n language,\n originalLanguage,\n modifiedLanguage,\n\n /* === */\n originalModelPath,\n modifiedModelPath,\n keepCurrentOriginalModel,\n keepCurrentModifiedModel,\n theme,\n loading,\n options,\n\n /* === */\n height,\n width,\n className,\n wrapperProps,\n\n /* === */\n beforeMount,\n onMount\n}) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const editorRef = useRef(null);\n const monacoRef = useRef(null);\n const containerRef = useRef(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n useMount(() => {\n const cancelable = loader.init();\n cancelable.then(monaco => (monacoRef.current = monaco) && setIsMonacoMounting(false)).catch(error => (error === null || error === void 0 ? void 0 : error.type) !== 'cancelation' && console.error('Monaco initialization: error:', error));\n return () => editorRef.current ? disposeEditor() : cancelable.cancel();\n });\n useUpdate(() => {\n const modifiedEditor = editorRef.current.getModifiedEditor();\n\n if (modifiedEditor.getOption(monacoRef.current.editor.EditorOption.readOnly)) {\n modifiedEditor.setValue(modified);\n } else {\n if (modified !== modifiedEditor.getValue()) {\n modifiedEditor.executeEdits('', [{\n range: modifiedEditor.getModel().getFullModelRange(),\n text: modified,\n forceMoveMarkers: true\n }]);\n modifiedEditor.pushUndoStop();\n }\n }\n }, [modified], isEditorReady);\n useUpdate(() => {\n editorRef.current.getModel().original.setValue(original);\n }, [original], isEditorReady);\n useUpdate(() => {\n const {\n original,\n modified\n } = editorRef.current.getModel();\n monacoRef.current.editor.setModelLanguage(original, originalLanguage || language);\n monacoRef.current.editor.setModelLanguage(modified, modifiedLanguage || language);\n }, [language, originalLanguage, modifiedLanguage], isEditorReady);\n useUpdate(() => {\n monacoRef.current.editor.setTheme(theme);\n }, [theme], isEditorReady);\n useUpdate(() => {\n editorRef.current.updateOptions(options);\n }, [options], isEditorReady);\n const setModels = useCallback(() => {\n beforeMountRef.current(monacoRef.current);\n const originalModel = getOrCreateModel(monacoRef.current, original, originalLanguage || language, originalModelPath);\n const modifiedModel = getOrCreateModel(monacoRef.current, modified, modifiedLanguage || language, modifiedModelPath);\n editorRef.current.setModel({\n original: originalModel,\n modified: modifiedModel\n });\n }, [language, modified, modifiedLanguage, original, originalLanguage, originalModelPath, modifiedModelPath]);\n const createEditor = useCallback(() => {\n editorRef.current = monacoRef.current.editor.createDiffEditor(containerRef.current, {\n automaticLayout: true,\n ...options\n });\n setModels();\n monacoRef.current.editor.setTheme(theme);\n setIsEditorReady(true);\n }, [options, theme, setModels]);\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current, monacoRef.current);\n }\n }, [isEditorReady]);\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]);\n\n function disposeEditor() {\n const models = editorRef.current.getModel();\n\n if (!keepCurrentOriginalModel) {\n var _models$original;\n\n (_models$original = models.original) === null || _models$original === void 0 ? void 0 : _models$original.dispose();\n }\n\n if (!keepCurrentModifiedModel) {\n var _models$modified;\n\n (_models$modified = models.modified) === null || _models$modified === void 0 ? void 0 : _models$modified.dispose();\n }\n\n editorRef.current.dispose();\n }\n\n return /*#__PURE__*/React.createElement(MonacoContainer, {\n width: width,\n height: height,\n isEditorReady: isEditorReady,\n loading: loading,\n _ref: containerRef,\n className: className,\n wrapperProps: wrapperProps\n });\n}\n\nDiffEditor.propTypes = {\n original: PropTypes.string,\n modified: PropTypes.string,\n language: PropTypes.string,\n originalLanguage: PropTypes.string,\n modifiedLanguage: PropTypes.string,\n\n /* === */\n originalModelPath: PropTypes.string,\n modifiedModelPath: PropTypes.string,\n keepCurrentOriginalModel: PropTypes.bool,\n keepCurrentModifiedModel: PropTypes.bool,\n theme: PropTypes.string,\n loading: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n options: PropTypes.object,\n\n /* === */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string,\n wrapperProps: PropTypes.object,\n\n /* === */\n beforeMount: PropTypes.func,\n onMount: PropTypes.func\n};\nDiffEditor.defaultProps = {\n theme: 'light',\n loading: 'Loading...',\n options: {},\n keepCurrentOriginalModel: false,\n keepCurrentModifiedModel: false,\n\n /* === */\n width: '100%',\n height: '100%',\n wrapperProps: {},\n\n /* === */\n beforeMount: noop,\n onMount: noop\n};\n\nexport default DiffEditor;\n","import { memo } from 'react';\nimport DiffEditor from './DiffEditor.js';\n\nvar index = /*#__PURE__*/memo(DiffEditor);\n\nexport default index;\n","import loader from '@monaco-editor/loader';\nimport { useState } from 'react';\nimport useMount from '../useMount/index.js';\n\nfunction useMonaco() {\n const [monaco, setMonaco] = useState(loader.__getMonacoInstance());\n useMount(() => {\n let cancelable;\n\n if (!monaco) {\n cancelable = loader.init();\n cancelable.then(monaco => {\n setMonaco(monaco);\n });\n }\n\n return () => {\n var _cancelable;\n\n return (_cancelable = cancelable) === null || _cancelable === void 0 ? void 0 : _cancelable.cancel();\n };\n });\n return monaco;\n}\n\nexport default useMonaco;\n","import { useRef, useEffect } from 'react';\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nexport default usePrevious;\n","import loader from '@monaco-editor/loader';\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport MonacoContainer from '../MonacoContainer/index.js';\nimport useMount from '../hooks/useMount/index.js';\nimport useUpdate from '../hooks/useUpdate/index.js';\nimport { getOrCreateModel, noop, isUndefined } from '../utils/index.js';\nimport usePrevious from '../hooks/usePrevious/index.js';\n\nconst viewStates = new Map();\n\nfunction Editor({\n defaultValue,\n defaultLanguage,\n defaultPath,\n value,\n language,\n path,\n\n /* === */\n theme,\n line,\n loading,\n options,\n overrideServices,\n saveViewState,\n keepCurrentModel,\n\n /* === */\n width,\n height,\n className,\n wrapperProps,\n\n /* === */\n beforeMount,\n onMount,\n onChange,\n onValidate\n}) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const monacoRef = useRef(null);\n const editorRef = useRef(null);\n const containerRef = useRef(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n const subscriptionRef = useRef(null);\n const valueRef = useRef(value);\n const previousPath = usePrevious(path);\n const preventCreation = useRef(false);\n useMount(() => {\n const cancelable = loader.init();\n cancelable.then(monaco => (monacoRef.current = monaco) && setIsMonacoMounting(false)).catch(error => (error === null || error === void 0 ? void 0 : error.type) !== 'cancelation' && console.error('Monaco initialization: error:', error));\n return () => editorRef.current ? disposeEditor() : cancelable.cancel();\n });\n useUpdate(() => {\n const model = getOrCreateModel(monacoRef.current, defaultValue || value, defaultLanguage || language, path);\n\n if (model !== editorRef.current.getModel()) {\n saveViewState && viewStates.set(previousPath, editorRef.current.saveViewState());\n editorRef.current.setModel(model);\n saveViewState && editorRef.current.restoreViewState(viewStates.get(path));\n }\n }, [path], isEditorReady);\n useUpdate(() => {\n editorRef.current.updateOptions(options);\n }, [options], isEditorReady);\n useUpdate(() => {\n if (editorRef.current.getOption(monacoRef.current.editor.EditorOption.readOnly)) {\n editorRef.current.setValue(value);\n } else {\n if (value !== editorRef.current.getValue()) {\n editorRef.current.executeEdits('', [{\n range: editorRef.current.getModel().getFullModelRange(),\n text: value,\n forceMoveMarkers: true\n }]);\n editorRef.current.pushUndoStop();\n }\n }\n }, [value], isEditorReady);\n useUpdate(() => {\n monacoRef.current.editor.setModelLanguage(editorRef.current.getModel(), language);\n }, [language], isEditorReady);\n useUpdate(() => {\n // reason for undefined check: https://github.com/suren-atoyan/monaco-react/pull/188\n if (!isUndefined(line)) {\n editorRef.current.revealLine(line);\n }\n }, [line], isEditorReady);\n useUpdate(() => {\n monacoRef.current.editor.setTheme(theme);\n }, [theme], isEditorReady);\n const createEditor = useCallback(() => {\n if (!preventCreation.current) {\n beforeMountRef.current(monacoRef.current);\n const autoCreatedModelPath = path || defaultPath;\n const defaultModel = getOrCreateModel(monacoRef.current, value || defaultValue, defaultLanguage || language, autoCreatedModelPath);\n editorRef.current = monacoRef.current.editor.create(containerRef.current, {\n model: defaultModel,\n automaticLayout: true,\n ...options\n }, overrideServices);\n saveViewState && editorRef.current.restoreViewState(viewStates.get(autoCreatedModelPath));\n monacoRef.current.editor.setTheme(theme);\n setIsEditorReady(true);\n preventCreation.current = true;\n }\n }, [defaultValue, defaultLanguage, defaultPath, value, language, path, options, overrideServices, saveViewState, theme]);\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current, monacoRef.current);\n }\n }, [isEditorReady]);\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]); // subscription\n // to avoid unnecessary updates (attach - dispose listener) in subscription\n\n valueRef.current = value; // onChange\n\n useEffect(() => {\n if (isEditorReady && onChange) {\n var _subscriptionRef$curr, _editorRef$current;\n\n (_subscriptionRef$curr = subscriptionRef.current) === null || _subscriptionRef$curr === void 0 ? void 0 : _subscriptionRef$curr.dispose();\n subscriptionRef.current = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.onDidChangeModelContent(event => {\n onChange(editorRef.current.getValue(), event);\n });\n }\n }, [isEditorReady, onChange]); // onValidate\n\n useEffect(() => {\n if (isEditorReady) {\n const changeMarkersListener = monacoRef.current.editor.onDidChangeMarkers(uris => {\n var _editorRef$current$ge;\n\n const editorUri = (_editorRef$current$ge = editorRef.current.getModel()) === null || _editorRef$current$ge === void 0 ? void 0 : _editorRef$current$ge.uri;\n\n if (editorUri) {\n const currentEditorHasMarkerChanges = uris.find(uri => uri.path === editorUri.path);\n\n if (currentEditorHasMarkerChanges) {\n const markers = monacoRef.current.editor.getModelMarkers({\n resource: editorUri\n });\n onValidate === null || onValidate === void 0 ? void 0 : onValidate(markers);\n }\n }\n });\n return () => {\n changeMarkersListener === null || changeMarkersListener === void 0 ? void 0 : changeMarkersListener.dispose();\n };\n }\n }, [isEditorReady, onValidate]);\n\n function disposeEditor() {\n var _subscriptionRef$curr2;\n\n (_subscriptionRef$curr2 = subscriptionRef.current) === null || _subscriptionRef$curr2 === void 0 ? void 0 : _subscriptionRef$curr2.dispose();\n\n if (keepCurrentModel) {\n saveViewState && viewStates.set(path, editorRef.current.saveViewState());\n } else {\n var _editorRef$current$ge2;\n\n (_editorRef$current$ge2 = editorRef.current.getModel()) === null || _editorRef$current$ge2 === void 0 ? void 0 : _editorRef$current$ge2.dispose();\n }\n\n editorRef.current.dispose();\n }\n\n return /*#__PURE__*/React.createElement(MonacoContainer, {\n width: width,\n height: height,\n isEditorReady: isEditorReady,\n loading: loading,\n _ref: containerRef,\n className: className,\n wrapperProps: wrapperProps\n });\n}\n\nEditor.propTypes = {\n defaultValue: PropTypes.string,\n defaultPath: PropTypes.string,\n defaultLanguage: PropTypes.string,\n value: PropTypes.string,\n language: PropTypes.string,\n path: PropTypes.string,\n\n /* === */\n theme: PropTypes.string,\n line: PropTypes.number,\n loading: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n options: PropTypes.object,\n overrideServices: PropTypes.object,\n saveViewState: PropTypes.bool,\n keepCurrentModel: PropTypes.bool,\n\n /* === */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string,\n wrapperProps: PropTypes.object,\n\n /* === */\n beforeMount: PropTypes.func,\n onMount: PropTypes.func,\n onChange: PropTypes.func,\n onValidate: PropTypes.func\n};\nEditor.defaultProps = {\n theme: 'light',\n loading: 'Loading...',\n options: {},\n overrideServices: {},\n saveViewState: true,\n keepCurrentModel: false,\n\n /* === */\n width: '100%',\n height: '100%',\n wrapperProps: {},\n\n /* === */\n beforeMount: noop,\n onMount: noop,\n onValidate: noop\n};\n\nexport default Editor;\n","import { memo } from 'react';\nimport Editor from './Editor.js';\n\nvar index = /*#__PURE__*/memo(Editor);\n\nexport default index;\n","export { default as loader } from '@monaco-editor/loader';\nexport { default as DiffEditor } from './DiffEditor/index.js';\nexport { default as useMonaco } from './hooks/useMonaco/index.js';\nexport { default } from './Editor/index.js';\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * react-number-format - 5.3.1\n * Author : Sudhanshu Yadav\n * Copyright (c) 2016, 2023 to Sudhanshu Yadav, released under the MIT license.\n * https://github.com/s-yadav/react-number-format\n */\n\nimport React, { useState, useMemo, useRef, useEffect, useLayoutEffect } from 'react';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n { t[p] = s[p]; } }\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n { for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n { t[p[i]] = s[p[i]]; }\r\n } }\r\n return t;\r\n}\n\nvar SourceType;\n(function (SourceType) {\n SourceType[\"event\"] = \"event\";\n SourceType[\"props\"] = \"prop\";\n})(SourceType || (SourceType = {}));\n\n// basic noop function\nfunction noop() { }\nfunction memoizeOnce(cb) {\n var lastArgs;\n var lastValue = undefined;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (lastArgs &&\n args.length === lastArgs.length &&\n args.every(function (value, index) { return value === lastArgs[index]; })) {\n return lastValue;\n }\n lastArgs = args;\n lastValue = cb.apply(void 0, args);\n return lastValue;\n };\n}\nfunction charIsNumber(char) {\n return !!(char || '').match(/\\d/);\n}\nfunction isNil(val) {\n return val === null || val === undefined;\n}\nfunction isNanValue(val) {\n return typeof val === 'number' && isNaN(val);\n}\nfunction isNotValidValue(val) {\n return isNil(val) || isNanValue(val) || (typeof val === 'number' && !isFinite(val));\n}\nfunction escapeRegExp(str) {\n return str.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\nfunction getThousandsGroupRegex(thousandsGroupStyle) {\n switch (thousandsGroupStyle) {\n case 'lakh':\n return /(\\d+?)(?=(\\d\\d)+(\\d)(?!\\d))(\\.\\d+)?/g;\n case 'wan':\n return /(\\d)(?=(\\d{4})+(?!\\d))/g;\n case 'thousand':\n default:\n return /(\\d)(?=(\\d{3})+(?!\\d))/g;\n }\n}\nfunction applyThousandSeparator(str, thousandSeparator, thousandsGroupStyle) {\n var thousandsGroupRegex = getThousandsGroupRegex(thousandsGroupStyle);\n var index = str.search(/[1-9]/);\n index = index === -1 ? str.length : index;\n return (str.substring(0, index) +\n str.substring(index, str.length).replace(thousandsGroupRegex, '$1' + thousandSeparator));\n}\nfunction usePersistentCallback(cb) {\n var callbackRef = useRef(cb);\n // keep the callback ref upto date\n callbackRef.current = cb;\n /**\n * initialize a persistent callback which never changes\n * through out the component lifecycle\n */\n var persistentCbRef = useRef(function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return callbackRef.current.apply(callbackRef, args);\n });\n return persistentCbRef.current;\n}\n//spilt a float number into different parts beforeDecimal, afterDecimal, and negation\nfunction splitDecimal(numStr, allowNegative) {\n if ( allowNegative === void 0 ) allowNegative = true;\n\n var hasNegation = numStr[0] === '-';\n var addNegation = hasNegation && allowNegative;\n numStr = numStr.replace('-', '');\n var parts = numStr.split('.');\n var beforeDecimal = parts[0];\n var afterDecimal = parts[1] || '';\n return {\n beforeDecimal: beforeDecimal,\n afterDecimal: afterDecimal,\n hasNegation: hasNegation,\n addNegation: addNegation,\n };\n}\nfunction fixLeadingZero(numStr) {\n if (!numStr)\n { return numStr; }\n var isNegative = numStr[0] === '-';\n if (isNegative)\n { numStr = numStr.substring(1, numStr.length); }\n var parts = numStr.split('.');\n var beforeDecimal = parts[0].replace(/^0+/, '') || '0';\n var afterDecimal = parts[1] || '';\n return (\"\" + (isNegative ? '-' : '') + beforeDecimal + (afterDecimal ? (\".\" + afterDecimal) : ''));\n}\n/**\n * limit decimal numbers to given scale\n * Not used .fixedTo because that will break with big numbers\n */\nfunction limitToScale(numStr, scale, fixedDecimalScale) {\n var str = '';\n var filler = fixedDecimalScale ? '0' : '';\n for (var i = 0; i <= scale - 1; i++) {\n str += numStr[i] || filler;\n }\n return str;\n}\nfunction repeat(str, count) {\n return Array(count + 1).join(str);\n}\nfunction toNumericString(num) {\n var _num = num + ''; // typecast number to string\n // store the sign and remove it from the number.\n var sign = _num[0] === '-' ? '-' : '';\n if (sign)\n { _num = _num.substring(1); }\n // split the number into cofficient and exponent\n var ref = _num.split(/[eE]/g);\n var coefficient = ref[0];\n var exponent = ref[1];\n // covert exponent to number;\n exponent = Number(exponent);\n // if there is no exponent part or its 0, return the coffiecient with sign\n if (!exponent)\n { return sign + coefficient; }\n coefficient = coefficient.replace('.', '');\n /**\n * for scientific notation the current decimal index will be after first number (index 0)\n * So effective decimal index will always be 1 + exponent value\n */\n var decimalIndex = 1 + exponent;\n var coffiecientLn = coefficient.length;\n if (decimalIndex < 0) {\n // if decimal index is less then 0 add preceding 0s\n // add 1 as join will have\n coefficient = '0.' + repeat('0', Math.abs(decimalIndex)) + coefficient;\n }\n else if (decimalIndex >= coffiecientLn) {\n // if decimal index is less then 0 add leading 0s\n coefficient = coefficient + repeat('0', decimalIndex - coffiecientLn);\n }\n else {\n // else add decimal point at proper index\n coefficient =\n (coefficient.substring(0, decimalIndex) || '0') + '.' + coefficient.substring(decimalIndex);\n }\n return sign + coefficient;\n}\n/**\n * This method is required to round prop value to given scale.\n * Not used .round or .fixedTo because that will break with big numbers\n */\nfunction roundToPrecision(numStr, scale, fixedDecimalScale) {\n //if number is empty don't do anything return empty string\n if (['', '-'].indexOf(numStr) !== -1)\n { return numStr; }\n var shouldHaveDecimalSeparator = (numStr.indexOf('.') !== -1 || fixedDecimalScale) && scale;\n var ref = splitDecimal(numStr);\n var beforeDecimal = ref.beforeDecimal;\n var afterDecimal = ref.afterDecimal;\n var hasNegation = ref.hasNegation;\n var floatValue = parseFloat((\"0.\" + (afterDecimal || '0')));\n var floatValueStr = afterDecimal.length <= scale ? (\"0.\" + afterDecimal) : floatValue.toFixed(scale);\n var roundedDecimalParts = floatValueStr.split('.');\n var intPart = beforeDecimal\n .split('')\n .reverse()\n .reduce(function (roundedStr, current, idx) {\n if (roundedStr.length > idx) {\n return ((Number(roundedStr[0]) + Number(current)).toString() +\n roundedStr.substring(1, roundedStr.length));\n }\n return current + roundedStr;\n }, roundedDecimalParts[0]);\n var decimalPart = limitToScale(roundedDecimalParts[1] || '', scale, fixedDecimalScale);\n var negation = hasNegation ? '-' : '';\n var decimalSeparator = shouldHaveDecimalSeparator ? '.' : '';\n return (\"\" + negation + intPart + decimalSeparator + decimalPart);\n}\n/** set the caret positon in an input field **/\nfunction setCaretPosition(el, caretPos) {\n el.value = el.value;\n // ^ this is used to not only get 'focus', but\n // to make sure we don't have it everything -selected-\n // (it causes an issue in chrome, and having it doesn't hurt any other browser)\n if (el !== null) {\n /* @ts-ignore */\n if (el.createTextRange) {\n /* @ts-ignore */\n var range = el.createTextRange();\n range.move('character', caretPos);\n range.select();\n return true;\n }\n // (el.selectionStart === 0 added for Firefox bug)\n if (el.selectionStart || el.selectionStart === 0) {\n el.focus();\n el.setSelectionRange(caretPos, caretPos);\n return true;\n }\n // fail city, fortunately this never happens (as far as I've tested) :)\n el.focus();\n return false;\n }\n}\nvar findChangeRange = memoizeOnce(function (prevValue, newValue) {\n var i = 0, j = 0;\n var prevLength = prevValue.length;\n var newLength = newValue.length;\n while (prevValue[i] === newValue[i] && i < prevLength)\n { i++; }\n //check what has been changed from last\n while (prevValue[prevLength - 1 - j] === newValue[newLength - 1 - j] &&\n newLength - j > i &&\n prevLength - j > i) {\n j++;\n }\n return {\n from: { start: i, end: prevLength - j },\n to: { start: i, end: newLength - j },\n };\n});\n/*\n Returns a number whose value is limited to the given range\n*/\nfunction clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nfunction geInputCaretPosition(el) {\n /*Max of selectionStart and selectionEnd is taken for the patch of pixel and other mobile device caret bug*/\n return Math.max(el.selectionStart, el.selectionEnd);\n}\nfunction addInputMode() {\n return (typeof navigator !== 'undefined' &&\n !(navigator.platform && /iPhone|iPod/.test(navigator.platform)));\n}\nfunction getDefaultChangeMeta(value) {\n return {\n from: {\n start: 0,\n end: 0,\n },\n to: {\n start: 0,\n end: value.length,\n },\n lastValue: '',\n };\n}\nfunction getMaskAtIndex(mask, index) {\n if ( mask === void 0 ) mask = ' ';\n\n if (typeof mask === 'string') {\n return mask;\n }\n return mask[index] || ' ';\n}\nfunction defaultIsCharacterSame(ref) {\n var currentValue = ref.currentValue;\n var formattedValue = ref.formattedValue;\n var currentValueIndex = ref.currentValueIndex;\n var formattedValueIndex = ref.formattedValueIndex;\n\n return currentValue[currentValueIndex] === formattedValue[formattedValueIndex];\n}\nfunction getCaretPosition(newFormattedValue, lastFormattedValue, curValue, curCaretPos, boundary, isValidInputCharacter, \n/**\n * format function can change the character, the caret engine relies on mapping old value and new value\n * In such case if character is changed, parent can tell which chars are equivalent\n * Some example, all allowedDecimalCharacters are updated to decimalCharacters, 2nd case if user is coverting\n * number to different numeric system.\n */\nisCharacterSame) {\n if ( isCharacterSame === void 0 ) isCharacterSame = defaultIsCharacterSame;\n\n /**\n * if something got inserted on empty value, add the formatted character before the current value,\n * This is to avoid the case where typed character is present on format characters\n */\n var firstAllowedPosition = boundary.findIndex(function (b) { return b; });\n var prefixFormat = newFormattedValue.slice(0, firstAllowedPosition);\n if (!lastFormattedValue && !curValue.startsWith(prefixFormat)) {\n lastFormattedValue = prefixFormat;\n curValue = prefixFormat + curValue;\n curCaretPos = curCaretPos + prefixFormat.length;\n }\n var curValLn = curValue.length;\n var formattedValueLn = newFormattedValue.length;\n // create index map\n var addedIndexMap = {};\n var indexMap = new Array(curValLn);\n for (var i = 0; i < curValLn; i++) {\n indexMap[i] = -1;\n for (var j = 0, jLn = formattedValueLn; j < jLn; j++) {\n var isCharSame = isCharacterSame({\n currentValue: curValue,\n lastValue: lastFormattedValue,\n formattedValue: newFormattedValue,\n currentValueIndex: i,\n formattedValueIndex: j,\n });\n if (isCharSame && addedIndexMap[j] !== true) {\n indexMap[i] = j;\n addedIndexMap[j] = true;\n break;\n }\n }\n }\n /**\n * For current caret position find closest characters (left and right side)\n * which are properly mapped to formatted value.\n * The idea is that the new caret position will exist always in the boundary of\n * that mapped index\n */\n var pos = curCaretPos;\n while (pos < curValLn && (indexMap[pos] === -1 || !isValidInputCharacter(curValue[pos]))) {\n pos++;\n }\n // if the caret position is on last keep the endIndex as last for formatted value\n var endIndex = pos === curValLn || indexMap[pos] === -1 ? formattedValueLn : indexMap[pos];\n pos = curCaretPos - 1;\n while (pos > 0 && indexMap[pos] === -1)\n { pos--; }\n var startIndex = pos === -1 || indexMap[pos] === -1 ? 0 : indexMap[pos] + 1;\n /**\n * case where a char is added on suffix and removed from middle, example 2sq345 becoming $2,345 sq\n * there is still a mapping but the order of start index and end index is changed\n */\n if (startIndex > endIndex)\n { return endIndex; }\n /**\n * given the current caret position if it closer to startIndex\n * keep the new caret position on start index or keep it closer to endIndex\n */\n return curCaretPos - startIndex < endIndex - curCaretPos ? startIndex : endIndex;\n}\n/* This keeps the caret within typing area so people can't type in between prefix or suffix or format characters */\nfunction getCaretPosInBoundary(value, caretPos, boundary, direction) {\n var valLn = value.length;\n // clamp caret position to [0, value.length]\n caretPos = clamp(caretPos, 0, valLn);\n if (direction === 'left') {\n while (caretPos >= 0 && !boundary[caretPos])\n { caretPos--; }\n // if we don't find any suitable caret position on left, set it on first allowed position\n if (caretPos === -1)\n { caretPos = boundary.indexOf(true); }\n }\n else {\n while (caretPos <= valLn && !boundary[caretPos])\n { caretPos++; }\n // if we don't find any suitable caret position on right, set it on last allowed position\n if (caretPos > valLn)\n { caretPos = boundary.lastIndexOf(true); }\n }\n // if we still don't find caret position, set it at the end of value\n if (caretPos === -1)\n { caretPos = valLn; }\n return caretPos;\n}\nfunction caretUnknownFormatBoundary(formattedValue) {\n var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function () { return true; });\n for (var i = 0, ln = boundaryAry.length; i < ln; i++) {\n // consider caret to be in boundary if it is before or after numeric value\n boundaryAry[i] = Boolean(charIsNumber(formattedValue[i]) || charIsNumber(formattedValue[i - 1]));\n }\n return boundaryAry;\n}\nfunction useInternalValues(value, defaultValue, valueIsNumericString, format, removeFormatting, onValueChange) {\n if ( onValueChange === void 0 ) onValueChange = noop;\n\n var getValues = usePersistentCallback(function (value, valueIsNumericString) {\n var formattedValue, numAsString;\n if (isNotValidValue(value)) {\n numAsString = '';\n formattedValue = '';\n }\n else if (typeof value === 'number' || valueIsNumericString) {\n numAsString = typeof value === 'number' ? toNumericString(value) : value;\n formattedValue = format(numAsString);\n }\n else {\n numAsString = removeFormatting(value, undefined);\n formattedValue = format(numAsString);\n }\n return { formattedValue: formattedValue, numAsString: numAsString };\n });\n var ref = useState(function () {\n return getValues(isNil(value) ? defaultValue : value, valueIsNumericString);\n });\n var values = ref[0];\n var setValues = ref[1];\n var _onValueChange = function (newValues, sourceInfo) {\n if (newValues.formattedValue !== values.formattedValue) {\n setValues({\n formattedValue: newValues.formattedValue,\n numAsString: newValues.value,\n });\n }\n // call parent on value change if only if formatted value is changed\n onValueChange(newValues, sourceInfo);\n };\n // if value is switch from controlled to uncontrolled, use the internal state's value to format with new props\n var _value = value;\n var _valueIsNumericString = valueIsNumericString;\n if (isNil(value)) {\n _value = values.numAsString;\n _valueIsNumericString = true;\n }\n var newValues = getValues(_value, _valueIsNumericString);\n useMemo(function () {\n setValues(newValues);\n }, [newValues.formattedValue]);\n return [values, _onValueChange];\n}\n\nfunction defaultRemoveFormatting(value) {\n return value.replace(/[^0-9]/g, '');\n}\nfunction defaultFormat(value) {\n return value;\n}\nfunction NumberFormatBase(props) {\n var type = props.type; if ( type === void 0 ) type = 'text';\n var displayType = props.displayType; if ( displayType === void 0 ) displayType = 'input';\n var customInput = props.customInput;\n var renderText = props.renderText;\n var getInputRef = props.getInputRef;\n var format = props.format; if ( format === void 0 ) format = defaultFormat;\n var removeFormatting = props.removeFormatting; if ( removeFormatting === void 0 ) removeFormatting = defaultRemoveFormatting;\n var defaultValue = props.defaultValue;\n var valueIsNumericString = props.valueIsNumericString;\n var onValueChange = props.onValueChange;\n var isAllowed = props.isAllowed;\n var onChange = props.onChange; if ( onChange === void 0 ) onChange = noop;\n var onKeyDown = props.onKeyDown; if ( onKeyDown === void 0 ) onKeyDown = noop;\n var onMouseUp = props.onMouseUp; if ( onMouseUp === void 0 ) onMouseUp = noop;\n var onFocus = props.onFocus; if ( onFocus === void 0 ) onFocus = noop;\n var onBlur = props.onBlur; if ( onBlur === void 0 ) onBlur = noop;\n var propValue = props.value;\n var getCaretBoundary = props.getCaretBoundary; if ( getCaretBoundary === void 0 ) getCaretBoundary = caretUnknownFormatBoundary;\n var isValidInputCharacter = props.isValidInputCharacter; if ( isValidInputCharacter === void 0 ) isValidInputCharacter = charIsNumber;\n var isCharacterSame = props.isCharacterSame;\n var otherProps = __rest(props, [\"type\", \"displayType\", \"customInput\", \"renderText\", \"getInputRef\", \"format\", \"removeFormatting\", \"defaultValue\", \"valueIsNumericString\", \"onValueChange\", \"isAllowed\", \"onChange\", \"onKeyDown\", \"onMouseUp\", \"onFocus\", \"onBlur\", \"value\", \"getCaretBoundary\", \"isValidInputCharacter\", \"isCharacterSame\"]);\n var ref = useInternalValues(propValue, defaultValue, Boolean(valueIsNumericString), format, removeFormatting, onValueChange);\n var ref_0 = ref[0];\n var formattedValue = ref_0.formattedValue;\n var numAsString = ref_0.numAsString;\n var onFormattedValueChange = ref[1];\n var lastUpdatedValue = useRef({ formattedValue: formattedValue, numAsString: numAsString });\n var _onValueChange = function (values, source) {\n lastUpdatedValue.current = { formattedValue: values.formattedValue, numAsString: values.value };\n onFormattedValueChange(values, source);\n };\n var ref$1 = useState(false);\n var mounted = ref$1[0];\n var setMounted = ref$1[1];\n var focusedElm = useRef(null);\n var timeout = useRef({\n setCaretTimeout: null,\n focusTimeout: null,\n });\n useEffect(function () {\n setMounted(true);\n return function () {\n clearTimeout(timeout.current.setCaretTimeout);\n clearTimeout(timeout.current.focusTimeout);\n };\n }, []);\n var _format = format;\n var getValueObject = function (formattedValue, numAsString) {\n var floatValue = parseFloat(numAsString);\n return {\n formattedValue: formattedValue,\n value: numAsString,\n floatValue: isNaN(floatValue) ? undefined : floatValue,\n };\n };\n var setPatchedCaretPosition = function (el, caretPos, currentValue) {\n // don't reset the caret position when the whole input content is selected\n if (el.selectionStart === 0 && el.selectionEnd === el.value.length)\n { return; }\n /* setting caret position within timeout of 0ms is required for mobile chrome,\n otherwise browser resets the caret position after we set it\n We are also setting it without timeout so that in normal browser we don't see the flickering */\n setCaretPosition(el, caretPos);\n timeout.current.setCaretTimeout = setTimeout(function () {\n if (el.value === currentValue && el.selectionStart !== el.selectionEnd) {\n setCaretPosition(el, caretPos);\n }\n }, 0);\n };\n /* This keeps the caret within typing area so people can't type in between prefix or suffix */\n var correctCaretPosition = function (value, caretPos, direction) {\n return getCaretPosInBoundary(value, caretPos, getCaretBoundary(value), direction);\n };\n var getNewCaretPosition = function (inputValue, newFormattedValue, caretPos) {\n var caretBoundary = getCaretBoundary(newFormattedValue);\n var updatedCaretPos = getCaretPosition(newFormattedValue, formattedValue, inputValue, caretPos, caretBoundary, isValidInputCharacter, isCharacterSame);\n //correct caret position if its outside of editable area\n updatedCaretPos = getCaretPosInBoundary(newFormattedValue, updatedCaretPos, caretBoundary);\n return updatedCaretPos;\n };\n var updateValueAndCaretPosition = function (params) {\n var newFormattedValue = params.formattedValue; if ( newFormattedValue === void 0 ) newFormattedValue = '';\n var input = params.input;\n var setCaretPosition = params.setCaretPosition; if ( setCaretPosition === void 0 ) setCaretPosition = true;\n var source = params.source;\n var event = params.event;\n var numAsString = params.numAsString;\n var caretPos = params.caretPos;\n if (input) {\n //calculate caret position if not defined\n if (caretPos === undefined && setCaretPosition) {\n var inputValue = params.inputValue || input.value;\n var currentCaretPosition = geInputCaretPosition(input);\n /**\n * set the value imperatively, this is required for IE fix\n * This is also required as if new caret position is beyond the previous value.\n * Caret position will not be set correctly\n */\n input.value = newFormattedValue;\n //get the caret position\n caretPos = getNewCaretPosition(inputValue, newFormattedValue, currentCaretPosition);\n }\n /**\n * set the value imperatively, as we set the caret position as well imperatively.\n * This is to keep value and caret position in sync\n */\n input.value = newFormattedValue;\n //set caret position, and value imperatively when element is provided\n if (setCaretPosition && caretPos !== undefined) {\n //set caret position\n setPatchedCaretPosition(input, caretPos, newFormattedValue);\n }\n }\n if (newFormattedValue !== formattedValue) {\n // trigger onValueChange synchronously, so parent is updated along with the number format. Fix for #277, #287\n _onValueChange(getValueObject(newFormattedValue, numAsString), { event: event, source: source });\n }\n };\n /**\n * if the formatted value is not synced to parent, or if the formatted value is different from last synced value sync it\n * we also don't need to sync to the parent if no formatting is applied\n * if the formatting props is removed, in which case last formatted value will be different from the numeric string value\n * in such case we need to inform the parent.\n */\n useEffect(function () {\n var ref = lastUpdatedValue.current;\n var lastFormattedValue = ref.formattedValue;\n var lastNumAsString = ref.numAsString;\n if (formattedValue !== lastFormattedValue &&\n (formattedValue !== numAsString || lastFormattedValue !== lastNumAsString)) {\n _onValueChange(getValueObject(formattedValue, numAsString), {\n event: undefined,\n source: SourceType.props,\n });\n }\n }, [formattedValue, numAsString]);\n // also if formatted value is changed from the props, we need to update the caret position\n // keep the last caret position if element is focused\n var currentCaretPosition = focusedElm.current\n ? geInputCaretPosition(focusedElm.current)\n : undefined;\n // needed to prevent warning with useLayoutEffect on server\n var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n useIsomorphicLayoutEffect(function () {\n var input = focusedElm.current;\n if (formattedValue !== lastUpdatedValue.current.formattedValue && input) {\n var caretPos = getNewCaretPosition(lastUpdatedValue.current.formattedValue, formattedValue, currentCaretPosition);\n /**\n * set the value imperatively, as we set the caret position as well imperatively.\n * This is to keep value and caret position in sync\n */\n input.value = formattedValue;\n setPatchedCaretPosition(input, caretPos, formattedValue);\n }\n }, [formattedValue]);\n var formatInputValue = function (inputValue, event, source) {\n var changeRange = findChangeRange(formattedValue, inputValue);\n var changeMeta = Object.assign(Object.assign({}, changeRange), { lastValue: formattedValue });\n var _numAsString = removeFormatting(inputValue, changeMeta);\n var _formattedValue = _format(_numAsString);\n // formatting can remove some of the number chars, so we need to fine number string again\n _numAsString = removeFormatting(_formattedValue, undefined);\n if (isAllowed && !isAllowed(getValueObject(_formattedValue, _numAsString))) {\n //reset the caret position\n var input = event.target;\n var currentCaretPosition = geInputCaretPosition(input);\n var caretPos = getNewCaretPosition(inputValue, formattedValue, currentCaretPosition);\n input.value = formattedValue;\n setPatchedCaretPosition(input, caretPos, formattedValue);\n return false;\n }\n updateValueAndCaretPosition({\n formattedValue: _formattedValue,\n numAsString: _numAsString,\n inputValue: inputValue,\n event: event,\n source: source,\n setCaretPosition: true,\n input: event.target,\n });\n return true;\n };\n var _onChange = function (e) {\n var el = e.target;\n var inputValue = el.value;\n var changed = formatInputValue(inputValue, e, SourceType.event);\n if (changed)\n { onChange(e); }\n };\n var _onKeyDown = function (e) {\n var el = e.target;\n var key = e.key;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n var expectedCaretPosition;\n //Handle backspace and delete against non numerical/decimal characters or arrow keys\n if (key === 'ArrowLeft' || key === 'Backspace') {\n expectedCaretPosition = Math.max(selectionStart - 1, 0);\n }\n else if (key === 'ArrowRight') {\n expectedCaretPosition = Math.min(selectionStart + 1, value.length);\n }\n else if (key === 'Delete') {\n expectedCaretPosition = selectionStart;\n }\n //if expectedCaretPosition is not set it means we don't want to Handle keyDown\n // also if multiple characters are selected don't handle\n if (expectedCaretPosition === undefined || selectionStart !== selectionEnd) {\n onKeyDown(e);\n return;\n }\n var newCaretPosition = expectedCaretPosition;\n if (key === 'ArrowLeft' || key === 'ArrowRight') {\n var direction = key === 'ArrowLeft' ? 'left' : 'right';\n newCaretPosition = correctCaretPosition(value, expectedCaretPosition, direction);\n // arrow left or right only moves the caret, so no need to handle the event, if we are handling it manually\n if (newCaretPosition !== expectedCaretPosition) {\n e.preventDefault();\n }\n }\n else if (key === 'Delete' && !isValidInputCharacter(value[expectedCaretPosition])) {\n // in case of delete go to closest caret boundary on the right side\n newCaretPosition = correctCaretPosition(value, expectedCaretPosition, 'right');\n }\n else if (key === 'Backspace' && !isValidInputCharacter(value[expectedCaretPosition])) {\n // in case of backspace go to closest caret boundary on the left side\n newCaretPosition = correctCaretPosition(value, expectedCaretPosition, 'left');\n }\n if (newCaretPosition !== expectedCaretPosition) {\n setPatchedCaretPosition(el, newCaretPosition, value);\n }\n /* NOTE: this is just required for unit test as we need to get the newCaretPosition,\n Remove this when you find different solution */\n /* @ts-ignore */\n if (e.isUnitTestRun) {\n setPatchedCaretPosition(el, newCaretPosition, value);\n }\n onKeyDown(e);\n };\n /** required to handle the caret position when click anywhere within the input **/\n var _onMouseUp = function (e) {\n var el = e.target;\n /**\n * NOTE: we have to give default value for value as in case when custom input is provided\n * value can come as undefined when nothing is provided on value prop.\n */\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n if (selectionStart === selectionEnd) {\n var caretPosition = correctCaretPosition(value, selectionStart);\n if (caretPosition !== selectionStart) {\n setPatchedCaretPosition(el, caretPosition, value);\n }\n }\n onMouseUp(e);\n };\n var _onFocus = function (e) {\n // Workaround Chrome and Safari bug https://bugs.chromium.org/p/chromium/issues/detail?id=779328\n // (onFocus event target selectionStart is always 0 before setTimeout)\n if (e.persist)\n { e.persist(); }\n var el = e.target;\n focusedElm.current = el;\n timeout.current.focusTimeout = setTimeout(function () {\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n var caretPosition = correctCaretPosition(value, selectionStart);\n //setPatchedCaretPosition only when everything is not selected on focus (while tabbing into the field)\n if (caretPosition !== selectionStart &&\n !(selectionStart === 0 && selectionEnd === value.length)) {\n setPatchedCaretPosition(el, caretPosition, value);\n }\n onFocus(e);\n }, 0);\n };\n var _onBlur = function (e) {\n focusedElm.current = null;\n clearTimeout(timeout.current.focusTimeout);\n clearTimeout(timeout.current.setCaretTimeout);\n onBlur(e);\n };\n // add input mode on element based on format prop and device once the component is mounted\n var inputMode = mounted && addInputMode() ? 'numeric' : undefined;\n var inputProps = Object.assign({ inputMode: inputMode }, otherProps, {\n type: type,\n value: formattedValue,\n onChange: _onChange,\n onKeyDown: _onKeyDown,\n onMouseUp: _onMouseUp,\n onFocus: _onFocus,\n onBlur: _onBlur,\n });\n if (displayType === 'text') {\n return renderText ? (React.createElement(React.Fragment, null, renderText(formattedValue, otherProps) || null)) : (React.createElement(\"span\", Object.assign({}, otherProps, { ref: getInputRef }), formattedValue));\n }\n else if (customInput) {\n var CustomInput = customInput;\n /* @ts-ignore */\n return React.createElement(CustomInput, Object.assign({}, inputProps, { ref: getInputRef }));\n }\n return React.createElement(\"input\", Object.assign({}, inputProps, { ref: getInputRef }));\n}\n\nfunction format(numStr, props) {\n var decimalScale = props.decimalScale;\n var fixedDecimalScale = props.fixedDecimalScale;\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var suffix = props.suffix; if ( suffix === void 0 ) suffix = '';\n var allowNegative = props.allowNegative;\n var thousandsGroupStyle = props.thousandsGroupStyle; if ( thousandsGroupStyle === void 0 ) thousandsGroupStyle = 'thousand';\n // don't apply formatting on empty string or '-'\n if (numStr === '' || numStr === '-') {\n return numStr;\n }\n var ref = getSeparators(props);\n var thousandSeparator = ref.thousandSeparator;\n var decimalSeparator = ref.decimalSeparator;\n /**\n * Keep the decimal separator\n * when decimalScale is not defined or non zero and the numStr has decimal in it\n * Or if decimalScale is > 0 and fixeDecimalScale is true (even if numStr has no decimal)\n */\n var hasDecimalSeparator = (decimalScale !== 0 && numStr.indexOf('.') !== -1) || (decimalScale && fixedDecimalScale);\n var ref$1 = splitDecimal(numStr, allowNegative);\n var beforeDecimal = ref$1.beforeDecimal;\n var afterDecimal = ref$1.afterDecimal;\n var addNegation = ref$1.addNegation; // eslint-disable-line prefer-const\n //apply decimal precision if its defined\n if (decimalScale !== undefined) {\n afterDecimal = limitToScale(afterDecimal, decimalScale, !!fixedDecimalScale);\n }\n if (thousandSeparator) {\n beforeDecimal = applyThousandSeparator(beforeDecimal, thousandSeparator, thousandsGroupStyle);\n }\n //add prefix and suffix when there is a number present\n if (prefix)\n { beforeDecimal = prefix + beforeDecimal; }\n if (suffix)\n { afterDecimal = afterDecimal + suffix; }\n //restore negation sign\n if (addNegation)\n { beforeDecimal = '-' + beforeDecimal; }\n numStr = beforeDecimal + ((hasDecimalSeparator && decimalSeparator) || '') + afterDecimal;\n return numStr;\n}\nfunction getSeparators(props) {\n var decimalSeparator = props.decimalSeparator; if ( decimalSeparator === void 0 ) decimalSeparator = '.';\n var thousandSeparator = props.thousandSeparator;\n var allowedDecimalSeparators = props.allowedDecimalSeparators;\n if (thousandSeparator === true) {\n thousandSeparator = ',';\n }\n if (!allowedDecimalSeparators) {\n allowedDecimalSeparators = [decimalSeparator, '.'];\n }\n return {\n decimalSeparator: decimalSeparator,\n thousandSeparator: thousandSeparator,\n allowedDecimalSeparators: allowedDecimalSeparators,\n };\n}\nfunction handleNegation(value, allowNegative) {\n if ( value === void 0 ) value = '';\n\n var negationRegex = new RegExp('(-)');\n var doubleNegationRegex = new RegExp('(-)(.)*(-)');\n // Check number has '-' value\n var hasNegation = negationRegex.test(value);\n // Check number has 2 or more '-' values\n var removeNegation = doubleNegationRegex.test(value);\n //remove negation\n value = value.replace(/-/g, '');\n if (hasNegation && !removeNegation && allowNegative) {\n value = '-' + value;\n }\n return value;\n}\nfunction getNumberRegex(decimalSeparator, global) {\n return new RegExp((\"(^-)|[0-9]|\" + (escapeRegExp(decimalSeparator))), global ? 'g' : undefined);\n}\nfunction isNumericString(val, prefix, suffix) {\n // for empty value we can always treat it as numeric string\n if (val === '')\n { return true; }\n return (!(prefix === null || prefix === void 0 ? void 0 : prefix.match(/\\d/)) && !(suffix === null || suffix === void 0 ? void 0 : suffix.match(/\\d/)) && typeof val === 'string' && !isNaN(Number(val)));\n}\nfunction removeFormatting(value, changeMeta, props) {\n var assign;\n\n if ( changeMeta === void 0 ) changeMeta = getDefaultChangeMeta(value);\n var allowNegative = props.allowNegative;\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var suffix = props.suffix; if ( suffix === void 0 ) suffix = '';\n var decimalScale = props.decimalScale;\n var from = changeMeta.from;\n var to = changeMeta.to;\n var start = to.start;\n var end = to.end;\n var ref = getSeparators(props);\n var allowedDecimalSeparators = ref.allowedDecimalSeparators;\n var decimalSeparator = ref.decimalSeparator;\n var isBeforeDecimalSeparator = value[end] === decimalSeparator;\n /**\n * If only a number is added on empty input which matches with the prefix or suffix,\n * then don't remove it, just return the same\n */\n if (charIsNumber(value) &&\n (value === prefix || value === suffix) &&\n changeMeta.lastValue === '') {\n return value;\n }\n /** Check for any allowed decimal separator is added in the numeric format and replace it with decimal separator */\n if (end - start === 1 && allowedDecimalSeparators.indexOf(value[start]) !== -1) {\n var separator = decimalScale === 0 ? '' : decimalSeparator;\n value = value.substring(0, start) + separator + value.substring(start + 1, value.length);\n }\n var stripNegation = function (value, start, end) {\n /**\n * if prefix starts with - we don't allow negative number to avoid confusion\n * if suffix starts with - and the value length is same as suffix length, then the - sign is from the suffix\n * In other cases, if the value starts with - then it is a negation\n */\n var hasNegation = false;\n var hasDoubleNegation = false;\n if (prefix.startsWith('-')) {\n hasNegation = false;\n }\n else if (value.startsWith('--')) {\n hasNegation = false;\n hasDoubleNegation = true;\n }\n else if (suffix.startsWith('-') && value.length === suffix.length) {\n hasNegation = false;\n }\n else if (value[0] === '-') {\n hasNegation = true;\n }\n var charsToRemove = hasNegation ? 1 : 0;\n if (hasDoubleNegation)\n { charsToRemove = 2; }\n // remove negation/double negation from start to simplify prefix logic as negation comes before prefix\n if (charsToRemove) {\n value = value.substring(charsToRemove);\n // account for the removal of the negation for start and end index\n start -= charsToRemove;\n end -= charsToRemove;\n }\n return { value: value, start: start, end: end, hasNegation: hasNegation };\n };\n var toMetadata = stripNegation(value, start, end);\n var hasNegation = toMetadata.hasNegation;\n ((assign = toMetadata, value = assign.value, start = assign.start, end = assign.end));\n var ref$1 = stripNegation(changeMeta.lastValue, from.start, from.end);\n var fromStart = ref$1.start;\n var fromEnd = ref$1.end;\n var lastValue = ref$1.value;\n // if only prefix and suffix part is updated reset the value to last value\n // if the changed range is from suffix in the updated value, and the the suffix starts with the same characters, allow the change\n var updatedSuffixPart = value.substring(start, end);\n if (value.length &&\n lastValue.length &&\n (fromStart > lastValue.length - suffix.length || fromEnd < prefix.length) &&\n !(updatedSuffixPart && suffix.startsWith(updatedSuffixPart))) {\n value = lastValue;\n }\n /**\n * remove prefix\n * Remove whole prefix part if its present on the value\n * If the prefix is partially deleted (in which case change start index will be less the prefix length)\n * Remove only partial part of prefix.\n */\n var startIndex = 0;\n if (value.startsWith(prefix))\n { startIndex += prefix.length; }\n else if (start < prefix.length)\n { startIndex = start; }\n value = value.substring(startIndex);\n // account for deleted prefix for end\n end -= startIndex;\n /**\n * Remove suffix\n * Remove whole suffix part if its present on the value\n * If the suffix is partially deleted (in which case change end index will be greater than the suffixStartIndex)\n * remove the partial part of suffix\n */\n var endIndex = value.length;\n var suffixStartIndex = value.length - suffix.length;\n if (value.endsWith(suffix))\n { endIndex = suffixStartIndex; }\n // if the suffix is removed from the end\n else if (end > suffixStartIndex)\n { endIndex = end; }\n // if the suffix is removed from start\n else if (end > value.length - suffix.length)\n { endIndex = end; }\n value = value.substring(0, endIndex);\n // add the negation back and handle for double negation\n value = handleNegation(hasNegation ? (\"-\" + value) : value, allowNegative);\n // remove non numeric characters\n value = (value.match(getNumberRegex(decimalSeparator, true)) || []).join('');\n // replace the decimalSeparator with ., and only keep the first separator, ignore following ones\n var firstIndex = value.indexOf(decimalSeparator);\n value = value.replace(new RegExp(escapeRegExp(decimalSeparator), 'g'), function (match, index) {\n return index === firstIndex ? '.' : '';\n });\n //check if beforeDecimal got deleted and there is nothing after decimal,\n //clear all numbers in such case while keeping the - sign\n var ref$2 = splitDecimal(value, allowNegative);\n var beforeDecimal = ref$2.beforeDecimal;\n var afterDecimal = ref$2.afterDecimal;\n var addNegation = ref$2.addNegation; // eslint-disable-line prefer-const\n //clear only if something got deleted before decimal (cursor is before decimal)\n if (to.end - to.start < from.end - from.start &&\n beforeDecimal === '' &&\n isBeforeDecimalSeparator &&\n !parseFloat(afterDecimal)) {\n value = addNegation ? '-' : '';\n }\n return value;\n}\nfunction getCaretBoundary(formattedValue, props) {\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var suffix = props.suffix; if ( suffix === void 0 ) suffix = '';\n var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function () { return true; });\n var hasNegation = formattedValue[0] === '-';\n // fill for prefix and negation\n boundaryAry.fill(false, 0, prefix.length + (hasNegation ? 1 : 0));\n // fill for suffix\n var valLn = formattedValue.length;\n boundaryAry.fill(false, valLn - suffix.length + 1, valLn + 1);\n return boundaryAry;\n}\nfunction validateAndUpdateProps(props) {\n var ref = getSeparators(props);\n var thousandSeparator = ref.thousandSeparator;\n var decimalSeparator = ref.decimalSeparator;\n // eslint-disable-next-line prefer-const\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var allowNegative = props.allowNegative; if ( allowNegative === void 0 ) allowNegative = true;\n if (thousandSeparator === decimalSeparator) {\n throw new Error((\"\\n Decimal separator can't be same as thousand separator.\\n thousandSeparator: \" + thousandSeparator + \" (thousandSeparator = {true} is same as thousandSeparator = \\\",\\\")\\n decimalSeparator: \" + decimalSeparator + \" (default value for decimalSeparator is .)\\n \"));\n }\n if (prefix.startsWith('-') && allowNegative) {\n // TODO: throw error in next major version\n console.error((\"\\n Prefix can't start with '-' when allowNegative is true.\\n prefix: \" + prefix + \"\\n allowNegative: \" + allowNegative + \"\\n \"));\n allowNegative = false;\n }\n return Object.assign(Object.assign({}, props), { allowNegative: allowNegative });\n}\nfunction useNumericFormat(props) {\n // validate props\n props = validateAndUpdateProps(props);\n var _decimalSeparator = props.decimalSeparator;\n var _allowedDecimalSeparators = props.allowedDecimalSeparators;\n var thousandsGroupStyle = props.thousandsGroupStyle;\n var suffix = props.suffix;\n var allowNegative = props.allowNegative;\n var allowLeadingZeros = props.allowLeadingZeros;\n var onKeyDown = props.onKeyDown; if ( onKeyDown === void 0 ) onKeyDown = noop;\n var onBlur = props.onBlur; if ( onBlur === void 0 ) onBlur = noop;\n var thousandSeparator = props.thousandSeparator;\n var decimalScale = props.decimalScale;\n var fixedDecimalScale = props.fixedDecimalScale;\n var prefix = props.prefix; if ( prefix === void 0 ) prefix = '';\n var defaultValue = props.defaultValue;\n var value = props.value;\n var valueIsNumericString = props.valueIsNumericString;\n var onValueChange = props.onValueChange;\n var restProps = __rest(props, [\"decimalSeparator\", \"allowedDecimalSeparators\", \"thousandsGroupStyle\", \"suffix\", \"allowNegative\", \"allowLeadingZeros\", \"onKeyDown\", \"onBlur\", \"thousandSeparator\", \"decimalScale\", \"fixedDecimalScale\", \"prefix\", \"defaultValue\", \"value\", \"valueIsNumericString\", \"onValueChange\"]);\n // get derived decimalSeparator and allowedDecimalSeparators\n var ref = getSeparators(props);\n var decimalSeparator = ref.decimalSeparator;\n var allowedDecimalSeparators = ref.allowedDecimalSeparators;\n var _format = function (numStr) { return format(numStr, props); };\n var _removeFormatting = function (inputValue, changeMeta) { return removeFormatting(inputValue, changeMeta, props); };\n var _value = isNil(value) ? defaultValue : value;\n // try to figure out isValueNumericString based on format prop and value\n var _valueIsNumericString = valueIsNumericString !== null && valueIsNumericString !== void 0 ? valueIsNumericString : isNumericString(_value, prefix, suffix);\n if (!isNil(value)) {\n _valueIsNumericString = _valueIsNumericString || typeof value === 'number';\n }\n else if (!isNil(defaultValue)) {\n _valueIsNumericString = _valueIsNumericString || typeof defaultValue === 'number';\n }\n var roundIncomingValueToPrecision = function (value) {\n if (isNotValidValue(value))\n { return value; }\n if (typeof value === 'number') {\n value = toNumericString(value);\n }\n /**\n * only round numeric or float string values coming through props,\n * we don't need to do it for onChange events, as we want to prevent typing there\n */\n if (_valueIsNumericString && typeof decimalScale === 'number') {\n return roundToPrecision(value, decimalScale, Boolean(fixedDecimalScale));\n }\n return value;\n };\n var ref$1 = useInternalValues(roundIncomingValueToPrecision(value), roundIncomingValueToPrecision(defaultValue), Boolean(_valueIsNumericString), _format, _removeFormatting, onValueChange);\n var ref$1_0 = ref$1[0];\n var numAsString = ref$1_0.numAsString;\n var formattedValue = ref$1_0.formattedValue;\n var _onValueChange = ref$1[1];\n var _onKeyDown = function (e) {\n var el = e.target;\n var key = e.key;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n // if multiple characters are selected and user hits backspace, no need to handle anything manually\n if (selectionStart !== selectionEnd) {\n onKeyDown(e);\n return;\n }\n // if user hits backspace, while the cursor is before prefix, and the input has negation, remove the negation\n if (key === 'Backspace' &&\n value[0] === '-' &&\n selectionStart === prefix.length + 1 &&\n allowNegative) {\n // bring the cursor to after negation\n setCaretPosition(el, 1);\n }\n // don't allow user to delete decimal separator when decimalScale and fixedDecimalScale is set\n if (decimalScale && fixedDecimalScale) {\n if (key === 'Backspace' && value[selectionStart - 1] === decimalSeparator) {\n setCaretPosition(el, selectionStart - 1);\n e.preventDefault();\n }\n else if (key === 'Delete' && value[selectionStart] === decimalSeparator) {\n e.preventDefault();\n }\n }\n // if user presses the allowed decimal separator before the separator, move the cursor after the separator\n if ((allowedDecimalSeparators === null || allowedDecimalSeparators === void 0 ? void 0 : allowedDecimalSeparators.includes(key)) && value[selectionStart] === decimalSeparator) {\n setCaretPosition(el, selectionStart + 1);\n }\n var _thousandSeparator = thousandSeparator === true ? ',' : thousandSeparator;\n // move cursor when delete or backspace is pressed before/after thousand separator\n if (key === 'Backspace' && value[selectionStart - 1] === _thousandSeparator) {\n setCaretPosition(el, selectionStart - 1);\n }\n if (key === 'Delete' && value[selectionStart] === _thousandSeparator) {\n setCaretPosition(el, selectionStart + 1);\n }\n onKeyDown(e);\n };\n var _onBlur = function (e) {\n var _value = numAsString;\n // if there no no numeric value, clear the input\n if (!_value.match(/\\d/g)) {\n _value = '';\n }\n // clear leading 0s\n if (!allowLeadingZeros) {\n _value = fixLeadingZero(_value);\n }\n // apply fixedDecimalScale on blur event\n if (fixedDecimalScale && decimalScale) {\n _value = roundToPrecision(_value, decimalScale, fixedDecimalScale);\n }\n if (_value !== numAsString) {\n var formattedValue = format(_value, props);\n _onValueChange({\n formattedValue: formattedValue,\n value: _value,\n floatValue: parseFloat(_value),\n }, {\n event: e,\n source: SourceType.event,\n });\n }\n onBlur(e);\n };\n var isValidInputCharacter = function (inputChar) {\n if (inputChar === decimalSeparator)\n { return true; }\n return charIsNumber(inputChar);\n };\n var isCharacterSame = function (ref) {\n var currentValue = ref.currentValue;\n var lastValue = ref.lastValue;\n var formattedValue = ref.formattedValue;\n var currentValueIndex = ref.currentValueIndex;\n var formattedValueIndex = ref.formattedValueIndex;\n\n var curChar = currentValue[currentValueIndex];\n var newChar = formattedValue[formattedValueIndex];\n /**\n * NOTE: as thousand separator and allowedDecimalSeparators can be same, we need to check on\n * typed range if we have typed any character from allowedDecimalSeparators, in that case we\n * consider different characters like , and . same within the range of updated value.\n */\n var typedRange = findChangeRange(lastValue, currentValue);\n var to = typedRange.to;\n if (currentValueIndex >= to.start &&\n currentValueIndex < to.end &&\n allowedDecimalSeparators &&\n allowedDecimalSeparators.includes(curChar) &&\n newChar === decimalSeparator) {\n return true;\n }\n return curChar === newChar;\n };\n return Object.assign(Object.assign({}, restProps), { value: formattedValue, valueIsNumericString: false, isValidInputCharacter: isValidInputCharacter,\n isCharacterSame: isCharacterSame, onValueChange: _onValueChange, format: _format, removeFormatting: _removeFormatting, getCaretBoundary: function (formattedValue) { return getCaretBoundary(formattedValue, props); }, onKeyDown: _onKeyDown, onBlur: _onBlur });\n}\nfunction NumericFormat(props) {\n var numericFormatProps = useNumericFormat(props);\n return React.createElement(NumberFormatBase, Object.assign({}, numericFormatProps));\n}\n\nfunction format$1(numStr, props) {\n var format = props.format;\n var allowEmptyFormatting = props.allowEmptyFormatting;\n var mask = props.mask;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n if (numStr === '' && !allowEmptyFormatting)\n { return ''; }\n var hashCount = 0;\n var formattedNumberAry = format.split('');\n for (var i = 0, ln = format.length; i < ln; i++) {\n if (format[i] === patternChar) {\n formattedNumberAry[i] = numStr[hashCount] || getMaskAtIndex(mask, hashCount);\n hashCount += 1;\n }\n }\n return formattedNumberAry.join('');\n}\nfunction removeFormatting$1(value, changeMeta, props) {\n if ( changeMeta === void 0 ) changeMeta = getDefaultChangeMeta(value);\n\n var format = props.format;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n var from = changeMeta.from;\n var to = changeMeta.to;\n var lastValue = changeMeta.lastValue; if ( lastValue === void 0 ) lastValue = '';\n var isNumericSlot = function (caretPos) { return format[caretPos] === patternChar; };\n var removeFormatChar = function (string, startIndex) {\n var str = '';\n for (var i = 0; i < string.length; i++) {\n if (isNumericSlot(startIndex + i) && charIsNumber(string[i])) {\n str += string[i];\n }\n }\n return str;\n };\n var extractNumbers = function (str) { return str.replace(/[^0-9]/g, ''); };\n // if format doesn't have any number, remove all the non numeric characters\n if (!format.match(/\\d/)) {\n return extractNumbers(value);\n }\n /**\n * if user paste the whole formatted text in an empty input, check if matches to the pattern\n * and remove the format characters, if there is a mismatch on the pattern, do plane number extract\n */\n if (lastValue === '' && value.length === format.length) {\n var str = '';\n for (var i = 0; i < value.length; i++) {\n if (isNumericSlot(i)) {\n if (charIsNumber(value[i])) {\n str += value[i];\n }\n }\n else if (value[i] !== format[i]) {\n // if there is a mismatch on the pattern, do plane number extract\n return extractNumbers(value);\n }\n }\n return str;\n }\n /**\n * For partial change,\n * where ever there is a change on the input, we can break the number in three parts\n * 1st: left part which is unchanged\n * 2nd: middle part which is changed\n * 3rd: right part which is unchanged\n *\n * The first and third section will be same as last value, only the middle part will change\n * We can consider on the change part all the new characters are non format characters.\n * And on the first and last section it can have partial format characters.\n *\n * We pick first and last section from the lastValue (as that has 1-1 mapping with format)\n * and middle one from the update value.\n */\n var firstSection = lastValue.substring(0, from.start);\n var middleSection = value.substring(to.start, to.end);\n var lastSection = lastValue.substring(from.end);\n return (\"\" + (removeFormatChar(firstSection, 0)) + (extractNumbers(middleSection)) + (removeFormatChar(lastSection, from.end)));\n}\nfunction getCaretBoundary$1(formattedValue, props) {\n var format = props.format;\n var mask = props.mask;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function () { return true; });\n var hashCount = 0;\n var firstEmptySlot = -1;\n var maskAndIndexMap = {};\n format.split('').forEach(function (char, index) {\n var maskAtIndex = undefined;\n if (char === patternChar) {\n hashCount++;\n maskAtIndex = getMaskAtIndex(mask, hashCount - 1);\n if (firstEmptySlot === -1 && formattedValue[index] === maskAtIndex) {\n firstEmptySlot = index;\n }\n }\n maskAndIndexMap[index] = maskAtIndex;\n });\n var isPosAllowed = function (pos) {\n // the position is allowed if the position is not masked and valid number area\n return format[pos] === patternChar && formattedValue[pos] !== maskAndIndexMap[pos];\n };\n for (var i = 0, ln = boundaryAry.length; i < ln; i++) {\n // consider caret to be in boundary if it is before or after numeric value\n // Note: on pattern based format its denoted by patternCharacter\n // we should also allow user to put cursor on first empty slot\n boundaryAry[i] = i === firstEmptySlot || isPosAllowed(i) || isPosAllowed(i - 1);\n }\n // the first patternChar position is always allowed\n boundaryAry[format.indexOf(patternChar)] = true;\n return boundaryAry;\n}\nfunction validateProps(props) {\n var mask = props.mask;\n if (mask) {\n var maskAsStr = mask === 'string' ? mask : mask.toString();\n if (maskAsStr.match(/\\d/g)) {\n throw new Error((\"Mask \" + mask + \" should not contain numeric character;\"));\n }\n }\n}\nfunction isNumericString$1(val, format) {\n //we can treat empty string as numeric string\n if (val === '')\n { return true; }\n return !(format === null || format === void 0 ? void 0 : format.match(/\\d/)) && typeof val === 'string' && (!!val.match(/^\\d+$/) || val === '');\n}\nfunction usePatternFormat(props) {\n var mask = props.mask;\n var allowEmptyFormatting = props.allowEmptyFormatting;\n var formatProp = props.format;\n var inputMode = props.inputMode; if ( inputMode === void 0 ) inputMode = 'numeric';\n var onKeyDown = props.onKeyDown; if ( onKeyDown === void 0 ) onKeyDown = noop;\n var patternChar = props.patternChar; if ( patternChar === void 0 ) patternChar = '#';\n var value = props.value;\n var defaultValue = props.defaultValue;\n var valueIsNumericString = props.valueIsNumericString;\n var restProps = __rest(props, [\"mask\", \"allowEmptyFormatting\", \"format\", \"inputMode\", \"onKeyDown\", \"patternChar\", \"value\", \"defaultValue\", \"valueIsNumericString\"]);\n // validate props\n validateProps(props);\n var _getCaretBoundary = function (formattedValue) {\n return getCaretBoundary$1(formattedValue, props);\n };\n var _onKeyDown = function (e) {\n var key = e.key;\n var el = e.target;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value;\n // if multiple characters are selected and user hits backspace, no need to handle anything manually\n if (selectionStart !== selectionEnd) {\n onKeyDown(e);\n return;\n }\n // bring the cursor to closest numeric section\n var caretPos = selectionStart;\n // if backspace is pressed after the format characters, bring it to numeric section\n // if delete is pressed before the format characters, bring it to numeric section\n if (key === 'Backspace' || key === 'Delete') {\n var direction = 'right';\n if (key === 'Backspace') {\n while (caretPos > 0 && formatProp[caretPos - 1] !== patternChar) {\n caretPos--;\n }\n direction = 'left';\n }\n else {\n var formatLn = formatProp.length;\n while (caretPos < formatLn && formatProp[caretPos] !== patternChar) {\n caretPos++;\n }\n direction = 'right';\n }\n caretPos = getCaretPosInBoundary(value, caretPos, _getCaretBoundary(value), direction);\n }\n else if (formatProp[caretPos] !== patternChar &&\n key !== 'ArrowLeft' &&\n key !== 'ArrowRight') {\n // if user is typing on format character position, bring user to next allowed caret position\n caretPos = getCaretPosInBoundary(value, caretPos + 1, _getCaretBoundary(value), 'right');\n }\n // if we changing caret position, set the caret position\n if (caretPos !== selectionStart) {\n setCaretPosition(el, caretPos);\n }\n onKeyDown(e);\n };\n // try to figure out isValueNumericString based on format prop and value\n var _value = isNil(value) ? defaultValue : value;\n var isValueNumericString = valueIsNumericString !== null && valueIsNumericString !== void 0 ? valueIsNumericString : isNumericString$1(_value, formatProp);\n var _props = Object.assign(Object.assign({}, props), { valueIsNumericString: isValueNumericString });\n return Object.assign(Object.assign({}, restProps), { value: value,\n defaultValue: defaultValue, valueIsNumericString: isValueNumericString, inputMode: inputMode, format: function (numStr) { return format$1(numStr, _props); }, removeFormatting: function (inputValue, changeMeta) { return removeFormatting$1(inputValue, changeMeta, _props); }, getCaretBoundary: _getCaretBoundary, onKeyDown: _onKeyDown });\n}\nfunction PatternFormat(props) {\n var patternFormatProps = usePatternFormat(props);\n return React.createElement(NumberFormatBase, Object.assign({}, patternFormatProps));\n}\n\nexport { NumberFormatBase, NumericFormat, PatternFormat, getCaretBoundary as getNumericCaretBoundary, getCaretBoundary$1 as getPatternCaretBoundary, format as numericFormatter, format$1 as patternFormatter, removeFormatting as removeNumericFormat, removeFormatting$1 as removePatternFormat, useNumericFormat, usePatternFormat };\n","// src/checkbox-context.ts\nimport { createContext } from \"@chakra-ui/react-context\";\nvar [CheckboxGroupProvider, useCheckboxGroupContext] = createContext({\n name: \"CheckboxGroupContext\",\n strict: false\n});\n\nexport {\n CheckboxGroupProvider,\n useCheckboxGroupContext\n};\n","// src/use-checkbox.ts\nimport { useFormControlProps } from \"@chakra-ui/form-control\";\nimport { useSafeLayoutEffect } from \"@chakra-ui/react-use-safe-layout-effect\";\nimport { useUpdateEffect } from \"@chakra-ui/react-use-update-effect\";\nimport { useCallbackRef } from \"@chakra-ui/react-use-callback-ref\";\nimport { mergeRefs } from \"@chakra-ui/react-use-merge-refs\";\nimport { callAllHandlers, dataAttr } from \"@chakra-ui/shared-utils\";\n\n// ../../utilities/object-utils/src/omit.ts\nfunction omit(object, keysToOmit = []) {\n const clone = Object.assign({}, object);\n for (const key of keysToOmit) {\n if (key in clone) {\n delete clone[key];\n }\n }\n return clone;\n}\n\n// src/use-checkbox.ts\nimport { visuallyHiddenStyle } from \"@chakra-ui/visually-hidden\";\nimport { trackFocusVisible } from \"@zag-js/focus-visible\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nfunction useCheckbox(props = {}) {\n const formControlProps = useFormControlProps(props);\n const {\n isDisabled,\n isReadOnly,\n isRequired,\n isInvalid,\n id,\n onBlur,\n onFocus,\n \"aria-describedby\": ariaDescribedBy\n } = formControlProps;\n const {\n defaultChecked,\n isChecked: checkedProp,\n isFocusable,\n onChange,\n isIndeterminate,\n name,\n value,\n tabIndex = void 0,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-invalid\": ariaInvalid,\n ...rest\n } = props;\n const htmlProps = omit(rest, [\n \"isDisabled\",\n \"isReadOnly\",\n \"isRequired\",\n \"isInvalid\",\n \"id\",\n \"onBlur\",\n \"onFocus\",\n \"aria-describedby\"\n ]);\n const onChangeProp = useCallbackRef(onChange);\n const onBlurProp = useCallbackRef(onBlur);\n const onFocusProp = useCallbackRef(onFocus);\n const [isFocusVisible, setIsFocusVisible] = useState(false);\n const [isFocused, setFocused] = useState(false);\n const [isHovered, setHovered] = useState(false);\n const [isActive, setActive] = useState(false);\n useEffect(() => {\n return trackFocusVisible(setIsFocusVisible);\n }, []);\n const inputRef = useRef(null);\n const [rootIsLabelElement, setRootIsLabelElement] = useState(true);\n const [checkedState, setCheckedState] = useState(!!defaultChecked);\n const isControlled = checkedProp !== void 0;\n const isChecked = isControlled ? checkedProp : checkedState;\n const handleChange = useCallback(\n (event) => {\n if (isReadOnly || isDisabled) {\n event.preventDefault();\n return;\n }\n if (!isControlled) {\n if (isChecked) {\n setCheckedState(event.target.checked);\n } else {\n setCheckedState(isIndeterminate ? true : event.target.checked);\n }\n }\n onChangeProp == null ? void 0 : onChangeProp(event);\n },\n [\n isReadOnly,\n isDisabled,\n isChecked,\n isControlled,\n isIndeterminate,\n onChangeProp\n ]\n );\n useSafeLayoutEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = Boolean(isIndeterminate);\n }\n }, [isIndeterminate]);\n useUpdateEffect(() => {\n if (isDisabled) {\n setFocused(false);\n }\n }, [isDisabled, setFocused]);\n useSafeLayoutEffect(() => {\n const el = inputRef.current;\n if (!(el == null ? void 0 : el.form))\n return;\n el.form.onreset = () => {\n setCheckedState(!!defaultChecked);\n };\n }, []);\n const trulyDisabled = isDisabled && !isFocusable;\n const onKeyDown = useCallback(\n (event) => {\n if (event.key === \" \") {\n setActive(true);\n }\n },\n [setActive]\n );\n const onKeyUp = useCallback(\n (event) => {\n if (event.key === \" \") {\n setActive(false);\n }\n },\n [setActive]\n );\n useSafeLayoutEffect(() => {\n if (!inputRef.current)\n return;\n const notInSync = inputRef.current.checked !== isChecked;\n if (notInSync) {\n setCheckedState(inputRef.current.checked);\n }\n }, [inputRef.current]);\n const getCheckboxProps = useCallback(\n (props2 = {}, forwardedRef = null) => {\n const onPressDown = (event) => {\n if (isFocused) {\n event.preventDefault();\n }\n setActive(true);\n };\n return {\n ...props2,\n ref: forwardedRef,\n \"data-active\": dataAttr(isActive),\n \"data-hover\": dataAttr(isHovered),\n \"data-checked\": dataAttr(isChecked),\n \"data-focus\": dataAttr(isFocused),\n \"data-focus-visible\": dataAttr(isFocused && isFocusVisible),\n \"data-indeterminate\": dataAttr(isIndeterminate),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-invalid\": dataAttr(isInvalid),\n \"data-readonly\": dataAttr(isReadOnly),\n \"aria-hidden\": true,\n onMouseDown: callAllHandlers(props2.onMouseDown, onPressDown),\n onMouseUp: callAllHandlers(props2.onMouseUp, () => setActive(false)),\n onMouseEnter: callAllHandlers(\n props2.onMouseEnter,\n () => setHovered(true)\n ),\n onMouseLeave: callAllHandlers(\n props2.onMouseLeave,\n () => setHovered(false)\n )\n };\n },\n [\n isActive,\n isChecked,\n isDisabled,\n isFocused,\n isFocusVisible,\n isHovered,\n isIndeterminate,\n isInvalid,\n isReadOnly\n ]\n );\n const getRootProps = useCallback(\n (props2 = {}, forwardedRef = null) => ({\n ...htmlProps,\n ...props2,\n ref: mergeRefs(forwardedRef, (node) => {\n if (!node)\n return;\n setRootIsLabelElement(node.tagName === \"LABEL\");\n }),\n onClick: callAllHandlers(props2.onClick, () => {\n var _a;\n if (!rootIsLabelElement) {\n (_a = inputRef.current) == null ? void 0 : _a.click();\n requestAnimationFrame(() => {\n var _a2;\n (_a2 = inputRef.current) == null ? void 0 : _a2.focus({ preventScroll: true });\n });\n }\n }),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid)\n }),\n [htmlProps, isDisabled, isChecked, isInvalid, rootIsLabelElement]\n );\n const getInputProps = useCallback(\n (props2 = {}, forwardedRef = null) => {\n return {\n ...props2,\n ref: mergeRefs(inputRef, forwardedRef),\n type: \"checkbox\",\n name,\n value,\n id,\n tabIndex,\n onChange: callAllHandlers(props2.onChange, handleChange),\n onBlur: callAllHandlers(\n props2.onBlur,\n onBlurProp,\n () => setFocused(false)\n ),\n onFocus: callAllHandlers(\n props2.onFocus,\n onFocusProp,\n () => setFocused(true)\n ),\n onKeyDown: callAllHandlers(props2.onKeyDown, onKeyDown),\n onKeyUp: callAllHandlers(props2.onKeyUp, onKeyUp),\n required: isRequired,\n checked: isChecked,\n disabled: trulyDisabled,\n readOnly: isReadOnly,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-invalid\": ariaInvalid ? Boolean(ariaInvalid) : isInvalid,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-disabled\": isDisabled,\n style: visuallyHiddenStyle\n };\n },\n [\n name,\n value,\n id,\n handleChange,\n onBlurProp,\n onFocusProp,\n onKeyDown,\n onKeyUp,\n isRequired,\n isChecked,\n trulyDisabled,\n isReadOnly,\n ariaLabel,\n ariaLabelledBy,\n ariaInvalid,\n isInvalid,\n ariaDescribedBy,\n isDisabled,\n tabIndex\n ]\n );\n const getLabelProps = useCallback(\n (props2 = {}, forwardedRef = null) => ({\n ...props2,\n ref: forwardedRef,\n onMouseDown: callAllHandlers(props2.onMouseDown, stopEvent),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid)\n }),\n [isChecked, isDisabled, isInvalid]\n );\n const state = {\n isInvalid,\n isFocused,\n isChecked,\n isActive,\n isHovered,\n isIndeterminate,\n isDisabled,\n isReadOnly,\n isRequired\n };\n return {\n state,\n getRootProps,\n getCheckboxProps,\n getInputProps,\n getLabelProps,\n htmlProps\n };\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\nexport {\n useCheckbox\n};\n","// src/use-initial-animation-state.tsx\nimport { useState } from \"react\";\nfunction useInitialAnimationState(isChecked) {\n const [previousIsChecked, setPreviousIsChecked] = useState(isChecked);\n const [shouldAnimate, setShouldAnimate] = useState(false);\n if (isChecked !== previousIsChecked) {\n setShouldAnimate(true);\n setPreviousIsChecked(isChecked);\n }\n return shouldAnimate;\n}\n\nexport {\n useInitialAnimationState\n};\n","// src/checkbox-icon.tsx\nimport { chakra } from \"@chakra-ui/system\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction CheckIcon(props) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n width: \"1.2em\",\n viewBox: \"0 0 12 10\",\n style: {\n fill: \"none\",\n strokeWidth: 2,\n stroke: \"currentColor\",\n strokeDasharray: 16\n },\n ...props,\n children: /* @__PURE__ */ jsx(\"polyline\", { points: \"1.5 6 4.5 9 10.5 1\" })\n }\n );\n}\nfunction IndeterminateIcon(props) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n width: \"1.2em\",\n viewBox: \"0 0 24 24\",\n style: { stroke: \"currentColor\", strokeWidth: 4 },\n ...props,\n children: /* @__PURE__ */ jsx(\"line\", { x1: \"21\", x2: \"3\", y1: \"12\", y2: \"12\" })\n }\n );\n}\nfunction CheckboxIcon(props) {\n const { isIndeterminate, isChecked, ...rest } = props;\n const BaseIcon = isIndeterminate ? IndeterminateIcon : CheckIcon;\n return isChecked || isIndeterminate ? /* @__PURE__ */ jsx(\n chakra.div,\n {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\"\n },\n children: /* @__PURE__ */ jsx(BaseIcon, { ...rest })\n }\n ) : null;\n}\n\nexport {\n CheckboxIcon\n};\n","import {\n useInitialAnimationState\n} from \"./chunk-OW24QTOM.mjs\";\nimport {\n useCheckboxGroupContext\n} from \"./chunk-6XFPBTDN.mjs\";\nimport {\n CheckboxIcon\n} from \"./chunk-DFEUIRKX.mjs\";\nimport {\n useCheckbox\n} from \"./chunk-HPA3SDH4.mjs\";\n\n// src/checkbox.tsx\nimport { callAll, cx } from \"@chakra-ui/shared-utils\";\nimport {\n chakra,\n forwardRef,\n keyframes,\n omitThemingProps,\n useMultiStyleConfig\n} from \"@chakra-ui/system\";\nimport { cloneElement, useMemo } from \"react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar controlStyles = {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n verticalAlign: \"top\",\n userSelect: \"none\",\n flexShrink: 0\n};\nvar rootStyles = {\n cursor: \"pointer\",\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"top\",\n position: \"relative\"\n};\nvar checkAnim = keyframes({\n from: {\n opacity: 0,\n strokeDashoffset: 16,\n transform: \"scale(0.95)\"\n },\n to: {\n opacity: 1,\n strokeDashoffset: 0,\n transform: \"scale(1)\"\n }\n});\nvar indeterminateOpacityAnim = keyframes({\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n});\nvar indeterminateScaleAnim = keyframes({\n from: {\n transform: \"scaleX(0.65)\"\n },\n to: {\n transform: \"scaleX(1)\"\n }\n});\nvar Checkbox = forwardRef(function Checkbox2(props, ref) {\n const group = useCheckboxGroupContext();\n const mergedProps = { ...group, ...props };\n const styles = useMultiStyleConfig(\"Checkbox\", mergedProps);\n const ownProps = omitThemingProps(props);\n const {\n spacing = \"0.5rem\",\n className,\n children,\n iconColor,\n iconSize,\n icon = /* @__PURE__ */ jsx(CheckboxIcon, {}),\n isChecked: isCheckedProp,\n isDisabled = group == null ? void 0 : group.isDisabled,\n onChange: onChangeProp,\n inputProps,\n ...rest\n } = ownProps;\n let isChecked = isCheckedProp;\n if ((group == null ? void 0 : group.value) && ownProps.value) {\n isChecked = group.value.includes(ownProps.value);\n }\n let onChange = onChangeProp;\n if ((group == null ? void 0 : group.onChange) && ownProps.value) {\n onChange = callAll(group.onChange, onChangeProp);\n }\n const {\n state,\n getInputProps,\n getCheckboxProps,\n getLabelProps,\n getRootProps\n } = useCheckbox({\n ...rest,\n isDisabled,\n isChecked,\n onChange\n });\n const shouldAnimate = useInitialAnimationState(state.isChecked);\n const iconStyles = useMemo(\n () => ({\n animation: !shouldAnimate ? void 0 : state.isIndeterminate ? `${indeterminateOpacityAnim} 20ms linear, ${indeterminateScaleAnim} 200ms linear` : `${checkAnim} 200ms linear`,\n fontSize: iconSize,\n color: iconColor,\n ...styles.icon\n }),\n [iconColor, iconSize, shouldAnimate, state.isIndeterminate, styles.icon]\n );\n const clonedIcon = cloneElement(icon, {\n __css: iconStyles,\n isIndeterminate: state.isIndeterminate,\n isChecked: state.isChecked\n });\n return /* @__PURE__ */ jsxs(\n chakra.label,\n {\n __css: { ...rootStyles, ...styles.container },\n className: cx(\"chakra-checkbox\", className),\n ...getRootProps(),\n children: [\n /* @__PURE__ */ jsx(\n \"input\",\n {\n className: \"chakra-checkbox__input\",\n ...getInputProps(inputProps, ref)\n }\n ),\n /* @__PURE__ */ jsx(\n chakra.span,\n {\n __css: { ...controlStyles, ...styles.control },\n className: \"chakra-checkbox__control\",\n ...getCheckboxProps(),\n children: clonedIcon\n }\n ),\n children && /* @__PURE__ */ jsx(\n chakra.span,\n {\n className: \"chakra-checkbox__label\",\n ...getLabelProps(),\n __css: {\n marginStart: spacing,\n ...styles.label\n },\n children\n }\n )\n ]\n }\n );\n});\nCheckbox.displayName = \"Checkbox\";\n\nexport {\n Checkbox\n};\n","import { replaceEqualDeep } from '@tanstack/query-core';\nimport { deepEqual } from '../utils/deepEqual.js';\nexport function structuralSharing(oldData, newData) {\n if (deepEqual(oldData, newData))\n return oldData;\n return replaceEqualDeep(oldData, newData);\n}\nexport function hashFn(queryKey) {\n return JSON.stringify(queryKey, (_, value) => {\n if (isPlainObject(value))\n return Object.keys(value)\n .sort()\n .reduce((result, key) => {\n result[key] = value[key];\n return result;\n }, {});\n if (typeof value === 'bigint')\n return value.toString();\n return value;\n });\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n // If has modified constructor\n const ctor = o.constructor;\n if (typeof ctor === 'undefined')\n return true;\n // If has modified prototype\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot))\n return false;\n // If constructor does not have an Object-specific method\n // biome-ignore lint/suspicious/noPrototypeBuiltins: \n if (!prot.hasOwnProperty('isPrototypeOf'))\n return false;\n // Most likely a plain Object\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\nexport function filterQueryOptions(options) {\n // destructuring is super fast\n // biome-ignore format: no formatting\n const { \n // import('@tanstack/query-core').QueryOptions\n // biome-ignore lint/correctness/noUnusedVariables: remove properties\n _defaulted, behavior, gcTime, initialData, initialDataUpdatedAt, maxPages, meta, networkMode, queryFn, queryHash, queryKey, queryKeyHashFn, retry, retryDelay, structuralSharing, \n // import('@tanstack/query-core').InfiniteQueryObserverOptions\n // biome-ignore lint/correctness/noUnusedVariables: remove properties\n getPreviousPageParam, getNextPageParam, initialPageParam, \n // import('@tanstack/react-query').UseQueryOptions\n // biome-ignore lint/correctness/noUnusedVariables: remove properties\n _optimisticResults, enabled, notifyOnChangeProps, placeholderData, refetchInterval, refetchIntervalInBackground, refetchOnMount, refetchOnReconnect, refetchOnWindowFocus, retryOnMount, select, staleTime, suspense, throwOnError, \n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n // wagmi\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n // biome-ignore lint/correctness/noUnusedVariables: remove properties\n config, connector, query, ...rest } = options;\n return rest;\n}\n//# sourceMappingURL=utils.js.map","import { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError, } from '../../errors/account.js';\nimport { isHex } from '../../utils/data/isHex.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { getTypesForEIP712Domain, validateTypedData, } from '../../utils/typedData.js';\n/**\n * Signs typed data and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256(\"\\x19\\x01\" ‖ domainSeparator ‖ hashStruct(message)))`\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signTypedData\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data#signtypeddata-v4)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * @param client - Client to use\n * @param parameters - {@link SignTypedDataParameters}\n * @returns The signed data. {@link SignTypedDataReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTypedData(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const signature = await signTypedData(client, {\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n */\nexport async function signTypedData(client, parameters) {\n const { account: account_ = client.account, domain, message, primaryType, } = parameters;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signTypedData',\n });\n const account = parseAccount(account_);\n const types = {\n EIP712Domain: getTypesForEIP712Domain({ domain }),\n ...parameters.types,\n };\n // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc\n // as we can't statically check this with TypeScript.\n validateTypedData({ domain, message, primaryType, types });\n if (account.type === 'local')\n return account.signTypedData({ domain, message, primaryType, types });\n const typedData = stringify({ domain: domain ?? {}, message, primaryType, types }, (_, value) => (isHex(value) ? value.toLowerCase() : value));\n return client.request({\n method: 'eth_signTypedData_v4',\n params: [account.address, typedData],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=signTypedData.js.map","import {} from '../createConfig.js';\n/** https://wagmi.sh/core/api/actions/watchChainId */\nexport function watchChainId(config, parameters) {\n const { onChange } = parameters;\n return config.subscribe((state) => state.chainId, onChange);\n}\n//# sourceMappingURL=watchChainId.js.map","import {} from '../createConfig.js';\n/** https://wagmi.sh/core/api/actions/getChainId */\nexport function getChainId(config) {\n return config.state.chainId;\n}\n//# sourceMappingURL=getChainId.js.map","'use client';\nimport { getChainId, watchChainId, } from '@wagmi/core';\nimport { useSyncExternalStore } from 'react';\nimport { useConfig } from './useConfig.js';\n/** https://wagmi.sh/react/api/hooks/useChainId */\nexport function useChainId(parameters = {}) {\n const config = useConfig(parameters);\n return useSyncExternalStore((onChange) => watchChainId(config, { onChange }), () => getChainId(config), () => getChainId(config));\n}\n//# sourceMappingURL=useChainId.js.map","import {} from 'viem';\nimport {} from '../createConfig.js';\nimport {} from '../types/properties.js';\nimport {} from '../types/utils.js';\nexport function getClient(config, parameters = {}) {\n let client = undefined;\n try {\n client = config.getClient(parameters);\n }\n catch { }\n return client;\n}\n//# sourceMappingURL=getClient.js.map","import { publicActions } from 'viem';\nimport {} from '../createConfig.js';\nimport {} from '../types/properties.js';\nimport {} from '../types/utils.js';\nimport { getClient } from './getClient.js';\nexport function getPublicClient(config, parameters = {}) {\n const client = getClient(config, parameters);\n return client?.extend(publicActions);\n}\n//# sourceMappingURL=getPublicClient.js.map","import {} from '../createConfig.js';\nimport { getPublicClient, } from './getPublicClient.js';\n/** https://wagmi.sh/core/api/actions/watchPublicClient */\nexport function watchPublicClient(config, parameters) {\n const { onChange } = parameters;\n return config.subscribe(() => getPublicClient(config), onChange, {\n equalityFn(a, b) {\n return a?.uid === b?.uid;\n },\n });\n}\n//# sourceMappingURL=watchPublicClient.js.map","'use client';\nimport { getPublicClient, watchPublicClient, } from '@wagmi/core';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector.js';\nimport { useConfig } from './useConfig.js';\n/** https://wagmi.sh/react/api/hooks/usePublicClient */\nexport function usePublicClient(parameters = {}) {\n const config = useConfig(parameters);\n return useSyncExternalStoreWithSelector((onChange) => watchPublicClient(config, { onChange }), () => getPublicClient(config, parameters), () => getPublicClient(config, parameters), (x) => x, (a, b) => a?.uid === b?.uid);\n}\n//# sourceMappingURL=usePublicClient.js.map","import {} from '@tanstack/query-core';\nimport { switchChain, } from '../actions/switchChain.js';\nimport {} from '../createConfig.js';\nimport {} from '../types/utils.js';\nexport function switchChainMutationOptions(config) {\n return {\n mutationFn(variables) {\n return switchChain(config, variables);\n },\n mutationKey: ['switchChain'],\n };\n}\n//# sourceMappingURL=switchChain.js.map","import {} from 'viem';\nimport {} from '../createConfig.js';\nimport { deepEqual } from '../utils/deepEqual.js';\nlet previousChains = [];\n/** https://wagmi.sh/core/api/actions/getChains */\nexport function getChains(config) {\n const chains = config.chains;\n if (deepEqual(previousChains, chains))\n return previousChains;\n previousChains = chains;\n return chains;\n}\n//# sourceMappingURL=getChains.js.map","import {} from '../createConfig.js';\nimport {} from './getChains.js';\n/**\n * @internal\n * We don't expose this because as far as consumers know, you can't chainge (lol) `config.chains` at runtime.\n * Setting `config.chains` via `config._internal.chains.setState(...)` is an extremely advanced use case that's not worth documenting or supporting in the public API at this time.\n */\nexport function watchChains(config, parameters) {\n const { onChange } = parameters;\n return config._internal.chains.subscribe((chains, prevChains) => {\n onChange(chains, prevChains);\n });\n}\n//# sourceMappingURL=watchChains.js.map","'use client';\nimport { getChains, } from '@wagmi/core';\nimport { watchChains } from '@wagmi/core/internal';\nimport { useSyncExternalStore } from 'react';\nimport { useConfig } from './useConfig.js';\n/** https://wagmi.sh/react/api/hooks/useChains */\nexport function useChains(parameters = {}) {\n const config = useConfig(parameters);\n return useSyncExternalStore((onChange) => watchChains(config, { onChange }), () => getChains(config), () => getChains(config));\n}\n//# sourceMappingURL=useChains.js.map","'use client';\nimport { useMutation } from '@tanstack/react-query';\nimport {} from '@wagmi/core';\nimport {} from '@wagmi/core/internal';\nimport { switchChainMutationOptions, } from '@wagmi/core/query';\nimport {} from '../types/properties.js';\nimport {} from '../utils/query.js';\nimport { useChains } from './useChains.js';\nimport { useConfig } from './useConfig.js';\n/** https://wagmi.sh/react/api/hooks/useSwitchChain */\nexport function useSwitchChain(parameters = {}) {\n const { mutation } = parameters;\n const config = useConfig(parameters);\n const mutationOptions = switchChainMutationOptions(config);\n const { mutate, mutateAsync, ...result } = useMutation({\n ...mutation,\n ...mutationOptions,\n });\n return {\n ...result,\n chains: useChains({ config }),\n switchChain: mutate,\n switchChainAsync: mutateAsync,\n };\n}\n//# sourceMappingURL=useSwitchChain.js.map","import {} from '@tanstack/query-core';\nimport { waitForTransactionReceipt, } from '../actions/waitForTransactionReceipt.js';\nimport {} from '../createConfig.js';\nimport {} from '../types/properties.js';\nimport {} from '../types/utils.js';\nimport { filterQueryOptions } from './utils.js';\nexport function waitForTransactionReceiptQueryOptions(config, options = {}) {\n return {\n async queryFn({ queryKey }) {\n const { hash, ...parameters } = queryKey[1];\n if (!hash)\n throw new Error('hash is required');\n return waitForTransactionReceipt(config, {\n ...parameters,\n onReplaced: options.onReplaced,\n hash,\n });\n },\n queryKey: waitForTransactionReceiptQueryKey(options),\n };\n}\nexport function waitForTransactionReceiptQueryKey(options = {}) {\n const { onReplaced: _, ...rest } = options;\n return ['waitForTransactionReceipt', filterQueryOptions(rest)];\n}\n//# sourceMappingURL=waitForTransactionReceipt.js.map","'use client';\nimport {} from '@wagmi/core/internal';\nimport { waitForTransactionReceiptQueryOptions, } from '@wagmi/core/query';\nimport { useQuery } from '../utils/query.js';\nimport { useChainId } from './useChainId.js';\nimport { useConfig } from './useConfig.js';\n/** https://wagmi.sh/react/api/hooks/useWaitForTransactionReceipt */\nexport function useWaitForTransactionReceipt(parameters = {}) {\n const { hash, query = {} } = parameters;\n const config = useConfig(parameters);\n const chainId = useChainId({ config });\n const options = waitForTransactionReceiptQueryOptions(config, {\n ...parameters,\n chainId: parameters.chainId ?? chainId,\n });\n const enabled = Boolean(hash && (query.enabled ?? true));\n return useQuery({\n ...query,\n ...options,\n enabled,\n });\n}\n//# sourceMappingURL=useWaitForTransactionReceipt.js.map","import { numberToHex, } from '../../utils/encoding/toHex.js';\n/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/addChain\n * - JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085)\n *\n * @param client - Client to use\n * @param parameters - {@link AddChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { optimism } from 'viem/chains'\n * import { addChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * transport: custom(window.ethereum),\n * })\n * await addChain(client, { chain: optimism })\n */\nexport async function addChain(client, { chain }) {\n const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain;\n await client.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n chainName: name,\n nativeCurrency,\n rpcUrls: rpcUrls.default.http,\n blockExplorerUrls: blockExplorers\n ? Object.values(blockExplorers).map(({ url }) => url)\n : undefined,\n },\n ],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=addChain.js.map","import { encodeDeployData } from '../../utils/abi/encodeDeployData.js';\nimport { sendTransaction, } from './sendTransaction.js';\n/**\n * Deploys a contract to the network, given bytecode and constructor arguments.\n *\n * - Docs: https://viem.sh/docs/contract/deployContract\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/deploying-contracts\n *\n * @param client - Client to use\n * @param parameters - {@link DeployContractParameters}\n * @returns The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. {@link DeployContractReturnType}\n *\n * @example\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { deployContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const hash = await deployContract(client, {\n * abi: [],\n * account: '0x…,\n * bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',\n * })\n */\nexport function deployContract(walletClient, parameters) {\n const { abi, args, bytecode, ...request } = parameters;\n const calldata = encodeDeployData({ abi, args, bytecode });\n return sendTransaction(walletClient, {\n ...request,\n data: calldata,\n });\n}\n//# sourceMappingURL=deployContract.js.map","import { checksumAddress, } from '../../utils/address/getAddress.js';\n/**\n * Returns a list of account addresses owned by the wallet or client.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getAddresses\n * - JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts)\n *\n * @param client - Client to use\n * @returns List of account addresses owned by the wallet or client. {@link GetAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await getAddresses(client)\n */\nexport async function getAddresses(client) {\n if (client.account?.type === 'local')\n return [client.account.address];\n const addresses = await client.request({ method: 'eth_accounts' });\n return addresses.map((address) => checksumAddress(address));\n}\n//# sourceMappingURL=getAddresses.js.map","/**\n * Gets the wallets current permissions.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getPermissions\n * - JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @returns The wallet permissions. {@link GetPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await getPermissions(client)\n */\nexport async function getPermissions(client) {\n const permissions = await client.request({ method: 'wallet_getPermissions' });\n return permissions;\n}\n//# sourceMappingURL=getPermissions.js.map","import { getAddress } from '../../utils/address/getAddress.js';\n/**\n * Requests a list of accounts managed by a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestAddresses\n * - JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102)\n *\n * Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses).\n *\n * This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts.\n *\n * @param client - Client to use\n * @returns List of accounts managed by a wallet {@link RequestAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await requestAddresses(client)\n */\nexport async function requestAddresses(client) {\n const addresses = await client.request({ method: 'eth_requestAccounts' }, { retryCount: 0 });\n return addresses.map((address) => getAddress(address));\n}\n//# sourceMappingURL=requestAddresses.js.map","/**\n * Requests permissions for a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestPermissions\n * - JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @param parameters - {@link RequestPermissionsParameters}\n * @returns The wallet permissions. {@link RequestPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await requestPermissions(client, {\n * eth_accounts: {}\n * })\n */\nexport async function requestPermissions(client, permissions) {\n return client.request({\n method: 'wallet_requestPermissions',\n params: [permissions],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=requestPermissions.js.map","import { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../errors/account.js';\nimport { assertCurrentChain, } from '../../utils/chain/assertCurrentChain.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { assertRequest, } from '../../utils/transaction/assertRequest.js';\nimport { getChainId } from '../public/getChainId.js';\n/**\n * Signs a transaction.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signTransaction\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_signTransaction`](https://ethereum.github.io/execution-apis/api-documentation/)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * @param args - {@link SignTransactionParameters}\n * @returns The signed serialized tranasction. {@link SignTransactionReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signTransaction } from 'viem/actions'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTransaction(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * to: '0x0000000000000000000000000000000000000000',\n * value: 1n,\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signTransaction } from 'viem/actions'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTransaction(client, {\n * to: '0x0000000000000000000000000000000000000000',\n * value: 1n,\n * })\n */\nexport async function signTransaction(client, parameters) {\n const { account: account_ = client.account, chain = client.chain, ...transaction } = parameters;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signTransaction',\n });\n const account = parseAccount(account_);\n assertRequest({\n account,\n ...parameters,\n });\n const chainId = await getAction(client, getChainId, 'getChainId')({});\n if (chain !== null)\n assertCurrentChain({\n currentChainId: chainId,\n chain,\n });\n const formatters = chain?.formatters || client.chain?.formatters;\n const format = formatters?.transactionRequest?.format || formatTransactionRequest;\n if (account.type === 'local') {\n return account.signTransaction({\n ...transaction,\n chainId,\n }, { serializer: client.chain?.serializers?.transaction });\n }\n return await client.request({\n method: 'eth_signTransaction',\n params: [\n {\n ...format(transaction),\n chainId: numberToHex(chainId),\n from: account.address,\n },\n ],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=signTransaction.js.map","import { numberToHex, } from '../../utils/encoding/toHex.js';\n/**\n * Switch the target chain in a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/switchChain\n * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326)\n *\n * @param client - Client to use\n * @param parameters - {@link SwitchChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet, optimism } from 'viem/chains'\n * import { switchChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * await switchChain(client, { id: optimism.id })\n */\nexport async function switchChain(client, { id }) {\n await client.request({\n method: 'wallet_switchEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n },\n ],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=switchChain.js.map","/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/watchAsset\n * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747)\n *\n * @param client - Client to use\n * @param parameters - {@link WatchAssetParameters}\n * @returns Boolean indicating if the token was successfully added. {@link WatchAssetReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchAsset } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const success = await watchAsset(client, {\n * type: 'ERC20',\n * options: {\n * address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n * decimals: 18,\n * symbol: 'WETH',\n * },\n * })\n */\nexport async function watchAsset(client, params) {\n const added = await client.request({\n method: 'wallet_watchAsset',\n params,\n }, { retryCount: 0 });\n return added;\n}\n//# sourceMappingURL=watchAsset.js.map","import { getChainId, } from '../../actions/public/getChainId.js';\nimport { addChain, } from '../../actions/wallet/addChain.js';\nimport { deployContract, } from '../../actions/wallet/deployContract.js';\nimport { getAddresses, } from '../../actions/wallet/getAddresses.js';\nimport { getPermissions, } from '../../actions/wallet/getPermissions.js';\nimport { prepareTransactionRequest, } from '../../actions/wallet/prepareTransactionRequest.js';\nimport { requestAddresses, } from '../../actions/wallet/requestAddresses.js';\nimport { requestPermissions, } from '../../actions/wallet/requestPermissions.js';\nimport { sendRawTransaction, } from '../../actions/wallet/sendRawTransaction.js';\nimport { sendTransaction, } from '../../actions/wallet/sendTransaction.js';\nimport { signMessage, } from '../../actions/wallet/signMessage.js';\nimport { signTransaction, } from '../../actions/wallet/signTransaction.js';\nimport { signTypedData, } from '../../actions/wallet/signTypedData.js';\nimport { switchChain, } from '../../actions/wallet/switchChain.js';\nimport { watchAsset, } from '../../actions/wallet/watchAsset.js';\nimport { writeContract, } from '../../actions/wallet/writeContract.js';\nexport function walletActions(client) {\n return {\n addChain: (args) => addChain(client, args),\n deployContract: (args) => deployContract(client, args),\n getAddresses: () => getAddresses(client),\n getChainId: () => getChainId(client),\n getPermissions: () => getPermissions(client),\n prepareTransactionRequest: (args) => prepareTransactionRequest(client, args),\n requestAddresses: () => requestAddresses(client),\n requestPermissions: (args) => requestPermissions(client, args),\n sendRawTransaction: (args) => sendRawTransaction(client, args),\n sendTransaction: (args) => sendTransaction(client, args),\n signMessage: (args) => signMessage(client, args),\n signTransaction: (args) => signTransaction(client, args),\n signTypedData: (args) => signTypedData(client, args),\n switchChain: (args) => switchChain(client, args),\n watchAsset: (args) => watchAsset(client, args),\n writeContract: (args) => writeContract(client, args),\n };\n}\n//# sourceMappingURL=wallet.js.map","import { walletActions } from 'viem';\nimport {} from '../createConfig.js';\nimport {} from '../types/utils.js';\nimport { getConnectorClient, } from './getConnectorClient.js';\nexport async function getWalletClient(config, parameters = {}) {\n const client = await getConnectorClient(config, parameters);\n client.extend(walletActions);\n // @ts-ignore\n return client.extend(walletActions);\n}\n//# sourceMappingURL=getWalletClient.js.map","import {} from '@tanstack/query-core';\nimport { getWalletClient, } from '../actions/getWalletClient.js';\nimport {} from '../createConfig.js';\nimport { filterQueryOptions } from './utils.js';\nexport function getWalletClientQueryOptions(config, options = {}) {\n return {\n gcTime: 0,\n async queryFn({ queryKey }) {\n const { connector } = options;\n const { connectorUid: _, scopeKey: _s, ...parameters } = queryKey[1];\n return getWalletClient(config, { ...parameters, connector });\n },\n queryKey: getWalletClientQueryKey(options),\n };\n}\nexport function getWalletClientQueryKey(options = {}) {\n const { connector, ...parameters } = options;\n return [\n 'walletClient',\n { ...filterQueryOptions(parameters), connectorUid: connector?.uid },\n ];\n}\n//# sourceMappingURL=getWalletClient.js.map","'use client';\n// Almost identical implementation to `useConnectorClient` (except for return type)\n// Should update both in tandem\nimport { useQueryClient } from '@tanstack/react-query';\nimport {} from '@wagmi/core/internal';\nimport { getWalletClientQueryOptions, } from '@wagmi/core/query';\nimport { useEffect, useRef } from 'react';\nimport { useQuery, } from '../utils/query.js';\nimport { useAccount } from './useAccount.js';\nimport { useChainId } from './useChainId.js';\nimport { useConfig } from './useConfig.js';\n/** https://wagmi.sh/react/api/hooks/useWalletClient */\nexport function useWalletClient(parameters = {}) {\n const { query = {}, ...rest } = parameters;\n const config = useConfig(rest);\n const queryClient = useQueryClient();\n const { address, connector, status } = useAccount({ config });\n const chainId = useChainId({ config });\n const { queryKey, ...options } = getWalletClientQueryOptions(config, {\n ...parameters,\n chainId: parameters.chainId ?? chainId,\n connector: parameters.connector ?? connector,\n });\n const enabled = Boolean(status !== 'disconnected' && (query.enabled ?? true));\n const addressRef = useRef(address);\n // biome-ignore lint/nursery/useExhaustiveDependencies: `queryKey` not required\n useEffect(() => {\n const previousAddress = addressRef.current;\n if (!address && previousAddress) {\n // remove when account is disconnected\n queryClient.removeQueries({ queryKey });\n addressRef.current = undefined;\n }\n else if (address !== previousAddress) {\n // invalidate when address changes\n queryClient.invalidateQueries({ queryKey });\n addressRef.current = address;\n }\n }, [address, queryClient]);\n return useQuery({\n ...query,\n ...options,\n queryKey,\n enabled,\n staleTime: Infinity,\n });\n}\n//# sourceMappingURL=useWalletClient.js.map","import { useInfiniteQuery as tanstack_useInfiniteQuery, useMutation, useQuery as tanstack_useQuery, } from '@tanstack/react-query';\nimport {} from '@wagmi/core/internal';\nimport { hashFn } from '@wagmi/core/query';\nexport { useMutation };\n// Adding some basic customization.\n// Ideally we don't have this function, but `import('@tanstack/react-query').useQuery` currently has some quirks where it is super hard to\n// pass down the inferred `initialData` type because of it's discriminated overload in the on `useQuery`.\nexport function useQuery(parameters) {\n const result = tanstack_useQuery({\n ...parameters,\n queryKeyHashFn: hashFn, // for bigint support\n });\n result.queryKey = parameters.queryKey;\n return result;\n}\n// Adding some basic customization.\nexport function useInfiniteQuery(parameters) {\n const result = tanstack_useInfiniteQuery({\n ...parameters,\n queryKeyHashFn: hashFn, // for bigint support\n });\n result.queryKey = parameters.queryKey;\n return result;\n}\n//# sourceMappingURL=query.js.map"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","state_local_ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","state_local_objectSpread2","target","arguments","source","forEach","key","value","defineProperty","configurable","writable","obj","getOwnPropertyDescriptors","defineProperties","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","concat","isObject","toString","call","includes","isFunction","errorHandler","errorMessages","type","initialIsRequired","initialType","initialContent","handlerType","handlersType","selectorType","changeType","changeField","initial","changes","some","field","prototype","hasOwnProperty","selector","handler","values","_handler","extractChanges","state","causedChanges","current","updateState","didStateUpdate","_handler$field","utils_curry","_len","_key","configIsRequired","configType","deprecation","utils_compose","fns","x","reduceRight","y","f","CANCELATION_MESSAGE","msg","utils_makeCancelable","promise","hasCanceled_","wrappedPromise","Promise","resolve","reject","then","val","cancel","_state$create2","_arrayWithHoles","Array","isArray","state_local","create","undefined","validators","didUpdate","update","validate","getChanges","compose","config","paths","vs","isInitialized","monaco","_iterableToArrayLimit","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","_unsupportedIterableToArray","o","minLen","n","slice","constructor","name","from","test","_nonIterableRest","getState","setState","injectScripts","script","document","body","appendChild","getMonacoLoaderScript","configureLoader","src","_ref2","loaderScript","createElement","onload","onerror","_ref3","require","window","storeMonacoInstance","error","wrapperPromise","_ref","editor","_extends","assign","loadingStyles","display","height","width","justifyContent","alignItems","Loading_Loading","content","react","style","MonacoContainer_styles","wrapper","position","textAlign","fullWidth","hide","MonacoContainer","isEditorReady","loading","className","wrapperProps","ref","propTypes","prop_types_default","oneOfType","number","string","isRequired","element","bool","es_MonacoContainer_MonacoContainer","memo","hooks_useMount","effect","useEffect","hooks_useUpdate","deps","applyChanges","isInitialMount","useRef","noop","getOrCreateModel","language","path","getModel","createModelUri","createModel","Uri","parse","DiffEditor_DiffEditor","original","modified","originalLanguage","modifiedLanguage","originalModelPath","modifiedModelPath","keepCurrentOriginalModel","keepCurrentModifiedModel","theme","options","beforeMount","onMount","setIsEditorReady","useState","isMonacoMounting","setIsMonacoMounting","editorRef","monacoRef","containerRef","onMountRef","beforeMountRef","cancelable","es_loader","catch","console","disposeEditor","_models$original","_models$modified","models","dispose","modifiedEditor","getModifiedEditor","getOption","EditorOption","readOnly","setValue","getValue","executeEdits","range","getFullModelRange","text","forceMoveMarkers","pushUndoStop","setModelLanguage","setTheme","updateOptions","setModels","useCallback","originalModel","modifiedModel","setModel","createEditor","createDiffEditor","automaticLayout","func","defaultProps","hooks_usePrevious","viewStates","Map","Editor","defaultValue","defaultLanguage","defaultPath","line","overrideServices","saveViewState","keepCurrentModel","onChange","onValidate","subscriptionRef","valueRef","previousPath","preventCreation","_subscriptionRef$curr2","_editorRef$current$ge2","set","model","restoreViewState","get","revealLine","autoCreatedModelPath","defaultModel","_subscriptionRef$curr","_editorRef$current","onDidChangeModelContent","event","changeMarkersListener","onDidChangeMarkers","uris","_editorRef$current$ge","editorUri","uri","find","markers","getModelMarkers","resource","es_Editor","nativeCeil","Math","ceil","nativeMax","max","module","exports","start","end","step","fromRight","index","result","baseRange","__webpack_require__","isIterateeCall","toFinite","createRange","baseSet","SourceType","cb","lastArgs","lastValue","__rest","s","e","t","p","indexOf","propertyIsEnumerable","charIsNumber","char","match","isNil","isNotValidValue","isNaN","isFinite","escapeRegExp","str","replace","splitDecimal","numStr","allowNegative","hasNegation","addNegation","parts","split","beforeDecimal","afterDecimal","limitToScale","scale","fixedDecimalScale","filler","repeat","count","join","toNumericString","num","_num","sign","substring","coefficient","exponent","Number","decimalIndex","coffiecientLn","abs","roundToPrecision","shouldHaveDecimalSeparator","floatValue","parseFloat","roundedDecimalParts","floatValueStr","toFixed","reverse","reduce","roundedStr","idx","setCaretPosition","el","caretPos","createTextRange","move","select","selectionStart","focus","setSelectionRange","findChangeRange","prevValue","newValue","j","prevLength","newLength","to","every","geInputCaretPosition","selectionEnd","defaultIsCharacterSame","currentValue","formattedValue","currentValueIndex","formattedValueIndex","getCaretPosInBoundary","boundary","direction","valLn","min","lastIndexOf","caretUnknownFormatBoundary","boundaryAry","map","ln","Boolean","useInternalValues","valueIsNumericString","format","removeFormatting","onValueChange","callbackRef","getValues","numAsString","react__WEBPACK_IMPORTED_MODULE_0__","persistentCbRef","setValues","_value","_valueIsNumericString","newValues","useMemo","sourceInfo","defaultRemoveFormatting","defaultFormat","NumberFormatBase","props","displayType","customInput","renderText","getInputRef","isAllowed","onKeyDown","onMouseUp","onFocus","onBlur","propValue","getCaretBoundary","isValidInputCharacter","isCharacterSame","otherProps","ref_0","onFormattedValueChange","lastUpdatedValue","_onValueChange","ref$1","mounted","setMounted","focusedElm","timeout","setCaretTimeout","focusTimeout","clearTimeout","_format","getValueObject","setPatchedCaretPosition","setTimeout","correctCaretPosition","getNewCaretPosition","inputValue","newFormattedValue","caretBoundary","updatedCaretPos","getCaretPosition","lastFormattedValue","curValue","curCaretPos","firstAllowedPosition","findIndex","b","prefixFormat","startsWith","curValLn","formattedValueLn","addedIndexMap","indexMap","isCharSame","pos","endIndex","startIndex","updateValueAndCaretPosition","params","input","currentCaretPosition","lastNumAsString","useIsomorphicLayoutEffect","useLayoutEffect","formatInputValue","changeMeta","_numAsString","_formattedValue","inputProps","inputMode","navigator","platform","expectedCaretPosition","newCaretPosition","preventDefault","isUnitTestRun","caretPosition","persist","Fragment","thousandsGroupRegex","decimalScale","prefix","suffix","thousandsGroupStyle","getSeparators","thousandSeparator","decimalSeparator","hasDecimalSeparator","getThousandsGroupRegex","search","allowedDecimalSeparators","NumericFormat","allowLeadingZeros","restProps","_removeFormatting","roundIncomingValueToPrecision","ref$1_0","numericFormatProps","validateAndUpdateProps","doubleNegationRegex","removeNegation","isBeforeDecimalSeparator","separator","stripNegation","hasDoubleNegation","charsToRemove","toMetadata","fromStart","fromEnd","updatedSuffixPart","suffixStartIndex","endsWith","negationRegex","firstIndex","ref$2","inputChar","curChar","newChar","typedRange","fill","_thousandSeparator","fixLeadingZero","isNegative","CheckboxGroupProvider","useCheckboxGroupContext","_chakra_ui_react_context__WEBPACK_IMPORTED_MODULE_0__","k","strict","useCheckbox","isDisabled","isReadOnly","isInvalid","id","ariaDescribedBy","_chakra_ui_form_control__WEBPACK_IMPORTED_MODULE_1__","K","defaultChecked","isChecked","checkedProp","isFocusable","isIndeterminate","tabIndex","ariaLabel","ariaLabelledBy","ariaInvalid","rest","htmlProps","omit","keysToOmit","clone","onChangeProp","_chakra_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_2__","W","onBlurProp","onFocusProp","isFocusVisible","setIsFocusVisible","isFocused","setFocused","isHovered","setHovered","isActive","setActive","_zag_js_focus_visible__WEBPACK_IMPORTED_MODULE_3__","BT","inputRef","rootIsLabelElement","setRootIsLabelElement","checkedState","setCheckedState","isControlled","handleChange","checked","_chakra_ui_react_use_safe_layout_effect__WEBPACK_IMPORTED_MODULE_4__","G","indeterminate","_chakra_ui_react_use_update_effect__WEBPACK_IMPORTED_MODULE_5__","r","form","onreset","trulyDisabled","onKeyUp","getCheckboxProps","props2","forwardedRef","_chakra_ui_shared_utils__WEBPACK_IMPORTED_MODULE_6__","PB","onMouseDown","v0","onMouseEnter","onMouseLeave","getRootProps","_chakra_ui_react_use_merge_refs__WEBPACK_IMPORTED_MODULE_7__","lq","node","tagName","onClick","_a","click","requestAnimationFrame","_a2","preventScroll","getInputProps","required","disabled","_chakra_ui_visually_hidden__WEBPACK_IMPORTED_MODULE_8__","N","getLabelProps","stopEvent","stopPropagation","CheckIcon","jsx_runtime","jsx","chunk_3LE6AY5Q","m","svg","viewBox","strokeWidth","stroke","strokeDasharray","children","points","IndeterminateIcon","x1","x2","y1","y2","CheckboxIcon","div","controlStyles","verticalAlign","userSelect","flexShrink","rootStyles","cursor","checkAnim","emotion_react_browser_esm","F4","opacity","strokeDashoffset","transform","indeterminateOpacityAnim","indeterminateScaleAnim","Checkbox","chunk_QEVFQ4EU","group","chunk_6XFPBTDN","J","mergedProps","styles","chunk_T2VHL7RE","jC","ownProps","styled_system_dist","Lr","spacing","iconColor","iconSize","icon","isCheckedProp","dist","PP","chunk_HPA3SDH4","O","shouldAnimate","useInitialAnimationState","previousIsChecked","setPreviousIsChecked","setShouldAnimate","iconStyles","animation","fontSize","color","clonedIcon","cloneElement","__css","jsxs","label","container","cx","span","control","marginStart","displayName","hashFn","queryKey","JSON","stringify","_","isPlainObject","hasObjectPrototype","ctor","prot","sort","filterQueryOptions","_defaulted","behavior","gcTime","initialData","initialDataUpdatedAt","maxPages","meta","networkMode","queryFn","queryHash","queryKeyHashFn","retry","retryDelay","structuralSharing","getPreviousPageParam","getNextPageParam","initialPageParam","_optimisticResults","enabled","notifyOnChangeProps","placeholderData","refetchInterval","refetchIntervalInBackground","refetchOnMount","refetchOnReconnect","refetchOnWindowFocus","retryOnMount","staleTime","suspense","throwOnError","connector","query","signTypedData","client","parameters","account","account_","domain","message","primaryType","_errors_account_js__WEBPACK_IMPORTED_MODULE_0__","docsPath","_accounts_utils_parseAccount_js__WEBPACK_IMPORTED_MODULE_1__","T","types","EIP712Domain","_utils_typedData_js__WEBPACK_IMPORTED_MODULE_2__","cj","iC","typedData","_utils_stringify_js__WEBPACK_IMPORTED_MODULE_3__","P","_utils_data_isHex_js__WEBPACK_IMPORTED_MODULE_4__","v","toLowerCase","request","method","address","retryCount","getChainId","chainId","useChainId","useConfig","Z","useSyncExternalStore","watchChainId","subscribe","getPublicClient","getClient","extend","decorators_public","I","usePublicClient","with_selector","useSyncExternalStoreWithSelector","watchPublicClient","equalityFn","a","uid","previousChains","getChains","chains","deepEqual","useSwitchChain","mutation","mutate","mutateAsync","useMutation","D","mutationFn","switchChain","c","variables","mutationKey","useChains","watchChains","_internal","prevChains","switchChainAsync","useWaitForTransactionReceipt","hash","waitForTransactionReceiptQueryOptions","waitForTransactionReceipt","onReplaced","waitForTransactionReceiptQueryKey","utils","OP","utils_query","aM","addChain","chain","nativeCurrency","rpcUrls","blockExplorers","toHex","eC","chainName","default","http","blockExplorerUrls","url","getAddresses","addresses","getAddress","xs","getPermissions","requestAddresses","Kn","requestPermissions","permissions","signTransaction","transaction","errors_account","parseAccount","assertRequest","F","getAction","L","assertCurrentChain","q","currentChainId","formatters","transactionRequest","tG","serializer","serializers","watchAsset","walletActions","deployContract","walletClient","abi","bytecode","calldata","encodeDeployData","w","sendTransaction","data","prepareTransactionRequest","sendRawTransaction","signMessage","l","writeContract","getWalletClient","getConnectorClient","useWalletClient","queryClient","QueryClientProvider","NL","status","useAccount","getWalletClientQueryOptions","connectorUid","scopeKey","getWalletClientQueryKey","addressRef","previousAddress","removeQueries","invalidateQueries","Infinity","useQuery","_tanstack_react_query__WEBPACK_IMPORTED_MODULE_0__","_wagmi_core_query__WEBPACK_IMPORTED_MODULE_1__","kq"],"sourceRoot":""}