{"version":3,"file":"chunks/1aa5f599b0b6a9.js","mappings":";sJAIA,MAAMA,EAAe,CACnBC,kCAAmC,SACnCC,4BAA6B,UAGzBC,EAAO,IAAM,GAGnB,MAAMC,UAA0B,EAAAC,UAC9BC,YAAYC,GACVC,MAAMD,IAEN,OAAgBE,KAAM,mBAAmB,KAAM,CAC7CR,kCAAmCQ,KAAKC,0BACxCR,4BAA6BO,KAAKP,iCAGpC,OAAgBO,KAAM,6BAA6B,KACjD,MAAM,QACJE,EAAO,QACPC,GACEH,KAAKF,OACH,kCACJN,EAAoCE,GAClCM,KAAKI,QAQT,MAAO,CANS,CAACC,EAAOC,KACN,MAAZJ,GAAmBA,IAAYI,GACjCH,EAAQE,EAAOC,OAICd,SAGtB,OAAgBQ,KAAM,+BAA+B,KACnD,MAAM,4BACJP,EAA8BC,GAC5BM,KAAKI,QACT,OAAOX,OAGTO,KAAKO,aAAe,CAClBd,4BAA6BO,KAAKP,4BAClCD,kCAAmCQ,KAAKC,2BAI5CO,SACE,MAAM,SACJC,GACET,KAAKF,MACT,OAAoB,gBAAoB,aAAgC,CACtEY,MAAOV,KAAKO,cACXE,ICxDP,IAAIE,GD6DJ,OAAgBhB,EAAmB,eAAgBJ,IAEnD,OAAgBI,EAAmB,oBAAqBJ,GC1DtDoB,ED4DF,ECzDA,2KCRA,MAAMC,EAAuC,GAAb,IAAAC,aAAkB,IAAAC,YAAtB,KACtBC,EAAgC,GAAb,IAAAF,aAAkB,IAAAC,YAAtB,KAEfE,EAAiBlB,GAAUmB,EAAmB,aAAcnB,EAAOoB,GAEnEC,EAAgBrB,GAEX,aADgBmB,EAAmB,iBAAkBnB,EAAOoB,KAIjEE,EAAYtB,GAAUmB,EAAmB,QAASnB,EAAOoB,GAEzDG,EAAY,EAAGC,QAAQ,aAA0B,UAAVA,GAA+B,WAAVA,GAAgC,aAAVA,EAClF,UACU,aAAVA,EACI,cACA,UAEJC,EAAY,EAAGC,UAAU,aAA4B,YAAZA,EACzCZ,EACY,SAAZY,EACI,OACAT,EAEJU,EAAgB,EAAGD,UAAU,aAA4B,YAAZA,EAC7CZ,EACY,SAAZY,EACI,UACAT,EAEJW,EAAa,EAAGF,UAAU,aAA4B,SAAZA,EAAqB,EAAI,MAAK,IAAAX,gBAExEc,EAAoB,EAAGC,aAAa,UAAWN,QAAQ,aAA2B,UAAVA,GAAqC,SAAfM,GAAwC,gBAAfA,EAEvH,UADA,YAGAC,EAAgB,EAAGP,QAAQ,aAA0B,UAAVA,EAC3C,gFACA,kFAEAQ,EAAwB,EAAGR,QAAQ,aAA0B,WAAVA,EAAqB,KAAiB,UAAVA,EAAoB,WAAa,cAEhHS,EAAmB,EAAGP,UAAU,aAA4B,SAAZA,EAAqB,WAAa,SAElFQ,EAAW,EAAGC,wBAAyBA,EAAqB,OAAS,OAErEC,EAAe,CACjBC,WAAY,WACZC,YAAa,EACbC,UAAW,aACXC,QAAS,cACTxB,SAAU,UACVyB,UAAW,SACXC,WAAY,MACZC,SAAU,OACVC,QAAS,kBACTC,UAAW,SACXC,eAAgB,OAChBC,WAAY,UC5DHC,EAAuB,EAAGC,cAAa,EAAOC,YAAW,EAAOC,WAAU,EAAOC,WAAU,EAAOC,cAAa,KACpHJ,EACO,WAEPI,GAAcF,EACP,gBAEPE,EACO,WAEPH,EACO,SAEPE,EACO,QAEPD,EACO,QAEJ,UAWEG,EAAmBC,IAAc,CAC1CC,WAAY,eACZC,QAASF,EAAY,EAAI,IAEhBG,EAAc,IAAIC,IACnBC,IACJD,EACKE,QAAOC,KAAOA,IACdC,SAAQC,IACU,mBAARA,EACPA,EAAIJ,GAGJI,EAAIC,QAAUL,MAUvB,SAASM,EAASC,EAAKC,EAAQ,GAClC,GAAI,2BAA2BC,KAAKF,GAAM,CACtC,IAAIG,EAAWH,EAAII,UAAU,GAAGC,MAAM,IACd,IAApBF,EAASG,SACTH,EAAW,CACPA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,KAGjB,MAAMI,EAAQ,KAAKJ,EAASK,KAAK,MAKjC,MAAO,QAAQ,CAHJD,GAAS,GAAM,IACfA,GAAS,EAAK,IACP,IAARA,GACeC,KAAK,SAASP,KAE3C,MAAM,IAAIQ,MAAM,WCrEb,MAAMC,EAAY,CACrBC,WAAY,CAAEC,MAAOC,EAAOC,KAAMC,KAAMF,EAAOG,MAC/CT,MAAO,CAAEK,MAAOC,EAAOI,KAAMF,KAAMF,EAAOK,OAC1CvC,eAAgB,CAAEiC,MAAO,OAAQG,KAAM,SAE9B9D,EAAY,CAErB0D,WAAY,CACRQ,QAAS,CACLA,QAAS,CAAEP,MAAOC,EAAOC,KAAMC,KAAMF,EAAOG,MAC5CI,MAAO,CAAER,MAAOC,EAAOQ,KAAMN,KAAMF,EAAOS,MAC1CC,OAAQ,CAAEX,MAAOb,EAASc,EAAOW,IAAK,IAAMT,KAAMF,EAAOW,KACzDC,SAAU,CAAEb,MAAOC,EAAOC,KAAMC,KAAMF,EAAOG,MAC7CU,SAAU,CAAEd,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOe,KAC7CC,cAAe,CAAEjB,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOe,MAEtDE,QAAS,CACLX,QAAS,CAAEP,MAAOC,EAAOkB,KAAMhB,KAAMF,EAAOmB,MAC5CZ,MAAO,CAAER,MAAOC,EAAOoB,KAAMlB,KAAMF,EAAOW,KAC1CD,OAAQ,CAAEX,MAAOC,EAAOqB,KAAMnB,KAAMF,EAAOsB,MAC3CV,SAAU,CAAEb,MAAOC,EAAOC,KAAMC,KAAMF,EAAOG,MAC7CU,SAAU,CAAEd,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOe,KAC7CC,cAAe,CAAEjB,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOe,MAEtDQ,QAAS,CACLjB,QAAS,CAAEP,MAAOC,EAAOwB,KAAMtB,KAAMF,EAAOwB,MAC5CjB,MAAO,CAAER,MAAOC,EAAOyB,KAAMvB,KAAMF,EAAOyB,MAC1Cf,OAAQ,CAAEX,MAAOC,EAAO0B,KAAMxB,KAAMF,EAAO0B,MAC3Cd,SAAU,CAAEb,MAAOC,EAAOC,KAAMC,KAAMF,EAAOG,MAC7CU,SAAU,CAAEd,MAAOC,EAAO0B,KAAMxB,KAAMF,EAAO0B,MAC7CV,cAAe,CAAEjB,MAAOC,EAAO0B,KAAMxB,KAAMF,EAAO0B,OAEtDC,OAAQ,CACJrB,QAAS,CAAEP,MAAOC,EAAO4B,KAAM1B,KAAMF,EAAO4B,MAC5CrB,MAAO,CAAER,MAAOC,EAAO6B,KAAM3B,KAAMF,EAAO6B,MAC1CnB,OAAQ,CAAEX,MAAOC,EAAO8B,KAAM5B,KAAMF,EAAO8B,MAC3ClB,SAAU,CAAEb,MAAOC,EAAOC,KAAMC,KAAMF,EAAOG,MAC7CU,SAAU,CAAEd,MAAOC,EAAO8B,KAAM5B,KAAMF,EAAO8B,MAC7Cd,cAAe,CAAEjB,MAAOC,EAAO8B,KAAM5B,KAAMF,EAAO8B,OAEtDC,KAAM,CACFzB,QAAS,CAAEP,MAAO,OAAQG,KAAM,QAChCW,SAAU,CAAEd,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOgC,KAC7ChB,cAAe,CAAEjB,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOgC,MAEtDC,OAAQ,CACJ3B,QAAS,CAAEP,MAAO,OAAQG,KAAM,QAChCK,MAAO,CAAER,MAAOC,EAAOQ,KAAMN,KAAMF,EAAOS,MAC1CC,OAAQ,CAAEX,MAAOb,EAASc,EAAOW,IAAK,IAAMT,KAAMF,EAAOW,KACzDC,SAAU,CAAEb,MAAO,OAAQG,KAAM,QACjCW,SAAU,CAAEd,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOe,KAC7CC,cAAe,CAAEjB,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOe,MAEtD,cAAe,CACXT,QAAS,CAAEP,MAAO,OAAQG,KAAM,QAChCW,SAAU,CAAEd,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOgC,KAC7ChB,cAAe,CAAEjB,MAAOC,EAAOc,KAAMZ,KAAMF,EAAOgC,OAG1DE,eAAgB,CACZ5B,QAAS,CACL6B,MAAO,CAAEpC,MAAOC,EAAOmB,KAAMjB,KAAMF,EAAOW,KAC1CK,cAAe,CACXjB,MAAOC,EAAOmB,KACdjB,KAAMF,EAAOW,MAGrBM,QAAS,CACLkB,MAAO,CAAEpC,MAAOC,EAAOmB,KAAMjB,KAAMF,EAAOW,KAC1CK,cAAe,CACXjB,MAAOC,EAAOmB,KACdjB,KAAMF,EAAOW,MAGrBY,QAAS,CACLY,MAAO,CAAEpC,MAAOC,EAAOoC,KAAMlC,KAAMF,EAAOoC,MAC1CpB,cAAe,CAAEjB,MAAOC,EAAOoC,KAAMlC,KAAMF,EAAOoC,OAEtDT,OAAQ,CACJQ,MAAO,CAAEpC,MAAOC,EAAOqC,KAAMnC,KAAMF,EAAOqC,MAC1CrB,cAAe,CAAEjB,MAAOC,EAAOqC,KAAMnC,KAAMF,EAAOqC,OAEtDN,KAAM,CACFI,MAAO,CAAEpC,MAAOC,EAAOmB,KAAMjB,KAAMF,EAAOW,KAC1CK,cAAe,CACXjB,MAAOC,EAAOmB,KACdjB,KAAMF,EAAOW,MAGrBsB,OAAQ,CACJE,MAAO,CAAEpC,MAAOC,EAAOmB,KAAMjB,KAAMF,EAAOW,KAC1CK,cAAe,CACXjB,MAAOC,EAAOmB,KACdjB,KAAMF,EAAOW,MAGrB,cAAe,CACXwB,MAAO,CAAEpC,MAAOC,EAAOmB,KAAMjB,KAAMF,EAAOW,KAC1CK,cAAe,CACXjB,MAAOC,EAAOmB,KACdjB,KAAMF,EAAOW,OAIzBjB,MAAO,CACHY,QAAS,CACLA,QAAS,CAAEP,MAAOC,EAAOsC,KAAMpC,KAAMF,EAAOK,OAC5CK,OAAQ,CAAEX,MAAOC,EAAOkB,KAAMhB,KAAMF,EAAOkB,MAC3CN,SAAU,CAAEb,MAAOC,EAAOuC,IAAKrC,KAAMF,EAAOwC,MAC5C3B,SAAU,CAAEd,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,OAC5CW,cAAe,CAAEjB,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,QAErDY,QAAS,CACLX,QAAS,CAAEP,MAAOC,EAAOyC,GAAIvC,KAAMF,EAAOwC,MAC1C5B,SAAU,CAAEb,MAAOC,EAAOuC,IAAKrC,KAAMF,EAAOwC,MAC5C3B,SAAU,CAAEd,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,OAC5CW,cAAe,CAAEjB,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,QAErDkB,QAAS,CACLjB,QAAS,CAAEP,MAAOC,EAAO0C,KAAMxC,KAAMF,EAAO0C,MAC5C9B,SAAU,CAAEb,MAAOC,EAAOuC,IAAKrC,KAAMF,EAAOwC,MAC5C3B,SAAU,CAAEd,MAAOC,EAAO0C,KAAMxC,KAAMF,EAAO0C,MAC7C1B,cAAe,CAAEjB,MAAOC,EAAO0C,KAAMxC,KAAMF,EAAO0C,OAEtDf,OAAQ,CACJrB,QAAS,CAAEP,MAAOC,EAAOyC,GAAIvC,KAAMF,EAAOyC,IAC1C7B,SAAU,CAAEb,MAAOC,EAAOuC,IAAKrC,KAAMF,EAAOwC,MAC5C3B,SAAU,CAAEd,MAAOC,EAAOyC,GAAIvC,KAAMF,EAAOyC,IAC3CzB,cAAe,CAAEjB,MAAOC,EAAOyC,GAAIvC,KAAMF,EAAOyC,KAEpDV,KAAM,CACFzB,QAAS,CAAEP,MAAOC,EAAOkB,KAAMhB,KAAMF,EAAOmB,MAC5CZ,MAAO,CAAER,MAAOC,EAAOoB,KAAMlB,KAAMF,EAAOW,KAC1CD,OAAQ,CAAEX,MAAOC,EAAOqB,KAAMnB,KAAMF,EAAOsB,MAC3CV,SAAU,CAAEb,MAAOC,EAAOuC,IAAKrC,KAAMF,EAAO2C,OAC5C9B,SAAU,CAAEd,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOc,MAC5CE,cAAe,CAAEjB,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOc,OAErDmB,OAAQ,CACJ3B,QAAS,CAAEP,MAAOC,EAAOsC,KAAMpC,KAAMF,EAAOK,OAC5CK,OAAQ,CAAEX,MAAOC,EAAOkB,KAAMhB,KAAMF,EAAOkB,MAC3CN,SAAU,CAAEb,MAAOC,EAAOuC,IAAKrC,KAAMF,EAAO2C,OAC5C9B,SAAU,CAAEd,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,OAC5CW,cAAe,CAAEjB,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,QAErD,cAAe,CACXC,QAAS,CAAEP,MAAOC,EAAO4C,KAAM1C,KAAMF,EAAOK,OAC5CE,MAAO,CAAER,MAAOC,EAAO6C,IAAK3C,KAAMF,EAAO8C,KACzCpC,OAAQ,CAAEX,MAAOC,EAAOI,KAAMF,KAAMF,EAAO+C,OAC3CnC,SAAU,CAAEb,MAAOC,EAAOuC,IAAKrC,KAAMF,EAAO2C,OAC5C9B,SAAU,CAAEd,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,OAC5CW,cAAe,CAAEjB,MAAOC,EAAOgC,IAAK9B,KAAMF,EAAOK,UAItD,SAASlE,EAAmB6G,GAAU,WAAElG,EAAa,UAAS,MAAEN,EAAQ,UAAS,KAAEyG,EAAO,SAAYC,GACzG,MAAMC,EAAiBD,EAAMF,GAC7B,IAAKG,EACD,MAAO,UAGX,IAAKA,EAAerG,GAAa,CAC7B,IAAKqG,EAAwB,QACzB,OAAOtD,EAAUmD,GAAUC,GAAQpD,EAAUmD,GAAUC,GAAQ,UAEnEnG,EAAa,UAIZqG,EAAerG,GAAYN,KAC5BA,EAAQ,WAEZ,MAAM4G,EAAmBD,EAAerG,GAClCuG,EAAcD,EAAiB5G,GACrC,OAAK6G,EAGEA,EAAYJ,IAASG,EAAiB9C,QAAQ2C,GAF1C,UAIR,MAAM,GAAQ,EAAAK,EAAA,IAAYC,IAAc,OAC3CC,cFvH4BxI,EEuHEuI,EFvHQ,IACnCnG,EACH0C,WAAY5D,EAAclB,GAC1ByI,aAAc,IAAG,IAAAA,oBACjBC,UAAWrH,EAAarB,GACxB0E,MAAO,GAAGpD,EAAStB,gBACnB2I,OAAQpH,EAAUvB,GAClB4I,OAAQnH,EAAUzB,GAClB6I,WAAYlH,EAAc3B,GAC1B8I,QAASlH,EAAW5B,GACpBwD,WAAYzB,EAAc/B,GAC1B+I,mBAAoB/G,EAAsBhC,GAC1CgJ,cAAe/G,EAAiBjC,GAChCiJ,MAAO/G,EAASlC,GAChB,sBAAuB,CACnBkJ,OAAQ,EACRC,OAAQ,EACRL,QAAS,GAEb,UAAW,CACPhG,eAAgBjB,EAAkB7B,OAElCA,EAAMuD,WAAa,CAAE6F,cAAe,UEkGxCC,cF7FkC,CAClC7G,QAAS,OACT8G,SAAU,WACVC,KAAM,MACNC,IAAK,MACLC,UAAW,0BAhCgB,IAACzJ,6DG9DhC,IAAkBW,WAAU+I,cAAahI,UAAS6B,eAAcoG,MAAY,IAAAC,KAAI,OAAQC,OAAOC,OAAO,CAAEC,IAAK,CACrG1H,WAAYqH,EAAc,WAAa,SACvCM,UAAWN,EAAc,WAAa,SACtCO,KAAM,WACNd,OAAoB,SAAZzH,EAAqB,EAAI,MAAK,IAAAX,YAAa,MACnD4B,SAAU,OACVuH,SAAU,SACVC,aAAc,WACdpH,WAAY,YACTO,EAAgBC,KAClBoG,GAAOhJ,GCThB,IAAkBe,UAAS0I,OAAMC,cAAa9G,eAAcoG,MAAY,IAAAC,KAAI,OAAQC,OAAOC,OAAO,CAAEC,IAAK,CACjGC,UAAW,SACXxH,QAAS,OACT8H,WAAY,EACZzB,WAAY,EACZ7H,SAAU,EACVuJ,WAAY,OACZpB,OAAoB,SAAZzH,EACF,EACA2I,EACI,OAAM,IAAAtJ,YAAa,MACnB,MAAK,IAAAA,YAAa,SACzBuC,EAAgBC,KAClBoG,GAAOS,GChBhB,IAAkBI,MAAK7J,cAAagJ,MAAY,IAAAC,KAAI,OAAQC,OAAOC,OAAO,CAAEC,IAAK,CACzEC,UAAW,SACXxH,QAAS,cACTiI,SAAU,SACV9H,SAAU,OACV2G,SAAU,cACNkB,GAAO,CAAEvB,MAAO,WAChBuB,GAAO,CAAEE,eAAgB,YAC5Bf,GAAOhJ,kBCLhB,MAAMgK,EAAc,CAAC,UAAW,UACjB,MAAMC,UAAuB,YACxC7K,cACIE,SAAS4K,WACT3K,KAAK4K,cAAgB,KACjB,MAAM,WAAEhJ,EAAU,WAAEuB,EAAU,WAAEJ,GAAe/C,KAAKF,MACpD,QAAIqD,IAGAJ,QAGe8H,IAAfjJ,IACyC,IAArC6I,EAAYK,QAAQlJ,IAOpCpB,SACI,MAAM,QAAEgB,EAAO,OAAEuJ,GAAW/K,KAAKF,MACjC,IAAIkL,EAA0B,YAAZxJ,EAAwB,QAAU,SACpD,OAAQ,IAAAkI,KAAI,MAAO,CAAEG,IAAKkB,IACtB,IAAArB,KAAI,IAAS,CAAEuB,KAAMD,EAAapJ,WAAY5B,KAAK4K,gBAAkB,SAAW,cCfrF,MAAMM,UAAe,YACxBrL,cACIE,SAAS4K,WAET3K,KAAKmL,OAAS,cAEdnL,KAAKoL,iBAAkB,aAAQ5H,GAC/BxD,KAAKsB,MAAQ,CACT0B,UAAU,EACVC,SAAS,EACTC,SAAS,GAEblD,KAAKqL,cAAgB,KAAOrL,KAAKF,MAAMiD,aAAe/C,KAAKF,MAAMuD,UACjErD,KAAKsL,aAAgBC,IACjBvL,KAAKwL,SAAS,CAAEtI,SAAS,IACrBlD,KAAKF,MAAMwL,cACXtL,KAAKF,MAAMwL,aAAaC,IAGhCvL,KAAKyL,aAAgBF,IACjBvL,KAAKwL,SAAS,CAAEtI,SAAS,EAAOF,UAAU,IACtChD,KAAKF,MAAM2L,cACXzL,KAAKF,MAAM2L,aAAaF,IAGhCvL,KAAK0L,YAAeH,IAChBA,EAAEI,iBACF3L,KAAKwL,SAAS,CAAExI,UAAU,IACtBhD,KAAKF,MAAM4L,aACX1L,KAAKF,MAAM4L,YAAYH,IAG/BvL,KAAK4L,UAAaL,IACdvL,KAAKwL,SAAS,CAAExI,UAAU,IACtBhD,KAAKF,MAAM8L,WACX5L,KAAKF,MAAM8L,UAAUL,IAG7BvL,KAAK6L,QAAUxL,IACXL,KAAKwL,SAAS,CAAEvI,SAAS,IACrBjD,KAAKF,MAAM+L,SACX7L,KAAKF,MAAM+L,QAAQxL,IAG3BL,KAAK8L,OAASzL,IACVL,KAAKwL,SAAS,CAAEvI,SAAS,IACrBjD,KAAKF,MAAMgM,QACX9L,KAAKF,MAAMgM,OAAOzL,IAG1BL,KAAK+L,WAAa,KACd,MAAM,KAAEC,EAAI,WAAEjJ,GAAe/C,KAAKF,MAClC,OAAIkM,EACOjJ,EAAa,OAAS,IAE1B,UAIX/C,KAAKiM,aAAeV,IACXvL,KAAKqL,iBACNE,EAAEW,mBAEC,GAGfC,oBACQnM,KAAKF,MAAMsM,WAAapM,KAAKmL,kBAAkBkB,mBAC/CrM,KAAKmL,OAAOlE,QAGpBzG,SACI,MAAM,WAAEoB,EAAa,UAAS,SAAEnB,EAAQ,UAAE6L,EAAWC,UAAWC,EAAe,YAAEC,EAAW,UAAEC,EAAS,WAAEC,EAAU,WAAE5J,GAAa,EAAK,UAAEM,GAAY,EAAK,WAAEF,GAAa,EAAK,mBAAElB,GAAqB,EAAK,QAAET,EAAU,UAAS,MAAEwG,EAAQ,EAACjE,EAASjE,IAAUiE,EAAQjE,IAAM,OAAE8M,KAAWnD,GAASzJ,KAAKF,MAChS+M,EAAa,IAAK7M,KAAKsB,MAAO6B,aAAYJ,cAC1C+J,EAAeN,GAAmBxM,KAAK+L,aACvCgB,MAAsBJ,GAAeD,GAAcjM,MACpDiM,GAAcC,GAAelM,IAclC,OAAQ,IAAAiJ,KAAI,WAAgB,CAAEhJ,MAAOsH,IACjC,IAAA0B,KAAI,aAAsB,MAAM,EAAG3B,WAAY,IAAA2B,KAAI,WAAgBC,OAAOC,OAAO,CAAE7B,KAAMA,EAAMzG,MAAOwB,EAAqB+J,GAAaE,gBAAiBA,GAAmB/M,KAAKF,QAAQ,EAAGwI,eAAca,oBAAoB,OAAC,IAAAO,KAAIoD,EAAcnD,OAAOC,OAAO,GNnFhP,GAEzBoD,0BAAyBlN,GAASmN,KAChC,GAAa,SAATA,EAAiB,CACjB,MAAM,OAAEC,EAAM,KAAElB,KAASvC,GAAS3J,EAClC,OAAO2J,EAEX,OAAO3J,GM4EoQqN,CAAY1D,EAAMqD,GAAe,CAAE,cAAeF,EAAQ9I,IAAK9D,KAAKoL,gBAAgBpL,KAAKmL,OAAQsB,GAAcnB,aAActL,KAAKsL,aAAcG,aAAczL,KAAKyL,aAAcC,YAAa1L,KAAK0L,YAAaE,UAAW5L,KAAK4L,UAAWC,QAAS7L,KAAK6L,QAASC,OAAQ9L,KAAK8L,OAAQpG,SAAU3C,EAAYuJ,UAAWA,EAAWzC,KAdtjBkB,EAcskBzC,EAbjkB,MAAjBwE,EACO,CACH,KAAM/B,GAGL+B,IAAiBN,EACf,CACH,oCAAqCzB,GAGtCA,MAIH,IAAArB,KAAI0D,EAAc,CAAEC,QAASrN,KAAKiM,aAAc3B,MAAOrI,GACnDoB,IAAc,IAAAqG,KAAIgB,EAAgB,CAAElJ,QAASA,EAASI,WAAYA,EAAYuB,WAAYA,EAAYJ,WAAYA,EAAYgI,OAAQ5B,IACtIwD,IAAe,IAAAjD,KAAI4D,EAAa,CAAEjK,UAAWA,EAAW7B,QAASA,EAAS2I,YAAa4C,EAAiB7C,KAAMyC,IAC9GlM,IAAa,IAAAiJ,KAAI6D,EAAS,CAAElK,UAAWA,EAAWmG,cAAemD,EAAYnL,QAASA,GAAWf,GACjGiM,IAAc,IAAAhD,KAAI4D,EAAa,CAAEjK,UAAWA,EAAW7B,QAASA,EAAS2I,YAAa4C,EAAiB7C,KAAMwC,MAnBtG,IAAC3B,SAsB5BG,EAAOsC,aAAe,CAClB5L,WAAY,UACZwK,WAAW,EACXrJ,YAAY,EACZM,WAAW,EACXF,YAAY,EACZlB,oBAAoB,EACpBT,QAAS,UACTyL,KAAM,UAEV,MAAMQ,GAA+B,EAAAC,EAAA,GAAmB,YAClDC,EAAgB,cAAiB,CAAC7N,EAAOgE,KAAQ,IAAA4F,KAAIwB,EAAQvB,OAAOC,OAAO,GAAI9J,EAAO,CAAE2M,YAAa3I,OAC3G6J,EAAcC,YAAc,SAC5B,SAAe,EAAAC,EAAA,GAAqB,CAChCC,cAAe,SACfC,YAAW,KACXC,eAAc,MAHlB,EAIG,EAAAC,EAAA,GAAoB,CACnBZ,QAASI,EAA6B,CAClCS,OAAQ,UACRC,cAAe,SACftB,WAAY,CACRiB,cAAe,SACfC,YAAW,KACXC,eAAc,SAPvB,CAUAL,4GCvICpO,EAAe,CACfE,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU4O,GAE5C,SAASC,EAAiBvO,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAuBxC,OAtBAsO,EAAME,gBAAkB,WAAc,MAAO,CACzC/O,4BAA6B6O,EAAMG,sBAEvCH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMxO,MAAM4O,KACnBjP,EAA8B6O,EAAMlO,QAAQX,4BAC5CkP,EAAuD,mBAAhClP,GACvBA,KACA,GACJ,OAAO,IAAAmP,UAASD,EAAc,CAACD,KAEnCJ,EAAMrO,0BAA4B,WAC9B,IAAIT,EAAoC8O,EAAMlO,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,IAGR8O,EAAMhN,MAAQ,CACV7B,4BAA6B6O,EAAMG,oBACnCjP,kCAAmC8O,EAAMrO,2BAEtCqO,EAQX,OAjCA,IAAAO,WAAUR,EAAkBD,GA2B5BC,EAAiBS,UAAUtO,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAKsB,OAAS,EAAAyN,SAAA,KAActO,KAErG4N,EAAiBW,aAAezP,EAChC8O,EAAiBY,kBAAoB1P,EAC9B8O,EAlC0B,CAmCnC,EAAAzO,yECnBF,QAvBoC,WAChC,SAASsP,EAAepP,GACpB,IAAIwO,EAAQtO,KACZA,KAAKmP,MAAQ,WAKT,OAAO,IAAID,EAAe,CAAEE,QADdC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDpP,KAAKoP,QAAUtP,EAAMsP,QAWzB,OATAF,EAAeJ,UAAUU,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPzP,KAAKoP,QAAUK,EAAQzP,KAAKoP,UAET,iBAAZK,IACPzP,KAAKoP,SAAU,IAAAM,WAAS,IAAAA,UAAS,GAAI1P,KAAKoP,SAAUK,IAEjDzP,MAEJkP,EArBwB,iEC6CnC,QA5CsC,SAAUd,GAE5C,SAASuB,EAAiB7P,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KA6BxC,OA5BAsO,EAAMa,MAAQ,WACV,OAAIb,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAEvP,SARhB,IAAAwO,UAASN,EAAMlO,SAQmB2P,UAPjC,IAAAnB,UAASN,EAAMyB,UAOsCX,QADtDC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDd,EAAM0B,KAAO,SAAU9P,GACfoO,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASlM,SAAQ,SAAUoM,GAAW,OAAOA,EAAQ3B,EAAOpO,MAClEoO,EAAMsB,UAAW,IAErBtB,EAAMlO,QAAUN,EAAMM,SAAW,GACjCkO,EAAMyB,SAAWjQ,EAAMiQ,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,EAUX,OAzCA,IAAAO,WAAUc,EAAkBvB,GAiC5BuB,EAAiBb,UAAUU,OAAS,SAAUC,GAC1C,OAAIzP,KAAK4P,UAELC,QAAQC,KAAK,iDACN9P,MAEJoO,EAAOU,UAAUU,OAAOjB,KAAKvO,KAAMyP,IAEvCE,EA1C0B,UA2CnC,kDC7CF,iBAA0BzP,GAAW,OAAO,SAAUkP,GAAW,OAAO,SAAUpC,GAC9E,IAAIkD,EAAgBlD,EAAqBoC,GACrCe,EAAcD,EAAcf,QAIhC,OAHIgB,GACAA,EAAYH,KAAK9P,GAEdgQ,yFCSX,QAZ2B,SAAUE,GAAe,OAAO,SAAUC,GACjE,IAAIC,EAAuB,cAAiB,SAAUxQ,EAAOgE,GACzD,IAAIyM,EAAKzQ,EAAM0Q,iBAAkBA,OAA0B,IAAPD,EAAgB,GAAKA,EAAI9G,GAAO,IAAAgH,QAAO3Q,EAAO,CAAC,qBAC/F4Q,GAAgB,IAAAhB,WAAS,IAAAA,UAAS,GAAIU,GAAcI,GACxD,OAAQ,gBAAoB,IAAkB,CAAE9B,KAAMgC,GAClD,gBAAoBL,GAAkB,IAAAX,UAAS,GAAIjG,EAAM,CAAE3F,IAAKA,SAKxE,OAFAwM,EAAqB1C,YAAc,yBAA2ByC,EAAiBzC,aAC3EyC,EAAiBM,MAAQ,IACtBL,4GC0EX,QA9E8C,SAAUlC,GAEpD,SAASwC,EAAyB9Q,GAC9B,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAyDxC,OApDAsO,EAAMuC,mBAAqB,GAC3BvC,EAAMwC,kBAAoB,GAE1BxC,EAAMyC,wBAA0B,SAAUjR,GACtC,IAAIkR,EAAuBrH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBvN,QAAO,SAAUwN,GAAK,OAAO7C,EAAMuC,mBAAmBM,KAAOrR,EAAMqR,MAOtI,OANIH,EAAqBzM,OAAS,IAC9B+J,EAAMwC,mBAAoB,IAAApB,WAAS,IAAAA,UAAS,GAAIpB,EAAMwC,mBAAoBxC,EAAM8C,uBAAuBJ,EAAsBlR,IAC7HkR,EAAqBnN,SAAQ,SAAUsN,GACnC7C,EAAMuC,mBAAmBM,GAAKrR,EAAMqR,OAGrC7C,EAAMwC,mBAEjBxC,EAAM8C,uBAAyB,SAAUC,EAAkBvR,GACvD,OAAOuR,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIjB,EACAkB,EAAenD,EAAMxO,MAAMoR,eAAeM,GAC1CE,EAAmB5R,EAAM0R,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,IAAA/B,WAAS,IAAAA,UAAS,GAAI6B,KAAYhB,EAAK,IAAOiB,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKlH,UAAUpG,OAAQsN,IACpCD,EAAKC,GAAMlH,UAAUkH,GAEzB,IAAIC,EAAyC,mBAAjBL,EACtBA,EAAanD,EAAMtB,qBAAsBlN,GACzCwO,EAAMtB,qBAAqByE,GAC7BC,GACAA,EAAiBK,WAAM,GAAQ,IAAAnD,UAASgD,EAAM,CAACE,MAGoCvB,IAdhFgB,IAeZ,KAEPjD,EAAMtB,qBAAuB,SAAUoC,GACnC,IAAImB,EAAKjC,EAAMlO,QAASZ,EAAoC+Q,EAAG/Q,kCAAmCC,EAA8B8Q,EAAG9Q,4BACnI,OAAO,IAAIkQ,EAAA,EAAiB,CACxBvP,QAAiD,mBAAhCX,GACbA,KACA,GACJsQ,SAAwD,mBAAtCvQ,GACdA,KACA,GACJ4P,QAASA,KAGjBzF,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBrN,SAAQ,SAAUsN,GACtD7C,EAAMuC,mBAAmBM,GAAKrR,EAAMkS,sBAAsBb,MAE9D7C,EAAMwC,kBAAoBxC,EAAM8C,uBAAuBzH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAiBpR,EAAMkS,uBAC/F1D,EAgBX,OA3EA,IAAAO,WAAU+B,EAA0BxC,GA6DpCwC,EAAyB9B,UAAUtO,OAAS,WACxC,IAAIsQ,EAAoB9Q,KAAK+Q,wBAAwB/Q,KAAKF,MAAMkS,uBAChE,OAAOhS,KAAKF,MAAMW,SAAS,CACvBuM,qBAAsBhN,KAAKgN,qBAC3B8D,kBAAmBA,KAG3BF,EAAyB5B,aAAe,CACpCxP,kCAAmC,SACnCC,4BAA6B,UAEjCmR,EAAyBpD,aAAe,CACpC0D,eAAgB,IAEbN,EA5EkC,CA6E3C,aCzEF,EAV0B,SAAUM,GAAkB,OAAO,SAAUb,GACnE,IAAI4B,EAAsB,cAAiB,SAAUnS,EAAOgE,GAAO,OAAQ,gBAAoB,EAA0B,CAAEoN,eAAgBA,EAAgBc,sBAAuBlS,IAAS,SAAUyQ,GACjM,IAAIvD,EAAuBuD,EAAGvD,qBAAsB8D,EAAoBP,EAAGO,kBAC3E,OAAQ,gBAAoBT,GAAkB,IAAAX,UAAS,GAAI5P,EAAOgR,EAAmB,CAAE9D,qBAAsBA,EAAsBlJ,IAAKA,WAK5I,OAFAmO,EAAoBrE,YAAc,wBAA0ByC,EAAiBzC,aACzEyC,EAAiBM,MAAQ,IACtBsB,mGCXJ,MAAMC,EAAc,CACvBC,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,ICCNC,EAAS,EAAAC,SAAU;;EAOnBC,EAAS,EAAAD,SAAU;;;;;;;;;;;EAmBzB,EAAe,OAAW,cAAiB,UAAiB,OAAE7F,EAAM,WAAEhL,EAAa,UAAS,MAAE+Q,EAAQ,EAAG1H,KAAM2H,EAAe,UAAa9O,GACvI,MAAMmH,EAA+B,iBAAjB2H,EACdA,EACAV,EAAYU,GAClB,OAAQ,IAAAlJ,KAAI,aAAsB,MAAOmJ,IACrC,MAAMC,EAZd,UAAwB,KAAE/K,EAAI,WAAEnG,IAC5B,MAAa,UAATmG,EACsB,YAAfnG,EAA2B,EAAAwF,KAAO,EAAAG,GAGvB,YAAf3F,EAA2B,EAAAmR,MAAQ,EAAAC,MAOlBC,CAAe,CAC/BlL,KAAM8K,EAAO9K,KACbnG,eAIJ,OAAQ,IAAA8H,KAAI,MAAO,CAAEwJ,UAAW,QAASxK,OAAQuC,EAAMlC,MAAOkC,EAAMkI,QAAS,YAAaC,MAAO,6BAA8B,cAAexG,EAAQ9I,IAAKA,EAAK+F,IAAK,EAAAA,GAAI;;;;;;6BAMpJ6I;;;mCAGMC;kBAEvB,IAAAjJ,KAAI,SAAU,CAAE2J,GAAI,IAAKC,GAAI,IAAK1P,EAAG,IAAKiG,IAAK,EAAAA,GAAI;;4BAEnCiJ;;;;;;+BAMGN;qCACMG;;qyDC7D9B,MAAMY,EAAM,UACNC,EAAM,UACNrM,EAAO,UACPsM,EAAO,UACP9M,EAAO,UACPD,EAAO,UACPE,EAAO,UAEP8M,EAAM,UACNC,EAAM,UACNC,EAAO,UACPrN,EAAO,UACPD,EAAO,UACPE,EAAO,UACPU,EAAO,UAEP2M,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPvM,EAAM,UACNnC,EAAM,UACNQ,EAAO,UACPG,EAAO,UACPF,EAAO,UACPF,EAAO,UACPG,EAAO,UAEPiO,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP1N,EAAK,UACL2N,EAAM,UACNpO,EAAM,UACNqO,EAAM,UACNC,EAAM,UACNC,EAAM,UACNC,EAAM,UACNjO,EAAM,UACNkO,GAAM,UACN5N,GAAM,UACN6N,GAAO,UACP9N,GAAO,UACP+N,GAAO,UACPvQ,GAAO,UACPkC,GAAO,UACPsO,GAAO,UACP9P,GAAO,UACP4B,GAAO,UAEPmO,GAAO,UAEPC,GAAO,wBACP7Q,GAAO,wBACPO,GAAO,wBACPuQ,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER3D,GAAQ,UACR4D,GAAQ,UACRC,GAAQ,UACRC,GAAQ,UACR7D,GAAQ,UACR7N,GAAQ,UACR0C,GAAQ,UACRiP,GAAQ,UACRrP,GAAQ,UACRsP,GAAO,UACPC,GAAO,UACP/R,GAAO,UACPM,GAAO,UACP0R,GAAO,UACPC,GAAO,UACP5P,GAAO,UACP6P,GAAO,UACPC,GAAO,UAEPvR,GAAM,UAENwR,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAERzT,IAAa,OAAO,CAAEC,MAAO0C,EAAIvC,KAAMsC,KACvCgR,IAAmB,OAAO,CAAEzT,MAAO+C,EAAK5C,KAAMS,IAC9C8S,IAAkB,OAAO,CAAE1T,MAAOsQ,EAAKnQ,KAAMC,KAC7CuT,IAAoB,OAAO,CAAE3T,MAAO0C,EAAIvC,KAAMiS,KAC9CwB,IAAO,OAAO,CAAE5T,MAAO8Q,GAAM3Q,KAAM6R,KACnC6B,IAAY,OAAO,CAAE7T,MAAO2C,GAAMxC,KAAM6R,KACxC8B,IAAa,OAAO,CAAE9T,MAAOmB,EAAMhB,KAAMgB,IACzC4S,IAAa,OAAO,CAAE/T,MAAO6C,GAAM1C,KAAM6C,KACzCgR,IAAkB,OAAO,CAAEhU,MAAO2Q,GAAMxQ,KAAM8R,KAC9CgC,IAAU,OAAO,CAAEjU,MAAO2C,GAAMxC,KAAM6R,KACtCkC,IAAgB,OAAO,CAAElU,MAAO6C,GAAM1C,KAAM6C,KAC5CmR,IAAY,OAAO,CAAEnU,MAAOiC,EAAK9B,KAAMiS,KACvCpQ,IAAO,OAAO,CAAEhC,MAAOmB,EAAMhB,KAAMiB,IACnCgT,IAAY,OAAO,CAAEpU,MAAOqB,EAAMlB,KAAMoB,IACxC8S,IAAa,OAAO,CAAErU,MAAOsB,EAAMnB,KAAMiB,IACzCkT,IAAc,OAAO,CAAEtU,MAAOoB,EAAMjB,KAAMoB,IAC1CL,IAAU,OAAO,CAAElB,MAAOmB,EAAMhB,KAAMiB,IACtCmT,IAAO,OAAO,CAAEvU,MAAOmB,EAAMhB,KAAMiB,IACnCoT,IAAO,OAAO,CAAExU,MAAOkQ,EAAM/P,KAAM8P,IACnCwE,IAAS,OAAO,CAAEzU,MAAO2P,EAAMxP,KAAMsP,IACrCiF,IAAM,OAAO,CAAE1U,MAAO8B,EAAM3B,KAAM2B,IAClC6S,IAAS,OAAO,CAAE3U,MAAOyB,EAAMtB,KAAMsB,IACrCmT,IAAQ,OAAO,CAAE5U,MAAOoP,EAAMjP,KAAMiP,IACpCyF,GAAW,IAAM3U,kDCrJ9B,SAAe,eAAY,KAAM,CAC7BgD,KAAM,kXCDH,MAAM4R,EAAY,gBACZC,EAAU,qBACVC,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAMxBvR,EAAe,IAAM,EACrB1H,EAAW,IAAM,EACjBC,EAAW,IAAM,GACjBiZ,EAAgB,IAAM,GACtBC,EAAa,IAAM,uIACnBC,EAAiB,IAAM,iHACvBC,EAAY,CAAC1V,EAAQ,EAAAyB,KAAMkU,EAAetZ,IAAa,IAAM,kEAG5CsZ,OAAkB3V,YAGnC4V,EAAc,IAAM,0BAGpBC,EAAS,CAClBC,KAAM,IAAM,IACZC,OAAQ,IAAM,IACdC,WAAY,IAAM,IAClBC,MAAO,IAAM,IACbC,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,KAENC,EAAiB,KAAM,CAChC/R,OAAQ,eACRgS,KAAM,sCACNtS,OAAQ,iBACRsB,SAAU,oBACVpB,QAAS,eACTQ,SAAU,sBACVL,MAAO,iBACPlG,WAAY,sBAOHoY,EAAY,IAAM,EAAApR,GAAI;;;;;;;;;EAUtBqR,EAAkB,KAAM,CACjCrR,IAAK,CACDsR,iBAAiB,IAAAzB,YACjB0B,kBAAmB,OACnBC,wBAAyB,WACzBC,wBAAyB,SACzBC,mBAAoB,aAExB9I,UAAW,CACP+I,KAAM,CACFL,iBAAiB,IAAAzB,aAErB+B,GAAI,CACAN,gBAAiB,EAAA7V,uEClEtB,SAAS8C,EAAYsT,GACxB,MAAMC,EAAe,CAACC,EAAW9b,IAAU8b,EAAU9b,GAM/C+b,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEK,SAxBT,SAAkBjc,GACd,MAAM,SAAEW,KAAa4H,GAAevI,EAK9B+S,IAJQ,IAAAmJ,YAAWH,IACAF,GAGFtT,GAGvB,OAAO,gBAAoB,WAAgB,KAAM5H,EAASoS,KAe3CoJ,SANnB,SAAkBnc,GACd,MAAMoc,GAAU,IAAAF,YAAWH,GACrBM,EAAUrc,EAAMY,OAASib,EACzBS,GAAU,IAAAC,cAAahU,GAAe8T,EAAQD,EAAS7T,IAAa,CAAC6T,EAASC,IACpF,OAAQ,gBAAoBN,EAAaI,SAAU,CAAEvb,MAAO0b,GAAWtc,EAAMW,4DCtCrF,MACMqZ,EAAc,CAAC,QAAS,QAEf,SAASwC,EAASxc,GAC7B,GAAIA,GAASA,EAAMkI,MAAO,CAEtB,GAAI,uBAAwBlI,EAAMkI,MAC9B,OAAOlI,EAAMkI,MAAMuU,mBAGlB,GAAI,SAAUzc,EAAMkI,OAAS8R,EAAYnI,SAAS7R,EAAMkI,MAAMD,MAC/D,OAAOjI,EAAMkI,MAIrB,MAAO,CAAED,KAfc,wECcZ,SAASyU,EAAOC,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflC5c,IACJ,MAAMkI,GAAQ,OAASlI,GACvB,GAAIA,GAASA,EAAM6c,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAS9c,EAAM6c,IAC7B,GAAIE,GAASA,EAAM7U,EAAMD,MAAO,CAC5B,MAAMrH,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,GAGnB,MAAO,IAXf,IAAwBic,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQ3c,IAEJ,MAAMkI,GAAQ,OAASlI,GAEvB,GAAIkI,EAAMD,QAAQ8U,EAAO,CACrB,MAAMnc,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,EAEf,MAAO,8aC/Bf,MCCA,EAAe,gBAAoB,MCO5B,IAAIoc,EAAY,YACZC,EAAS,SACTC,EAAW,WACXC,EAAU,UACVC,EAAU,UA6FjBC,EAA0B,SAAUC,GAGtC,SAASD,EAAWrd,EAAOM,GACzB,IAAIkO,EAEJA,EAAQ8O,EAAiB7O,KAAKvO,KAAMF,EAAOM,IAAYJ,KACvD,IAGIqd,EADAC,EAFcld,MAEuBmd,WAAazd,EAAM0d,MAAQ1d,EAAMwd,OAuB1E,OArBAhP,EAAMmP,aAAe,KAEjB3d,EAAM4d,GACJJ,GACFD,EAAgBN,EAChBzO,EAAMmP,aAAeT,GAErBK,EAAgBJ,EAIhBI,EADEvd,EAAM6d,eAAiB7d,EAAM8d,aACfd,EAEAC,EAIpBzO,EAAMhN,MAAQ,CACZuc,OAAQR,GAEV/O,EAAMwP,aAAe,KACdxP,GA/BT,OAAe6O,EAAYC,GAkC3BD,EAAWY,yBAA2B,SAAkCC,EAAMC,GAG5E,OAFaD,EAAKN,IAEJO,EAAUJ,SAAWf,EAC1B,CACLe,OAAQd,GAIL,MAmBT,IAAImB,EAASf,EAAWrO,UA0OxB,OAxOAoP,EAAO/R,kBAAoB,WACzBnM,KAAKme,cAAa,EAAMne,KAAKyd,eAG/BS,EAAOE,mBAAqB,SAA4BC,GACtD,IAAIC,EAAa,KAEjB,GAAID,IAAcre,KAAKF,MAAO,CAC5B,IAAI+d,EAAS7d,KAAKsB,MAAMuc,OAEpB7d,KAAKF,MAAM4d,GACTG,IAAWb,GAAYa,IAAWZ,IACpCqB,EAAatB,GAGXa,IAAWb,GAAYa,IAAWZ,IACpCqB,EAAapB,GAKnBld,KAAKme,cAAa,EAAOG,IAG3BJ,EAAOK,qBAAuB,WAC5Bve,KAAKwe,sBAGPN,EAAOO,YAAc,WACnB,IACIC,EAAMlB,EAAOF,EADbqB,EAAU3e,KAAKF,MAAM6e,QAWzB,OATAD,EAAOlB,EAAQF,EAASqB,EAET,MAAXA,GAAsC,iBAAZA,IAC5BD,EAAOC,EAAQD,KACflB,EAAQmB,EAAQnB,MAEhBF,OAA4BzS,IAAnB8T,EAAQrB,OAAuBqB,EAAQrB,OAASE,GAGpD,CACLkB,KAAMA,EACNlB,MAAOA,EACPF,OAAQA,IAIZY,EAAOC,aAAe,SAAsBS,EAAUN,QACnC,IAAbM,IACFA,GAAW,GAGM,OAAfN,GAEFte,KAAKwe,qBAEDF,IAAetB,EACjBhd,KAAK6e,aAAaD,GAElB5e,KAAK8e,eAEE9e,KAAKF,MAAM6d,eAAiB3d,KAAKsB,MAAMuc,SAAWd,GAC3D/c,KAAKwL,SAAS,CACZqS,OAAQf,KAKdoB,EAAOW,aAAe,SAAsBD,GAC1C,IAAIG,EAAS/e,KAETwd,EAAQxd,KAAKF,MAAM0d,MACnBwB,EAAYhf,KAAKI,QAAUJ,KAAKI,QAAQmd,WAAaqB,EAErDK,EAAQjf,KAAKF,MAAMof,QAAU,CAACF,GAAa,CAAC,cAAqBhf,MAAOgf,GACxEG,EAAYF,EAAM,GAClBG,EAAiBH,EAAM,GAEvBI,EAAWrf,KAAKye,cAChBa,EAAeN,EAAYK,EAAS/B,OAAS+B,EAAS7B,MAGrDoB,GAAapB,GASlBxd,KAAKF,MAAMyf,QAAQJ,EAAWC,GAC9Bpf,KAAKwf,aAAa,CAChB3B,OAAQb,IACP,WACD+B,EAAOjf,MAAM2f,WAAWN,EAAWC,GAEnCL,EAAOW,gBAAgBJ,GAAc,WACnCP,EAAOS,aAAa,CAClB3B,OAAQZ,IACP,WACD8B,EAAOjf,MAAM6f,UAAUR,EAAWC,aAlBtCpf,KAAKwf,aAAa,CAChB3B,OAAQZ,IACP,WACD8B,EAAOjf,MAAM6f,UAAUR,OAqB7BjB,EAAOY,YAAc,WACnB,IAAIc,EAAS5f,KAET0e,EAAO1e,KAAKF,MAAM4e,KAClBW,EAAWrf,KAAKye,cAChBU,EAAYnf,KAAKF,MAAMof,aAAUrU,EAAY,cAAqB7K,MAEjE0e,GASL1e,KAAKF,MAAM+f,OAAOV,GAClBnf,KAAKwf,aAAa,CAChB3B,OAAQX,IACP,WACD0C,EAAO9f,MAAMggB,UAAUX,GAEvBS,EAAOF,gBAAgBL,EAASX,MAAM,WACpCkB,EAAOJ,aAAa,CAClB3B,OAAQd,IACP,WACD6C,EAAO9f,MAAMigB,SAASZ,aAlB1Bnf,KAAKwf,aAAa,CAChB3B,OAAQd,IACP,WACD6C,EAAO9f,MAAMigB,SAASZ,OAqB5BjB,EAAOM,mBAAqB,WACA,OAAtBxe,KAAK8d,eACP9d,KAAK8d,aAAakC,SAClBhgB,KAAK8d,aAAe,OAIxBI,EAAOsB,aAAe,SAAsBS,EAAWC,GAIrDA,EAAWlgB,KAAKmgB,gBAAgBD,GAChClgB,KAAKwL,SAASyU,EAAWC,IAG3BhC,EAAOiC,gBAAkB,SAAyBD,GAChD,IAAIE,EAASpgB,KAETwF,GAAS,EAcb,OAZAxF,KAAK8d,aAAe,SAAUzd,GACxBmF,IACFA,GAAS,EACT4a,EAAOtC,aAAe,KACtBoC,EAAS7f,KAIbL,KAAK8d,aAAakC,OAAS,WACzBxa,GAAS,GAGJxF,KAAK8d,cAGdI,EAAOwB,gBAAkB,SAAyBf,EAAS1O,GACzDjQ,KAAKmgB,gBAAgBlQ,GACrB,IAAIoQ,EAAOrgB,KAAKF,MAAMof,QAAUlf,KAAKF,MAAMof,QAAQnb,QAAU,cAAqB/D,MAC9EsgB,EAA0C,MAAX3B,IAAoB3e,KAAKF,MAAMygB,eAElE,GAAKF,IAAQC,EAAb,CAKA,GAAItgB,KAAKF,MAAMygB,eAAgB,CAC7B,IAAIC,EAAQxgB,KAAKF,MAAMof,QAAU,CAAClf,KAAK8d,cAAgB,CAACuC,EAAMrgB,KAAK8d,cAC/DqB,EAAYqB,EAAM,GAClBC,EAAoBD,EAAM,GAE9BxgB,KAAKF,MAAMygB,eAAepB,EAAWsB,GAGxB,MAAX9B,GACF+B,WAAW1gB,KAAK8d,aAAca,QAb9B+B,WAAW1gB,KAAK8d,aAAc,IAiBlCI,EAAO1d,OAAS,WACd,IAAIqd,EAAS7d,KAAKsB,MAAMuc,OAExB,GAAIA,IAAWf,EACb,OAAO,KAGT,IAAI6D,EAAc3gB,KAAKF,MACnBW,EAAWkgB,EAAYlgB,SAgBvBmgB,GAfMD,EAAYjD,GACFiD,EAAY/C,aACX+C,EAAYhD,cACnBgD,EAAYrD,OACbqD,EAAYnD,MACbmD,EAAYjC,KACTiC,EAAYhC,QACLgC,EAAYJ,eACnBI,EAAYpB,QACToB,EAAYlB,WACbkB,EAAYhB,UACfgB,EAAYd,OACTc,EAAYb,UACba,EAAYZ,SACbY,EAAYzB,SACV,OAA8ByB,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGE,gBAAoBE,EAAuB5E,SAAU,CACnDvb,MAAO,MACc,mBAAbD,EAA0BA,EAASod,EAAQ+C,GAAc,eAAmB,gBAAoBngB,GAAWmgB,KAIlHzD,EAzSqB,CA0S5B,aA+LF,SAASzd,KA7LTyd,EAAW2D,YAAcD,EACzB1D,EAAW4D,UA0LP,GAIJ5D,EAAW3P,aAAe,CACxBkQ,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPkB,MAAM,EACNa,QAAS7f,EACT+f,WAAY/f,EACZigB,UAAWjgB,EACXmgB,OAAQngB,EACRogB,UAAWpgB,EACXqgB,SAAUrgB,GAEZyd,EAAWL,UAAYA,EACvBK,EAAWJ,OAASA,EACpBI,EAAWH,SAAWA,EACtBG,EAAWF,QAAUA,EACrBE,EAAWD,QAAUA,EACrB,UC/lBO,SAAS8D,EAAgBvgB,EAAUwgB,GACxC,IAIIC,EAASvX,OAAOwX,OAAO,MAO3B,OANI1gB,GAAU,EAAAsO,SAAA,IAAatO,GAAU,SAAU2gB,GAC7C,OAAOA,KACNvd,SAAQ,SAAUwd,GAEnBH,EAAOG,EAAMC,KATF,SAAgBD,GAC3B,OAAOJ,IAAS,IAAAM,gBAAeF,GAASJ,EAAMI,GAASA,EAQnCG,CAAOH,MAEtBH,EAkET,SAASO,EAAQJ,EAAOK,EAAM5hB,GAC5B,OAAsB,MAAfA,EAAM4hB,GAAgB5hB,EAAM4hB,GAAQL,EAAMvhB,MAAM4hB,GAclD,SAASC,EAAoBC,EAAWC,EAAkB9B,GAC/D,IAAI+B,EAAmBd,EAAgBY,EAAUnhB,UAC7CA,EA/DC,SAA4BshB,EAAMC,GAIvC,SAASC,EAAeX,GACtB,OAAOA,KAAOU,EAAOA,EAAKV,GAAOS,EAAKT,GAJxCS,EAAOA,GAAQ,GACfC,EAAOA,GAAQ,GAQf,IAcIE,EAdAC,EAAkBxY,OAAOwX,OAAO,MAChCiB,EAAc,GAElB,IAAK,IAAIC,KAAWN,EACdM,KAAWL,EACTI,EAAY7d,SACd4d,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAYE,KAAKD,GAKrB,IAAIE,EAAe,GAEnB,IAAK,IAAIC,KAAWR,EAAM,CACxB,GAAIG,EAAgBK,GAClB,IAAKN,EAAI,EAAGA,EAAIC,EAAgBK,GAASje,OAAQ2d,IAAK,CACpD,IAAIO,EAAiBN,EAAgBK,GAASN,GAC9CK,EAAaJ,EAAgBK,GAASN,IAAMD,EAAeQ,GAI/DF,EAAaC,GAAWP,EAAeO,GAIzC,IAAKN,EAAI,EAAGA,EAAIE,EAAY7d,OAAQ2d,IAClCK,EAAaH,EAAYF,IAAMD,EAAeG,EAAYF,IAG5D,OAAOK,EAoBQG,CAAmBb,EAAkBC,GAmCpD,OAlCAnY,OAAOsH,KAAKxQ,GAAUoD,SAAQ,SAAUyd,GACtC,IAAID,EAAQ5gB,EAAS6gB,GACrB,IAAK,IAAAC,gBAAeF,GAApB,CACA,IAAIsB,EAAWrB,KAAOO,EAClBe,EAAWtB,KAAOQ,EAClBe,EAAYhB,EAAiBP,GAC7BwB,GAAY,IAAAvB,gBAAesB,KAAeA,EAAU/iB,MAAM4d,IAE1DkF,GAAaD,IAAWG,EAQhBF,IAAWD,GAAYG,EAMxBF,GAAWD,IAAW,IAAApB,gBAAesB,KAI9CpiB,EAAS6gB,IAAO,IAAAyB,cAAa1B,EAAO,CAClCtB,SAAUA,EAASiD,KAAK,KAAM3B,GAC9B3D,GAAImF,EAAU/iB,MAAM4d,GACpBgB,KAAM+C,EAAQJ,EAAO,OAAQO,GAC7BpE,MAAOiE,EAAQJ,EAAO,QAASO,MAXjCnhB,EAAS6gB,IAAO,IAAAyB,cAAa1B,EAAO,CAClC3D,IAAI,IAVNjd,EAAS6gB,IAAO,IAAAyB,cAAa1B,EAAO,CAClCtB,SAAUA,EAASiD,KAAK,KAAM3B,GAC9B3D,IAAI,EACJgB,KAAM+C,EAAQJ,EAAO,OAAQO,GAC7BpE,MAAOiE,EAAQJ,EAAO,QAASO,SAoB9BnhB,ECjIT,IAAIwiB,EAAStZ,OAAOsZ,QAAU,SAAUC,GACtC,OAAOvZ,OAAOsH,KAAKiS,GAAKC,KAAI,SAAUC,GACpC,OAAOF,EAAIE,OAyBXC,EAA+B,SAAUjG,GAG3C,SAASiG,EAAgBvjB,EAAOM,GAC9B,IAAIkO,EAIAgV,GAFJhV,EAAQ8O,EAAiB7O,KAAKvO,KAAMF,EAAOM,IAAYJ,MAE9BsjB,aAAaN,MAAK,OAAuB1U,IAUlE,OAPAA,EAAMhN,MAAQ,CACZf,aAAc,CACZgd,YAAY,GAEd+F,aAAcA,EACdC,aAAa,GAERjV,GAjBT,OAAe+U,EAAiBjG,GAoBhC,IAAIc,EAASmF,EAAgBvU,UAqE7B,OAnEAoP,EAAO/R,kBAAoB,WACzBnM,KAAKwjB,SAAU,EACfxjB,KAAKwL,SAAS,CACZjL,aAAc,CACZgd,YAAY,MAKlBW,EAAOK,qBAAuB,WAC5Bve,KAAKwjB,SAAU,GAGjBH,EAAgBtF,yBAA2B,SAAkC6D,EAAW5D,GACtF,IDiBmCle,EAAOigB,ECjBtC8B,EAAmB7D,EAAKvd,SACxB6iB,EAAetF,EAAKsF,aAExB,MAAO,CACL7iB,SAFgBud,EAAKuF,aDeYzjB,ECbc8hB,EDaP7B,ECbkBuD,EDcvDtC,EAAgBlhB,EAAMW,UAAU,SAAU4gB,GAC/C,OAAO,IAAA0B,cAAa1B,EAAO,CACzBtB,SAAUA,EAASiD,KAAK,KAAM3B,GAC9B3D,IAAI,EACJJ,OAAQmE,EAAQJ,EAAO,SAAUvhB,GACjC0d,MAAOiE,EAAQJ,EAAO,QAASvhB,GAC/B4e,KAAM+C,EAAQJ,EAAO,OAAQvhB,SCpB6C6hB,EAAoBC,EAAWC,EAAkByB,GAC3HC,aAAa,IAKjBrF,EAAOoF,aAAe,SAAsBjC,EAAOhB,GACjD,IAAIoD,EAAsBzC,EAAgBhhB,KAAKF,MAAMW,UACjD4gB,EAAMC,OAAOmC,IAEbpC,EAAMvhB,MAAMigB,UACdsB,EAAMvhB,MAAMigB,SAASM,GAGnBrgB,KAAKwjB,SACPxjB,KAAKwL,UAAS,SAAUlK,GACtB,IAAIb,GAAW,OAAS,GAAIa,EAAMb,UAGlC,cADOA,EAAS4gB,EAAMC,KACf,CACL7gB,SAAUA,QAMlByd,EAAO1d,OAAS,WACd,IAAImgB,EAAc3gB,KAAKF,MACnBF,EAAY+gB,EAAYpU,UACxBmX,EAAe/C,EAAY+C,aAC3B5jB,GAAQ,OAA8B6gB,EAAa,CAAC,YAAa,iBAEjEpgB,EAAeP,KAAKsB,MAAMf,aAC1BE,EAAWwiB,EAAOjjB,KAAKsB,MAAMb,UAAU0iB,IAAIO,GAK/C,cAJO5jB,EAAMwd,cACNxd,EAAM0d,aACN1d,EAAM4e,KAEK,OAAd9e,EACkB,gBAAoBihB,EAAuB5E,SAAU,CACvEvb,MAAOH,GACNE,GAGe,gBAAoBogB,EAAuB5E,SAAU,CACvEvb,MAAOH,GACO,gBAAoBX,EAAWE,EAAOW,KAGjD4iB,EA1F0B,CA2FjC,aAEFA,EAAgBtC,UAyDZ,GACJsC,EAAgB7V,aA5KG,CACjBjB,UAAW,MACXmX,aAAc,SAAsBrC,GAClC,OAAOA,IA0KX,UCvKA,IAAIsC,EAAgB,SAAuBtT,GACzC,OAAO,SAAU2N,GACFA,EAAKN,GACHM,EAAK+B,SACP/B,EAAKV,OACNU,EAAKR,MACNQ,EAAKU,KAJhB,IAKI5e,GAAQ,OAAyBke,EAAM,CAAC,KAAM,WAAY,SAAU,QAAS,SAEjF,OAAoB,gBAAoB3N,EAAkBvQ,KAQ9D,SAAS8jB,EAAQC,EAAQC,GAAkB,IAAI7S,EAAOtH,OAAOsH,KAAK4S,GAAS,GAAIla,OAAOoa,sBAAuB,CAAE,IAAIC,EAAUra,OAAOoa,sBAAsBF,GAAaC,IAAgBE,EAAUA,EAAQrgB,QAAO,SAAUsgB,GAAO,OAAOta,OAAOua,yBAAyBL,EAAQI,GAAKE,eAAgBlT,EAAKqR,KAAKvQ,MAAMd,EAAM+S,GAAY,OAAO/S,EAE9U,SAASmT,EAAclX,GAAU,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CAAE,IAAImC,EAAyB,MAAhB1Z,UAAUuX,GAAavX,UAAUuX,GAAK,GAAQA,EAAI,EAAK0B,EAAQja,OAAO0a,IAAS,GAAMxgB,SAAQ,SAAUyd,IAAO,OAAgBpU,EAAQoU,EAAK+C,EAAO/C,OAAsB3X,OAAO2a,0BAA6B3a,OAAO4a,iBAAiBrX,EAAQvD,OAAO2a,0BAA0BD,IAAmBT,EAAQja,OAAO0a,IAASxgB,SAAQ,SAAUyd,GAAO3X,OAAO6a,eAAetX,EAAQoU,EAAK3X,OAAOua,yBAAyBG,EAAQ/C,OAAe,OAAOpU,EAC7gB,IAAIuX,EAAO,SAAczG,GACvB,IAAI0G,EAAM1G,EAAKzR,UACXoY,EAAgB3G,EAAK4G,SACrBA,OAA6B,IAAlBD,EAA2B,EAAIA,EAC1CE,EAAS7G,EAAKN,GAEd5d,GADWke,EAAK+B,UACR,OAAyB/B,EAAM,CAAC,YAAa,WAAY,KAAM,cAEvE1a,EAAa,CACfwhB,SAAU,CACRvhB,QAAS,GAEXwhB,QAAS,CACPxhB,QAAS,EACTD,WAAY,WAAW0hB,OAAOJ,EAAU,OAE1CK,QAAS,CACP1hB,QAAS,GAEX2hB,OAAQ,CACN3hB,QAAS,IAGb,OAAoB,gBAAoB,EAAY,CAClDqa,cAAc,EACdD,eAAe,EACfD,GAAImH,EACJlG,QAASiG,IACR,SAAUtjB,GACX,IAAI6jB,EAAa,CACfC,MAAOhB,EAAc,GAAI9gB,EAAWhC,KAEtC,OAAoB,gBAAoBojB,GAAK,OAAS,CACpDS,WAAYA,GACXrlB,QASHulB,EAAwB,SAAUC,IACpC,OAAUD,EAAUC,GAEpB,IArDoBC,EAAeC,EAqD/BpX,GArDgBmX,EAqDMF,EArDSG,EAErC,WAAuC,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3EC,KAAK/W,UAAUgX,SAASvX,KAAKkX,QAAQC,UAAUG,KAAM,IAAI,iBAAyB,EAAQ,MAAOta,GAAK,OAAO,GAFzPwa,GAAoC,WAAkC,IAAsC7E,EAAlC8E,GAAQ,OAAgBT,GAAkB,GAAIC,EAA2B,CAAE,IAAIS,GAAY,OAAgBjmB,MAAMH,YAAaqhB,EAASuE,QAAQC,UAAUM,EAAOrb,UAAWsb,QAAqB/E,EAAS8E,EAAMjU,MAAM/R,KAAM2K,WAAc,OAAO,OAA2B3K,KAAMkhB,KAuD1Z,SAASmE,IACP,IAAI/W,GAEJ,OAAgBtO,KAAMqlB,GAEtB,IAAK,IAAIa,EAAOvb,UAAUpG,OAAQqN,EAAO,IAAIuU,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ExU,EAAKwU,GAAQzb,UAAUyb,GAoDzB,OAjDA9X,EAAQF,EAAOG,KAAKwD,MAAM3D,EAAQ,CAACpO,MAAMglB,OAAOpT,KAC1CgT,SAlBa,IAmBnBtW,EAAM+X,WAAQ,EACd/X,EAAMhN,MAAQ,CACZyH,MAAO,QAETuF,EAAMhL,WAAa,CACjB2hB,QAAS,CACPlc,MAAO,EACPzF,WAAY,SAAS0hB,OAAO1W,EAAMsW,SAAU,gBAE9CM,OAAQ,CACNnc,MAAO,IAIXuF,EAAMtM,SAAW,SAAU8B,GACrBA,GAAOwiB,MAAMhY,EAAMhN,MAAMyH,SAS3BuF,EAAM+X,MAAQE,OAAOC,uBAAsB,WACzC,IACIzd,EADwBjF,EAAI2iB,wBACE1d,MAElCuF,EAAM9C,SAAS,CACbzC,MAAOA,SAMfuF,EAAMoY,SAAW,SAAU3d,GACzB,MAAO,CACLiB,SAAU,SACVnH,WAAY,SACZkG,MAAOA,IAIXuF,EAAMzM,cAAgB,SAAUP,GAC9B,OAAOgN,EAAMhL,WAAWhC,IAGnBgN,EAqCT,OAlCA,OAAa+W,EAAU,CAAC,CACtB/D,IAAK,uBACL5gB,MAAO,WACDV,KAAKqmB,OACPE,OAAOI,qBAAqB3mB,KAAKqmB,SAIpC,CACD/E,IAAK,SACL5gB,MAAO,WACL,IAAIqe,EAAS/e,KAET2gB,EAAc3gB,KAAKF,MACnBW,EAAWkgB,EAAYlgB,SACvBokB,EAASlE,EAAYjD,GACrB3U,EAAQ/I,KAAKsB,MAAMyH,MACvB,OAAoB,gBAAoB,EAAY,CAClDyU,OAAO,EACPI,cAAc,EACdD,eAAe,EACfD,GAAImH,EACJlG,QAAS3e,KAAK4kB,WACb,SAAUtjB,GACX,IAAI8jB,EAAQhB,EAAcA,EAAc,GAAIrF,EAAO2H,SAAS3d,IAASgW,EAAOld,cAAcP,IAE1F,OAAoB,gBAAoB,MAAO,CAC7CwC,IAAKib,EAAO/c,SACZojB,MAAOA,GACN3kB,UAKF4kB,EApGmB,CAqG1B,EAAAzlB,WAEEgnB,EAAqB,SAA4BvW,GACnD,OAAO,SAAU2N,GACf,IAAI6G,EAAS7G,EAAKN,GACdqC,EAAW/B,EAAK+B,SAChBjgB,GAAQ,OAAyBke,EAAM,CAAC,KAAM,aAElD,OAAoB,gBAAoBqH,EAAU,CAChD3H,GAAImH,EACJ9E,SAAUA,GACI,gBAAoB1P,GAAkB,OAAS,CAC7DwW,iBAAkBhC,GACjB/kB,OAIHgnB,EAAsB,SAA6BzW,GACrD,OAAO,SAAUvQ,GACf,OAAoB,gBAAoB2kB,GAAM,OAAS,CACrDlY,UAAW8D,EACXuU,SAAU9kB,EAAMinB,QA7HC,IA6H4B,GAC5CjnB,MAIHknB,EAAsB,SAA6B3W,GACrD,OAAO,SAAUvQ,GACf,OAAoB,gBAAoB2kB,GAAM,OAAS,CACrDlY,UAAW8D,GACVvQ,MAKHmnB,EAAyB,SAAgC5W,GAC3D,OAAO,SAAUvQ,GACf,OAAoB,gBAAoB,GAAiB,OAAS,CAChEyM,UAAW8D,GACVvQ,MAIP,SAASonB,EAAUrD,EAAQC,GAAkB,IAAI7S,EAAOtH,OAAOsH,KAAK4S,GAAS,GAAIla,OAAOoa,sBAAuB,CAAE,IAAIC,EAAUra,OAAOoa,sBAAsBF,GAAaC,IAAgBE,EAAUA,EAAQrgB,QAAO,SAAUsgB,GAAO,OAAOta,OAAOua,yBAAyBL,EAAQI,GAAKE,eAAgBlT,EAAKqR,KAAKvQ,MAAMd,EAAM+S,GAAY,OAAO/S,EAEhV,SAASkW,EAAgBja,GAAU,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CAAE,IAAImC,EAAyB,MAAhB1Z,UAAUuX,GAAavX,UAAUuX,GAAK,GAAQA,EAAI,EAAKgF,EAAUvd,OAAO0a,IAAS,GAAMxgB,SAAQ,SAAUyd,IAAO,OAAgBpU,EAAQoU,EAAK+C,EAAO/C,OAAsB3X,OAAO2a,0BAA6B3a,OAAO4a,iBAAiBrX,EAAQvD,OAAO2a,0BAA0BD,IAAmB6C,EAAUvd,OAAO0a,IAASxgB,SAAQ,SAAUyd,GAAO3X,OAAO6a,eAAetX,EAAQoU,EAAK3X,OAAOua,yBAAyBG,EAAQ/C,OAAe,OAAOpU,EAEnhB,IAAIka,EAAe,WACjB,IAAIC,EAAqB1c,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GACzF2c,GAAa,OAAkB,CACjCA,WAAYD,IAGVE,EAAQD,EAAWC,MACnBC,EAAaF,EAAWE,WACxBC,EAAcH,EAAWG,YACzBC,EAAcJ,EAAWI,YACzBC,EAAiBL,EAAWK,eAC5Ble,GAAO,OAAyB6d,EAAY,CAAC,QAAS,aAAc,cAAe,cAAe,mBAEtG,OAAOH,EAAgB,CACrBI,MAAO5D,EAAc4D,GACrBC,WAAYZ,EAAmBY,GAC/BC,YAAaX,EAAoBW,GACjCC,YAAaV,EAAoBU,GACjCC,eAAgBV,EAAuBU,IACtCle,IAGDme,EAAqBR,IACbQ,EAAmBL,MACdK,EAAmBJ,WAClBI,EAAmBH,YACnBG,EAAmBF,YAChBE,EAAmBD,eAGxC,SAFY,aAAWP,EAAc,yFCpQ1BS,GAAY,CACnB1V,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,IAEDuV,GAAeD,GAAUzV,MCAhC2V,GAAgB,CAChBroB,MAAM,KAAA+S,WAAUuV,KAAqBA,IAAmB,KAAAC,sBAAqB,CAAC,0DAA2D,CAAC,6DAC1IC,aAAa,KAAAzV,WAAU0V,KAAqBA,IAAmB,KAAAF,sBAAqB,CAAC,uFAAwF,CAAC,0FAC9KG,aAAa,KAAA3V,WAAU4V,KAAqBA,IAAmB,KAAAJ,sBAAqB,CAAC,wFAAyF,CAAC,2FAC/KK,cAAc,KAAA7V,WAAU8V,KAAqBA,IAAmB,KAAAN,sBAAqB,CAAC,0DAA2D,CAAC,8DAiBlJO,GAAU,SAAUjY,GAEpB,OADWA,EAAGtF,KACA,MAEdwd,GAAY,gBAAYC,KAAqBA,IAAmB,KAAAT,sBAAqB,CAAC,OAAQ,iCAAkC,eAAgB,iQAAkQ,CAAC,OAAQ,iCAAkC,eAAgB,oQAnB9a,SAAU1X,GACzC,IAAIoC,EAAQpC,EAAGoC,MAAOgW,EAAQpY,EAAGoY,MACjC,MAAc,UAAVA,GAGO,KAAA9e,KAAI+e,KAAqBA,IAAmB,KAAAX,sBAAqB,CAAC,sBAAuB,KAAM,WAAY,CAAC,sBAAuB,KAAM,aAActV,EAAOoV,GAAcroB,MAEzK,UAAVipB,GAA+B,SAAVA,GACd,KAAA9e,KAAIgf,KAAqBA,IAAmB,KAAAZ,sBAAqB,CAAC,8CAA+C,WAAY,CAAC,8CAA+C,aAAcF,GAAcG,aAEtM,UAAVS,GACO,KAAA9e,KAAIif,KAAqBA,IAAmB,KAAAb,sBAAqB,CAAC,iDAAkD,qCAAsC,WAAY,CAAC,iDAAkD,qCAAsC,aAAcF,GAAcK,YAAaL,GAAcO,cAE1T,KAMiuBE,GAASA,IACrvBC,GAAU7a,YAAc,mBACxB,YACA,IAAIoa,GAAkBG,GAAkBE,GAAkBE,GAAkBK,GAAkBC,GAAkBC,GAAkBJ,eC9B9HK,GAAiB,SAAU9d,GAAQ,OAAO+d,KAAKC,MAAMhe,EAAO,KAC5Die,GAAyB,SAAUje,GACnC,IACIke,EAAele,EAAO,EADR8d,GAAe9d,GACW,EAC5C,OAAO+d,KAAKI,GAAKD,EAAe,GAOhC,GAAgB,CAChBzpB,MAAM,KAAA+S,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,0DAA2D,CAAC,6DAC1IzV,QAAQ,KAAAC,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,+CAAgD,CAAC,kDACjIoB,cAAc,KAAA5W,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,0DAA2D,CAAC,6DAClJqB,kBAAkB,KAAA7W,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACpN,eAAgBiB,GAAuBrB,GAAUzV,OACjD,GADyD8W,GAAuBrB,GAAUzV,QAE9FmX,mBAAmB,KAAA9W,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACrN,eAAgBiB,GAAuBrB,GAAUxV,QACjD,GAD0D6W,GAAuBrB,GAAUxV,SAE/FmX,kBAAkB,KAAA/W,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACpN,eAAgBiB,GAAuBrB,GAAUvV,OACjD,GADyD4W,GAAuBrB,GAAUvV,QAE9FmX,mBAAmB,KAAAhX,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACrN,eAAgBiB,GAAuBrB,GAAUtV,QACjD,GAD0D2W,GAAuBrB,GAAUtV,UAc/FmX,IAAe,EAAAlN,GAAA,GAAO,CAAE3X,MAAO,GAAAuC,KAAMpC,KAAM,GAAAuC,KAC3CoiB,IAAuB,EAAAnN,GAAA,GAAO,CAAE3X,MAAO,GAAA0C,GAAIvC,KAAM,GAAAuC,KAC1C0L,GAAiB,SAAU1C,GAClC,IAAIqZ,EAAcrZ,EAAGqZ,YAAa9pB,GAAQ,KAAA2Q,QAAOF,EAAI,CAAC,gBACtD,OAAOqZ,EAAcD,GAAqB7pB,GAAS4pB,GAAa5pB,IAEzD+pB,IAAY,KAAAhgB,KAAIigB,KAAsBA,IAAoB,KAAA7B,sBAAqB,CAAC,OAAQ,OAAQ,CAAC,OACxG,UAAU,SAAUnoB,GACpB,IAAIiqB,EAAgBb,GAAuBppB,EAAMmL,MAQjD,OAAO,KAAApB,KAAImgB,KAAsBA,IAAoB,KAAA/B,sBAAqB,CAAC,WAAY,sCAAuC,8BAA+B,iCAAkC,0DAA2D,8CAA+C,CAAC,WAAY,sCAAuC,8BAA+B,iCAAkC,0DAA2D,iDAPzc,SAAUgC,GACtB,IAAIC,EAAgB,oDACpB,MAAwB,UAApBD,EAAUtB,OACH,KAAA9e,KAAIsgB,KAAqBA,IAAmB,KAAAlC,sBAAqB,CAAC,0BAA2B,IAAK,mCAAoC,mCAAoC,eAAgB,CAAC,0BAA2B,IAAK,mCAAoC,mCAAoC,iBAAkBiC,EAAe,GAAc1X,OApBxU,SAAUvH,GACnC,IAAImf,EAAmBzgB,OAAOsH,KAAK4W,IAAWwC,MAAK,SAAUC,GAAY,OAAOrf,IAAS4c,GAAUyC,MACnG,GAAIF,EACA,OAAO,GAAcA,EAAmB,eAE5C,IAAIL,EAAgBb,GAAuBje,GAC3C,OAAO,KAAAwH,WAAU,KAAqB,IAAmB,KAAAwV,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCAAuC,eAAgB8B,EAA+B,GAAhBA,GAcsFQ,CAAuBN,EAAUhf,MAAO,GAAcoe,eAEpZ,KAAAxf,KAAI2gB,KAAsBA,IAAoB,KAAAvC,sBAAqB,CAAC,wBAAyB,IAAK,aAAc,CAAC,wBAAyB,IAAK,eAAgBiC,EAAe,GAAc1X,UAE8US,GAAgB8W,EAA+B,GAAhBA,EAAqBhB,GAAejpB,EAAMmL,UAE9lBwf,GAAM,eAAWC,KAAsBA,IAAoB,KAAAzC,sBAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,SAAU4B,IACxHY,GAAI7c,YAAc,aAClB,YACA,IAAI,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkBuc,GAAkBK,GAAmBR,GAAmBF,GAAmBY,GC1D3NC,GAAQ,gBAAY,KAAqB,IAAmB,KAAA1C,sBAAqB,CAAC,2DAA4D,CAAC,8DACnJ0C,GAAM/c,YAAc,QA8EpB,SA7E6B,SAAUQ,GAEnC,SAASwc,EAAQ9qB,GACb,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAgDxC,OA/CAsO,EAAMuc,eAAiB,KACvBvc,EAAMkP,MAAQ,WACElP,EAAMxO,MAAM6S,MAEpBrE,EAAM9C,SAAS,CAAEmd,MAAO,UAGxBra,EAAM9C,SAAS,CAAEmd,MAAO,WAGhCra,EAAMwc,KAAO,WACTxc,EAAM9C,SAAS,CAAEmd,MAAO,UAE5Bra,EAAMoQ,KAAO,WACTpQ,EAAM9C,SAAS,CAAEmd,MAAO,WAE5Bra,EAAMyc,YAAc,SAAU1K,EAAM2K,GAChC,IAAIC,EAAkB,SAAU5qB,GAE5B,GAA6B,QAAzBA,EAAM6M,OAAOge,QAUjB,MAP0B,UAAtB5c,EAAMhN,MAAMqnB,OACZra,EAAM9C,SAAS,CAAEmd,MAAO,UACxBra,EAAMyc,YAAY1K,EAAM2K,IAGxBA,IAEG3K,GAAQA,EAAK8K,oBAAoB,eAAgBF,IAK5D,OAAI5K,GAAQA,EAAK+K,iBACN/K,EAAK+K,iBAAiB,eAAgBH,GAE1CD,KAEX1c,EAAM+c,aAAe,WACjB,IAAIpgB,EAAOqD,EAAMxO,MAAMmL,KACnBD,EAAc6c,GAAU5c,IAASA,EACrC,MAA8B,iBAAhBD,EAA2BA,EAAc8c,IAE3DxZ,EAAMhN,MAAQ,CACVqnB,MAAO,IAEJra,EAwBX,OA1EA,KAAAO,WAAU+b,EAASxc,GAoDnBwc,EAAQ9b,UAAUtO,OAAS,WACvB,IAAI8N,EAAQtO,KACR2oB,EAAQ3oB,KAAKsB,MAAMqnB,MACnBpY,EAAKvQ,KAAKF,MAAO6S,EAAQpC,EAAGoC,MAAOiX,EAAcrZ,EAAGqZ,YAAa0B,EAAe/a,EAAG+a,aAAc1e,EAAS2D,EAAG3D,OAC7G3B,EAAOjL,KAAKqrB,eAEZlC,EAAele,EAAO,EADR+d,KAAKC,MAAMhe,EAAO,IACQ,EAC5C,OAAQ,gBAAoB0f,GAAO,KAC/B,gBAAoB,GAAAxN,WAAY,CAAEoD,eAAgBvgB,KAAK+qB,YAAazN,QAAQ,EAAMI,IAAK4N,EAAc1N,cAAc,EAAMD,eAAe,EAAM4B,QAASvf,KAAKwd,MAAOmC,UAAW3f,KAAK8qB,KAAMjL,OAAQ7f,KAAK0e,KAAMqB,SAAU,WAAc,OAAOzR,EAAMxO,MAAMyrB,cAAiB5M,QAAS,EAAG7a,IAAK,SAAUuc,GAC3R/R,EAAMuc,eAAiBxK,IAE3B,gBAAoB,GAAW,CAAE1N,MAAOA,EAAQ,IAAMgW,MAAOA,EAAO1d,KAAMA,EAAM,cAAe2B,GAC3F,gBAAoB,GAAK,CAAEsG,UAAW,QAASxK,OAAQuC,EAAM2e,YAAaA,EAAajB,MAAOA,EAAO1d,KAAMA,EAAMkI,QAAS,OAASlI,EAAO,IAAMA,EAAMlC,MAAOkC,EAAMmI,MAAO,8BACtK,gBAAoB,SAAU,CAAEC,GAAIpI,EAAO,EAAGqI,GAAIrI,EAAO,EAAGrH,EAAGulB,SAEnFyB,EAAQpd,aAAe,CACnBmF,MAAO,IACP2Y,cAAc,EACd1B,aAAa,EACb2B,WAAY,aACZtgB,KAAM,UAEH2f,EA3EiB,CA4E1B,EAAAhrB,WAEF,IAAI,eC7EO4rB,GAAiB,SAAwB1rB,GAClD,OAAO,IAAA4J,KAAI,mBAA2B5J,GAAO,IAAA4J,KAAI,KAAiB,CAChEuB,KAAM,QACNwgB,aAAc,cAGPC,GAAoB,SAA2B5rB,GACxD,OAAO,IAAA4J,KAAI,sBAA8B5J,GAAO,IAAA4J,KAAI,KAAU,QAErDiiB,GAAmB,SAA0B7rB,GACtD,OAAO,IAAA4J,KAAI,OAAO,OAAS,CACzBG,IAAK/J,EAAM8rB,UAAU,mBAAoB9rB,IACxCA,EAAMqlB,aAAa,IAAAzb,KAAI,GAAS,CACjCuB,KAAM,YClBC4gB,GAAmB,SAA0B/rB,GACtD,OAAO,SAAc,qBAA6BA,GAAO,SAAc,KAAiB,CACtFmL,KAAM,QACNwgB,aAAc,cACdK,eAAgB,cAGTC,GAAqB,KCUhC,SAASC,GAAWC,EAAiBC,GAInC,MAAO,CACLC,QAAS,SAAiBtiB,EAAKmU,GAC7B,IAAIoO,EAAYpO,EAAKoO,UACjBrpB,EAAaib,EAAKjb,WAClBspB,EAAcD,EAAYtnB,GAAOmB,KAAOnB,GAAOgC,IAC/CqU,EAAkBiR,EAAYtnB,GAAOyC,GAAKzC,GAAOgC,IAEjD/D,IACFoY,EAAkBrW,GAAOgC,KAGH,UAApBmlB,IAA6BI,EAAcvnB,GAAO4B,MAC9B,YAApBulB,IAA+BI,EAAcvnB,GAAOoP,MACxD,IAAIoY,EAAmBF,EAAYtnB,GAAOmB,KAAOnB,GAAOqQ,IAChC,UAApB8W,IAA6BK,EAAmBxnB,GAAO4B,MACnC,YAApBulB,IAA+BK,EAAmBxnB,GAAOoP,MAC7D,IAAIrL,EAAqB,QACzB,OAAO,OAAc,GAAIgB,EAAK,CAC5BsR,gBAAiBA,EACjBkR,YAAaA,EACbE,YAAa,QACbhkB,aAAc,MACdnG,YAAa,MACboG,UAAW,OACXgkB,UAAWN,EAAYrrB,GAAiBA,GACxC+H,QAAS,EACTtF,WAAY,oBAAoB0hB,OAAOnc,EAAoB,wCAAwCmc,OAAOnc,EAAoB,gBAC9H4jB,gBAAiB,2BACjB,sBAAuB,CACrB/jB,OC3CoB,ED4CpBK,MC5CoB,GD8CtB,6BAA8B,CAC5BzG,QAAS,QAEX,SAAU,CACR,4BAA6B,CAC3B6Y,gBAAiB,mBAEnB1S,OAAQ,UACR0S,gBAAiBiR,EAAYtnB,GAAOyC,GAAKzC,GAAOqQ,IAChDkX,YAAaC,GAEf,kCAAmC,CACjCnR,gBAAiB,sBAIvBuR,eAAgB,SAAwB7iB,GACtC,OAAO,OAAc,GAAIA,EAAK,CAC5B8iB,YAnDuB9rB,EAoDvB+rB,aApDuB/rB,EAqDvBgsB,cAAeX,EAAY,EAAI,EAC/BY,WAAYZ,EAAY,EAAI,KAGhCa,eAAgB,SAAwBljB,GACtC,OAAO,OAAc,GAAIA,EAAK,CAC5BrF,MAAOM,GAAOuC,IACdslB,YA7Da,EA8DbC,aA9Da,EA+DbC,cAAeX,EAAY,EAAI,EAC/BY,WAAYZ,EAAY,EAAI,EAC5B,SAAU,CACR1nB,MAAOM,GAAOsC,SAIpB4lB,iBAAkB,SAA0BnjB,GAC1C,OAAO,OAAc,GAAIA,EAAK,CAC5BgjB,cAAeX,EAAY,EAAI,EAC/BY,WAAYZ,EAAY,EAAI,KAGhCe,kBAAmB,SAA2BpjB,EAAKoV,GACjD,IAAIlc,EAAakc,EAAMlc,WACnByB,EAAQM,GAAOsC,KAMnB,OAJIrE,IACFyB,EAAQM,GAAOuC,MAGV,OAAc,GAAIwC,EAAK,CAC5BrF,MAAOA,EACPmoB,YAtFa,EAuFbC,aAvFa,EAwFbC,cAAeX,EAAY,EAAI,EAC/BY,WAAYZ,EAAY,EAAI,EAC5B,SAAU,CACR1nB,MAAOM,GAAO4C,SAIpBwlB,oBAAqB,SAA6BrjB,GAChD,OAAO,OAAc,GAAIA,EAAK,CAC5B+iB,aAAcO,KAGlBC,OAAQ,SAAgBvjB,EAAK2W,GAC3B,IAGIrF,EAHAiR,EAAY5L,EAAM4L,UAClBjpB,EAAaqd,EAAMrd,WACnBqB,EAAQrB,EAAa2B,GAAOyC,GAAK,KAGrC,OADIpE,EAAYgY,EAAkBrW,GAAOsC,KAAcglB,IAAWjR,EAAkBrW,GAAOqQ,MACpF,OAAc,GAAItL,EAAK,CAC5BijB,WAAY,MACZD,cAAe,MACf1R,gBAAiBA,EACjB3W,MAAOA,KAGX6oB,YAAa,SAAqBxjB,GAChC,OAAO,OAAc,GAAIA,EAAK,CAC5BrF,MAAOM,GAAO0Q,QAGlB8X,YAAa,SAAqBzjB,EAAK0jB,GACrC,IAAIxqB,EAAawqB,EAAMxqB,WACvB,OAAO,OAAc,GAAI8G,EAAK,CAC5BrF,MAAOzB,EAAa+B,GAAOuC,IAAMvC,GAAO0C,KACxCmB,WAAY,GAAGqc,OAAOnkB,GAAgB,SAI1C2sB,SAAU,SAAkB3jB,GAC1B,OAAO,OAAc,GAAIA,EAAK,CAC5BijB,WC5IsB,ED6ItBD,cC7IsB,KDgJ1BY,WAAY,SAAoB5jB,GAC9B,OAAO,OAAc,GAAIA,EAAK,CAC5BtB,aAAc,MACd4S,gBAAiBrW,GAAOsQ,IACxB5Q,MAAOM,GAAOsC,KACd3E,SAAU,UAGdirB,gBAAiB,SAAyB7jB,GACxC,OAAO,OAAc,GAAIA,EAAK,CAC5BjB,QAAS,MACTgkB,aAAc,SAGlBe,iBAAkB,SAA0B9jB,EAAK+jB,GAC/C,IAAIxB,EAAYwB,EAAMxB,UACtB,OAAO,OAAc,GAAIviB,EAAK,CAC5BsR,gBAAiBiR,GAAatnB,GAAO0O,IACrChP,MAAO4nB,GAAatnB,GAAO4B,KAC3BimB,YAAa,MACbC,aAAc,MACdrkB,aAAc,kBACd,SAAU,CACR/D,MAAOM,GAAO4B,KACdyU,gBAAiBrW,GAAO0O,SAOnB,SAASqa,GAAaxd,GACnC,IAAIyd,EAAQC,EAEZ,OAAOA,EAAQD,EAEf,SAAUxI,GAGR,SAAS0I,EAAeluB,GACtB,IAAIwO,EAmCJ,OAjCA,OAAgBtO,KAAMguB,GAEtB1f,GAAQ,OAA2BtO,MAAM,OAAgBguB,GAAgBzf,KAAKvO,KAAMF,KAEpF,QAAgB,OAAuBwO,GAAQ,kBAAc,IAE7D,QAAgB,OAAuBA,GAAQ,cAAU,IAEzD,QAAgB,OAAuBA,GAAQ,mBAAmB,SAAUgZ,EAAY2G,GAEpF3f,EAAMgZ,WADJ2G,EACiB,GAAa,OAAc,GAAI,EAAmB3G,KAElD,OAAc,GAAI,EAAmBA,OAI5D,QAAgB,OAAuBhZ,GAAQ,eAAe,SAAUxK,GACtEwK,EAAM4f,OAASpqB,EACf,IAAIqqB,EAAW7f,EAAMxO,MAAMquB,SAED,YAAtB,OAAQA,KACVA,EAASpqB,QAAUD,GAGG,mBAAbqqB,GACTA,EAASrqB,MAIbwK,EAAM8f,iBAAkB,aAAW9f,EAAM8f,gBAAiB,KAASpL,MAAK,OAAuB1U,IAE/FA,EAAM8f,gBAAgBtuB,EAAMwnB,WAAYxnB,EAAMmuB,iBAEvC3f,EAyCT,OA/EA,OAAU0f,EAAgB1I,IAyC1B,OAAa0I,EAAgB,CAAC,CAC5B1M,IAAK,mCACL5gB,MAAO,SAA0CkhB,GAC/C5hB,KAAKouB,gBAAgBxM,EAAU0F,WAAY1F,EAAUqM,mBAEtD,CACD3M,IAAK,QACL5gB,MAAO,WACLV,KAAKkuB,OAAOjnB,UAEb,CACDqa,IAAK,OACL5gB,MAAO,WACLV,KAAKkuB,OAAOG,SAEb,CACD/M,IAAK,SACL5gB,MAAO,WACL,IAAIigB,EAAc3gB,KAAKF,MACnBiL,EAAS4V,EAAY5V,OACrBkhB,EAAkBtL,EAAYsL,gBAC9BzqB,EAAUmf,EAAYnf,QACtBulB,EAAUpG,EAAYoG,QACtBjnB,GAAQ,OAAyB6gB,EAAa,CAAC,SAAU,kBAAmB,UAAW,YAGvFuL,EAAwB,YAAZ1qB,EAEhB,OAAO,SAAc6O,GAAkB,OAAS,CAC9CvM,IAAK9D,KAAKsuB,YACVvH,QAASA,GACRjnB,EAAO,CACRwnB,WAAYtnB,KAAKsnB,WACjBvc,QAAQ,IAAAwjB,GAAYvC,GAAWC,EAAiBC,GAAYnhB,UAK3DijB,EAhFT,CAiFE,EAAApuB,YAAY,OAAgBkuB,EAAQ,eAAgB,CACpDG,iBAAiB,EACjBhC,gBAAiB,UACjBzqB,QAAS,UACTgtB,uBAAuB,EACvBC,iBAAiB,IACfV,iCEtRNpkB,OAAO6a,eAAekK,EAAS,aAAc,CAAEhuB,OAAO,IACtD,IAAIiuB,EAAU,EAAQ,OAClBC,EAAUD,EAAQE,aAAa,EAAQ,QACvCC,EAAsBH,EAAQI,gBAAgB,EAAQ,QACtDC,EAASL,EAAQI,gBAAgB,EAAQ,QACzCE,EAAW,EAAQ,OACnBC,EAAc,EAAQ,OACtB1G,EAAU,SAAUjY,GACpB,IAAItF,EAAOsF,EAAGtF,KACd,OAAOA,EAAO,WAAaikB,EAAYC,MAAMlkB,GAAQ,YAAcikB,EAAYC,MAAMlkB,GAAQ,IAAM,MAEvGyjB,EAAQphB,YAAcwhB,EAAoB1pB,QAAQgqB,KAAKpH,IAAqBA,EAAmB2G,EAAQ1G,qBAAqB,CAAC,OAAQ,WAAY,wCAAyC,6DAA8D,8cAA+c,CAAC,OAAQ,WAAY,wCAAyC,6DAA8D,gdAAidO,GAAS,SAAUrX,GAAK,OAAOA,EAAEsa,cAAgB,kBAAmB,SAAUta,GAAK,OAAOA,EAAE2a,gBAAkBmD,EAASrqB,aAAe4jB,GAC15C,IAkCIR,EAlCAqH,EAAsB,SAAUjhB,GAEhC,SAASihB,IACL,OAAkB,OAAXjhB,GAAmBA,EAAO2D,MAAM/R,KAAM2K,YAAc3K,KA4B/D,OA9BA2uB,EAAQ9f,UAAUwgB,EAAMjhB,GAYxBihB,EAAKC,wBAA0B,SAAUC,GACrC,IAAIC,EAAKR,EAAO5pB,UAIhB,OAHqBmqB,EAChBE,QAAQ,8BAA+B,SAAWD,GAClDC,QAAQ,wCAAyC,iBAAoBD,EAAK,OAGnFH,EAAKvgB,UAAUtO,OAAS,WACpB,IAAI+P,EAAKvQ,KAAKF,MAAO4vB,EAAQnf,EAAGof,MAAOC,EAAsBrf,EAAGqf,oBAAqBnE,EAAelb,EAAGkb,aAAcK,EAAiBvb,EAAGub,eAAgB7gB,EAAOsF,EAAGtF,KAEnK,OAAI2kB,EACQhB,EAAQxpB,QAAQyqB,cAAcnB,EAAQphB,YAAa,CAAEme,aAAcA,EAAcK,eAAgBA,EAAgB7gB,KAAMA,EAAM,aAAcjL,KAAKF,MAAMgwB,MAAOC,wBAAyB,CACtLC,OAAQX,EAAKC,wBAAwBM,MAIzChB,EAAQxpB,QAAQyqB,cAAcnB,EAAQphB,YAAa,CAAEme,aAAcA,EAAcK,eAAgBA,EAAgB7gB,KAAMA,EAAM,aAAcjL,KAAKF,MAAMgwB,OAASJ,EAAQd,EAAQxpB,QAAQyqB,cAAcH,EAAO,CAAEO,KAAM,iBAAoB,OAE7OZ,EA/Bc,CAgCvBT,EAAQhvB,WACV8uB,EAAA,QAAkBW,8BC7ClB1lB,OAAO6a,eAAekK,EAAS,aAAc,CAAEhuB,OAAO,IACtDguB,EAAQS,MAAQ,CACZ/c,MAAO,OACPC,OAAQ,OACRC,MAAO,OACPC,OAAQ,QAEZmc,EAAQwB,QAAU,CACd9d,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPC,OAAQ,wCCPZmc,EAAQ,OAAU,EAElB,IAAIyB,EAASC,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBlN,GAAO,OAAOA,GAAOA,EAAIoN,WAAapN,EAAM,CAAE9d,QAAS8d,GAEvF,SAASqN,IAA2Q,OAA9PA,EAAW5mB,OAAOC,QAAU,SAAUsD,GAAU,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CAAE,IAAImC,EAAS1Z,UAAUuX,GAAI,IAAK,IAAIZ,KAAO+C,EAAc1a,OAAOmF,UAAU0hB,eAAejiB,KAAK8V,EAAQ/C,KAAQpU,EAAOoU,GAAO+C,EAAO/C,IAAY,OAAOpU,GAAkBqjB,EAASxe,MAAM/R,KAAM2K,WAEhT,IAAI8lB,EAAyB,SAAgC3wB,GAC3D,OAAOqwB,EAAO/qB,QAAQyqB,cAAcQ,EAAMjrB,QAASmrB,EAAS,CAC1DX,oBAAqB,+RACpB9vB,KAGL2wB,EAAuB7iB,YAAc,yBACrC,IAAI8iB,EAAWD,EACf/B,EAAQ,EAAUgC,gCClBlBhC,EAAQ,OAAU,EAElB,IAAIyB,EAASC,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBlN,GAAO,OAAOA,GAAOA,EAAIoN,WAAapN,EAAM,CAAE9d,QAAS8d,GAEvF,SAASqN,IAA2Q,OAA9PA,EAAW5mB,OAAOC,QAAU,SAAUsD,GAAU,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CAAE,IAAImC,EAAS1Z,UAAUuX,GAAI,IAAK,IAAIZ,KAAO+C,EAAc1a,OAAOmF,UAAU0hB,eAAejiB,KAAK8V,EAAQ/C,KAAQpU,EAAOoU,GAAO+C,EAAO/C,IAAY,OAAOpU,GAAkBqjB,EAASxe,MAAM/R,KAAM2K,WAEhT,IAAIgmB,EAAkB,SAAyB7wB,GAC7C,OAAOqwB,EAAO/qB,QAAQyqB,cAAcQ,EAAMjrB,QAASmrB,EAAS,CAC1DX,oBAAqB,+bACpB9vB,KAGL6wB,EAAgB/iB,YAAc,kBAC9B,IAAI8iB,EAAWC,EACfjC,EAAQ,EAAUgC,2wDCrBX,MAAMnd,EAAM,UACNC,EAAM,UACNrM,EAAO,UACPsM,EAAO,UACP9M,EAAO,UACPD,EAAO,UACPE,EAAO,UAEP8M,EAAM,UACNC,EAAM,UACNC,EAAO,UACPrN,EAAO,UACPD,EAAO,UACPE,EAAO,UACPU,EAAO,UAEP2M,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPvM,EAAM,UACNnC,EAAM,UACNQ,EAAO,UACPG,EAAO,UACPF,EAAO,UACPF,EAAO,UACPG,EAAO,UAEPiO,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP1N,EAAK,UACL2N,EAAM,UACNpO,EAAM,UACNqO,EAAM,UACNC,EAAM,UACNC,EAAM,UACNC,EAAM,UACNjO,EAAM,UACNkO,GAAM,UACN5N,GAAM,UACN6N,GAAO,UACP9N,GAAO,UACP+N,GAAO,UACPvQ,GAAO,UACPkC,GAAO,UACPsO,GAAO,UACP9P,GAAO,UACP4B,GAAO,UAEPmO,GAAO,UAEPC,GAAO,wBACP7Q,GAAO,wBACPO,GAAO,wBACPuQ,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER3D,GAAQ,UACR4D,GAAQ,UACRC,GAAQ,UACRC,GAAQ,UACR7D,GAAQ,UACR7N,GAAQ,UACR0C,GAAQ,UACRiP,GAAQ,UACRrP,GAAQ,UACRsP,GAAO,UACPC,GAAO,UACP/R,GAAO,UACPM,GAAO,UACP0R,GAAO,UACPC,GAAO,UACP5P,GAAO,UACP6P,GAAO,UACPC,GAAO,UAEPvR,GAAM,UAENwR,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAERzT,IAAa,OAAO,CAAEC,MAAO0C,EAAIvC,KAAMsC,KACvCgR,IAAmB,OAAO,CAAEzT,MAAO+C,EAAK5C,KAAMS,IAC9C8S,IAAkB,OAAO,CAAE1T,MAAOsQ,EAAKnQ,KAAMC,KAC7CuT,IAAoB,OAAO,CAAE3T,MAAO0C,EAAIvC,KAAMiS,KAC9CwB,IAAO,OAAO,CAAE5T,MAAO8Q,GAAM3Q,KAAM6R,KACnC6B,IAAY,OAAO,CAAE7T,MAAO2C,GAAMxC,KAAM6R,KACxC8B,IAAa,OAAO,CAAE9T,MAAOmB,EAAMhB,KAAMgB,IACzC4S,IAAa,OAAO,CAAE/T,MAAO6C,GAAM1C,KAAM6C,KACzCgR,IAAkB,OAAO,CAAEhU,MAAO2Q,GAAMxQ,KAAM8R,KAC9CgC,IAAU,OAAO,CAAEjU,MAAO2C,GAAMxC,KAAM6R,KACtCkC,IAAgB,OAAO,CAAElU,MAAO6C,GAAM1C,KAAM6C,KAC5CmR,IAAY,OAAO,CAAEnU,MAAOiC,EAAK9B,KAAMiS,KACvCpQ,IAAO,OAAO,CAAEhC,MAAOmB,EAAMhB,KAAMiB,IACnCgT,IAAY,OAAO,CAAEpU,MAAOqB,EAAMlB,KAAMoB,IACxC8S,IAAa,OAAO,CAAErU,MAAOsB,EAAMnB,KAAMiB,IACzCkT,IAAc,OAAO,CAAEtU,MAAOoB,EAAMjB,KAAMoB,IAC1CL,IAAU,OAAO,CAAElB,MAAOmB,EAAMhB,KAAMiB,IACtCmT,IAAO,OAAO,CAAEvU,MAAOmB,EAAMhB,KAAMiB,IACnCoT,IAAO,OAAO,CAAExU,MAAOkQ,EAAM/P,KAAM8P,IACnCwE,IAAS,OAAO,CAAEzU,MAAO2P,EAAMxP,KAAMsP,IACrCiF,IAAM,OAAO,CAAE1U,MAAO8B,EAAM3B,KAAM2B,IAClC6S,IAAS,OAAO,CAAE3U,MAAOyB,EAAMtB,KAAMsB,IACrCmT,IAAQ,OAAO,CAAE5U,MAAOoP,EAAMjP,KAAMiP,IACpCyF,GAAW,IAAM3U,kDCpJ9B,MACM+U,EAAc,CAAC,QAAS,QAEf,SAASwC,EAASxc,GAC7B,GAAIA,GAASA,EAAMkI,MAAO,CAEtB,GAAI,uBAAwBlI,EAAMkI,MAC9B,OAAOlI,EAAMkI,MAAMuU,mBAGlB,GAAI,SAAUzc,EAAMkI,OAAS8R,EAAYnI,SAAS7R,EAAMkI,MAAMD,MAC/D,OAAOjI,EAAMkI,MAIrB,MAAO,CAAED,KAfc,SCcZ,SAASyU,EAAOC,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflC5c,IACJ,MAAMkI,EAAQsU,EAASxc,GACvB,GAAIA,GAASA,EAAM6c,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAS9c,EAAM6c,IAC7B,GAAIE,GAASA,EAAM7U,EAAMD,MAAO,CAC5B,MAAMrH,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,GAGnB,MAAO,IAXf,IAAwBic,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQ3c,IAEJ,MAAMkI,EAAQsU,EAASxc,GAEvB,GAAIkI,EAAMD,QAAQ8U,EAAO,CACrB,MAAMnc,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,EAEf,MAAO,4LCtBR,SAAS0H,EAAYsT,GACxB,MAAMC,EAAe,CAACC,EAAW9b,IAAU8b,EAAU9b,GAM/C+b,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEK,SAxBT,SAAkBjc,GACd,MAAM,SAAEW,KAAa4H,GAAevI,EAK9B+S,IAJQ,IAAAmJ,YAAWH,IACAF,GAGFtT,GAGvB,OAAO,gBAAoB,WAAgB,KAAM5H,EAASoS,KAe3CoJ,SANnB,SAAkBnc,GACd,MAAMoc,GAAU,IAAAF,YAAWH,GACrBM,EAAUrc,EAAMY,OAASib,EACzBS,GAAU,IAAAC,cAAahU,GAAe8T,EAAQD,EAAS7T,IAAa,CAAC6T,EAASC,IACpF,OAAQ,gBAAoBN,EAAaI,SAAU,CAAEvb,MAAO0b,GAAWtc,EAAMW,YCvCrF,QAAe2H,GAAY,KAAM,CAC7BL,KAAM,0DCONxI,EAAe,CACjBE,4BAA6B,UAG3B4O,EAEJ,SAAUiX,GAGR,SAASjX,IACP,IAAIuiB,EAEAtiB,GAEJ,OAAgBtO,KAAMqO,GAEtB,IAAK,IAAI6X,EAAOvb,UAAUpG,OAAQqN,EAAO,IAAIuU,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ExU,EAAKwU,GAAQzb,UAAUyb,GAkBzB,OAfA9X,GAAQ,OAA2BtO,MAAO4wB,GAAmB,OAAgBviB,IAAmBE,KAAKwD,MAAM6e,EAAkB,CAAC5wB,MAAMglB,OAAOpT,MAE3I,QAAgB,OAAuBtD,GAAQ,mBAAmB,WAChE,MAAO,CACL7O,4BAA6B6O,EAAMG,yBAIvC,QAAgB,OAAuBH,GAAQ,uBAAuB,WACpE,IAAII,EAAOJ,EAAMxO,MAAM4O,KACnBjP,EAA8B6O,EAAMlO,QAAQX,4BAC5CkP,EAAsD,mBAAhClP,GAA8CA,KAAiC,GACzG,MAAO,GAAGulB,QAAO,OAAmBrW,GAAe,CAACD,OAG/CJ,EAUT,OAtCA,OAAUD,EAAkBiX,IA+B5B,OAAajX,EAAkB,CAAC,CAC9BiT,IAAK,SACL5gB,MAAO,WACL,OAAO,EAAAqO,SAAA,KAAc/O,KAAKF,MAAMW,cAI7B4N,EAvCT,CAwCE,EAAAzO,WCvDa,SAASixB,EAAehN,EAAQ/b,GAC7C,MAAQ6B,OAAOmF,UAAU0hB,eAAejiB,KAAKsV,EAAQ/b,IAEpC,QADf+b,GAAS,EAAAiN,EAAA,GAAejN,MAI1B,OAAOA,ECNM,SAASkN,IAiBtB,OAfEA,EADqB,oBAAZtL,SAA2BA,QAAQuL,IACrCvL,QAAQuL,IAAIhO,OAEZ,SAAc9V,EAAQpF,EAAUmpB,GACrC,IAAIC,EAAO,EAAchkB,EAAQpF,GACjC,GAAKopB,EAAL,CACA,IAAIC,EAAOxnB,OAAOua,yBAAyBgN,EAAMppB,GAEjD,OAAIqpB,EAAKH,IACAG,EAAKH,IAAIziB,KAAK5D,UAAUpG,OAAS,EAAI2I,EAAS+jB,GAGhDE,EAAKzwB,QAITqwB,EAAKhf,MAAM/R,KAAM2K,YFwC1B,OAAgB0D,EAAkB,eAAgB9O,IAElD,OAAgB8O,EAAkB,oBAAqB9O,GGtDvD,IAAI2P,EAEJ,WACE,SAASA,EAAepP,GACtB,IAAIwO,EAAQtO,MAEZ,OAAgBA,KAAMkP,IAEtB,OAAgBlP,KAAM,eAAW,IAEjC,OAAgBA,KAAM,SAAS,WAK7B,OAAO,IAAIkP,EAAe,CACxBE,QAFYC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,eAMhDpP,KAAKoP,QAAUtP,EAAMsP,QAgBvB,OAbA,OAAaF,EAAgB,CAAC,CAC5BoS,IAAK,SACL5gB,MAAO,SAAgB+O,GAOrB,MANuB,mBAAZA,EACTzP,KAAKoP,QAAUK,EAAQzP,KAAKoP,SACE,YAArB,OAAQK,KACjBzP,KAAKoP,SAAU,OAAc,GAAIpP,KAAKoP,QAASK,IAG1CzP,SAIJkP,EAlCT,GCGIY,EADWD,QACKC,KAEhBH,EAEJ,SAAUyhB,GAGR,SAASzhB,EAAiB7P,GACxB,IAAIwO,EAiDJ,OA/CA,OAAgBtO,KAAM2P,GAEtBrB,GAAQ,OAA2BtO,MAAM,OAAgB2P,GAAkBpB,KAAKvO,KAAMF,KAEtF,QAAgB,OAAuBwO,GAAQ,eAAW,IAE1D,QAAgB,OAAuBA,GAAQ,gBAAY,IAE3D,QAAgB,OAAuBA,GAAQ,gBAAY,IAE3D,QAAgB,OAAuBA,GAAQ,SAAS,WACtD,OAAIA,EAAMsB,UACRE,EAAK,gDACE,MAWF,IAAIH,EAAiB,CAC1BvP,SATY,OAAmBkO,EAAMlO,SAUrC2P,UARa,OAAmBzB,EAAMyB,UAStCX,QAJYC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,gBAQhD,QAAgB,OAAuBd,GAAQ,QAAQ,SAAUpO,GAC3DoO,EAAMsB,SACRE,EAAK,gCAIPxB,EAAMyB,SAASlM,SAAQ,SAAUoM,GAC/BA,GAAQ,OAAuB3B,GAAQpO,MAGzCoO,EAAMsB,UAAW,MAGnBtB,EAAMlO,QAAUN,EAAMM,SAAW,GACjCkO,EAAMyB,SAAWjQ,EAAMiQ,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,EAeT,OAnEA,OAAUqB,EAAkByhB,IAuD5B,OAAazhB,EAAkB,CAAC,CAC9B2R,IAAK,SACL5gB,MAAO,SAAgB+O,GACrB,OAAIzP,KAAK4P,UACPE,EAAK,iDACE9P,MAGF+wB,GAAK,OAAgBphB,EAAiBb,WAAY,SAAU9O,MAAMuO,KAAKvO,KAAMyP,OAIjFE,EApET,CAqEET,GCnEE0B,EAEJ,SAAU0U,GAKR,SAAS1U,EAAyBygB,GAChC,IAAI/iB,EAmEJ,OAjEA,OAAgBtO,KAAM4Q,GAEtBtC,GAAQ,OAA2BtO,MAAM,OAAgB4Q,GAA0BrC,KAAKvO,KAAMqxB,KAE9F,QAAgB,OAAuB/iB,GAAQ,qBAAsB,KAErE,QAAgB,OAAuBA,GAAQ,oBAAqB,KAEpE,QAAgB,OAAuBA,GAAQ,2BAA2B,SAAUxO,GAClF,IAAIkR,EAAuBrH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBvN,QAAO,SAAUwN,GAClF,OAAO7C,EAAMuC,mBAAmBM,KAAOrR,EAAMqR,MAU/C,OAPIH,EAAqBzM,OAAS,IAChC+J,EAAMwC,mBAAoB,OAAc,GAAIxC,EAAMwC,kBAAmBxC,EAAM8C,uBAAuBJ,EAAsBlR,IACxHkR,EAAqBnN,SAAQ,SAAUsN,GACrC7C,EAAMuC,mBAAmBM,GAAKrR,EAAMqR,OAIjC7C,EAAMwC,sBAGf,QAAgB,OAAuBxC,GAAQ,0BAA0B,SAAU+C,EAAkBvR,GACnG,OAAOuR,EAAiBC,QAAO,SAAUC,EAAUC,GACjD,IAAIC,EAAenD,EAAMxO,MAAMoR,eAAeM,GAC1CE,EAAmB5R,EAAM0R,GAE7B,MAAK,CAAC,SAAU,YAAYG,UAAS,OAAQF,KAgBtC,OAAc,GAAIF,GAAU,OAAgB,GAAIC,GAZhC,WACrB,IAAIM,EAAyC,mBAAjBL,EAA8BA,EAAanD,EAAMtB,qBAAsBlN,GAASwO,EAAMtB,qBAAqByE,GAEvI,GAAIC,EAAkB,CACpB,IAAK,IAAIwU,EAAOvb,UAAUpG,OAAQqN,EAAO,IAAIuU,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ExU,EAAKwU,GAAQzb,UAAUyb,GAGzB1U,EAAiBK,WAAM,EAAQH,EAAKoT,OAAO,CAAClT,UAXvCP,IAgBR,QAGL,QAAgB,OAAuBjD,GAAQ,wBAAwB,SAAUc,GAC/E,IAAIkiB,EAAgBhjB,EAAMlO,QACtBZ,EAAoC8xB,EAAc9xB,kCAClDC,EAA8B6xB,EAAc7xB,4BAC5CW,EAAiD,mBAAhCX,GAA8CA,KAAiC,GAChGsQ,EAAwD,mBAAtCvQ,GAAoDA,KAAuC,GACjH,OAAO,IAAImQ,EAAiB,CAC1BvP,QAASA,EACT2P,SAAUA,EACVX,QAASA,OAIbzF,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBrN,SAAQ,SAAUsN,GACxD7C,EAAMuC,mBAAmBM,GAAKkgB,EAAOrf,sBAAsBb,MAE7D7C,EAAMwC,kBAAoBxC,EAAM8C,uBAAuBzH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAiBmgB,EAAOrf,uBAChG1D,EAeT,OAvFA,OAAUsC,EAA0B0U,IA4EpC,OAAa1U,EAA0B,CAAC,CACtC0Q,IAAK,SACL5gB,MAAO,WACL,IAAIoQ,EAAoB9Q,KAAK+Q,wBAAwB/Q,KAAKF,MAAMkS,uBAChE,OAAOhS,KAAKF,MAAMW,SAAS,CACzBuM,qBAAsBhN,KAAKgN,qBAC3B8D,kBAAmBA,QAKlBF,EAxFT,CAyFE,EAAAhR,YAEF,OAAgBgR,EAA0B,eAAgB,CACxDpR,kCAAmC,SACnCC,4BAA6B,YAG/B,OAAgBmR,EAA0B,eAAgB,CACxDM,eAAgB,qEChHlB,WAA0B8M,GACPA,EAAKpc,WAAtB,IACI2vB,EAAiBvT,EAAKuT,eACtBC,EAAkBxT,EAAKwT,gBACvBC,EAAezT,EAAKyT,aAEpB1uB,GADYib,EAAKkO,UACJlO,EAAKjb,YAKlB2uB,GAJY1T,EAAKoO,UACLpO,EAAK2T,UACL3T,EAAK4T,UACF5T,EAAK6T,aACP7T,EAAK0T,YAClBI,EAAa9T,EAAK8T,WAClBpmB,EAAcsS,EAAKtS,YACnBJ,EAAe0S,EAAK1S,aACpBG,EAAeuS,EAAKvS,aACpBzD,EAAQgW,EAAKhW,MACbyB,GAAO,OAAyBuU,EAAM,CAAC,aAAc,iBAAkB,kBAAmB,eAAgB,YAAa,aAAc,YAAa,YAAa,YAAa,eAAgB,aAAc,aAAc,cAAe,eAAgB,eAAgB,UAE3Q,OACE,SAAc,MAAO,CACnBnU,IAAK7B,EAAM+pB,UACXrmB,YAAaA,EACbJ,aAAcA,EACdG,aAAcA,GACb+lB,GAAiB,SAAc,SAAS,OAAS,CAClD1tB,IAAK2tB,EACL/rB,SAAU3C,EACVivB,SAAUN,EACVO,SAAUH,EACVjoB,IAAK7B,EAAMkqB,OACVzoB,IAAQ8nB,aCjCR,MCED,EAAc,CAAC,QAAS,QAEf,SAASjV,EAASxc,GAC7B,GAAIA,GAASA,EAAMkI,MAAO,CAEtB,GAAI,uBAAwBlI,EAAMkI,MAC9B,OAAOlI,EAAMkI,MAAMuU,mBAGlB,GAAI,SAAUzc,EAAMkI,OAAS,EAAY2J,SAAS7R,EAAMkI,MAAMD,MAC/D,OAAOjI,EAAMkI,MAIrB,MAAO,CAAED,KAfc,SCcZ,SAASyU,EAAOC,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflC5c,IACJ,MAAMkI,EAAQsU,EAASxc,GACvB,GAAIA,GAASA,EAAM6c,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAS9c,EAAM6c,IAC7B,GAAIE,GAASA,EAAM7U,EAAMD,MAAO,CAC5B,MAAMrH,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,GAGnB,MAAO,IAXf,IAAwBic,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQ3c,IAEJ,MAAMkI,EAAQsU,EAASxc,GAEvB,GAAIkI,EAAMD,QAAQ8U,EAAO,CACrB,MAAMnc,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,EAEf,MAAO,IC7BR,MAIMiG,EAAO,UACPD,EAAO,UAOPJ,EAAO,UAQP2N,EAAO,UAKPxO,EAAM,UACN,EAAO,UACPW,EAAO,UAEPJ,EAAO,UAmBPuB,EAAK,UAELT,EAAM,UACNqO,EAAM,UAONK,EAAO,UACP9N,EAAO,UAMPF,EAAO,UAEPmO,EAAO,UAuBPkB,EAAQ,UAGRhP,EAAQ,UAGRkP,EAAO,UAIPE,EAAO,UAEP3P,EAAO,UAEP8P,GAAO,UAsBMoF,EAAO,CAAE3X,MAAO0C,EAAIvC,KAAMsC,IACpBkV,EAAO,CAAE3X,MAvGtB,UAuGkCG,KAAMS,IAC5B+W,EAAO,CAAE3X,MAAOsQ,EAAKnQ,KA9BhC,YA+BawX,EAAO,CAAE3X,MAAO0C,EAAIvC,KAAMiS,IACvCuF,EAAO,CAAE3X,MAAO8Q,EAAM3Q,KAAM6R,IACvB2F,EAAO,CAAE3X,MAAO2C,EAAMxC,KAAM6R,IAC3B2F,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAMgB,IAC5BwW,EAAO,CAAE3X,MAAO6C,EAAM1C,KAAM6C,IACvB2U,EAAO,CAAE3X,MAAO2Q,EAAMxQ,KAxChC,YAyCEwX,EAAO,CAAE3X,MAAO2C,EAAMxC,KAAM6R,IACtB2F,EAAO,CAAE3X,MAAO6C,EAAM1C,KAAM6C,IAChC2U,EAAO,CAAE3X,MAAOiC,EAAK9B,KAAMiS,IAChCuF,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAM,IACvBwX,EAAO,CAAE3X,MA/Gd,UA+G2BG,KAAMoB,IAC3BoW,EAAO,CAAE3X,MA9Gf,UA8G4BG,KAAM,IAC3BwX,EAAO,CAAE3X,MAAO,EAAMG,KAAMoB,IAChCoW,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAM,IAC/BwX,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAM,IAC5BwX,EAAO,CAAE3X,MApGT,UAoGsBG,KArGtB,YAsGEwX,EAAO,CAAE3X,MA7GX,UA6GwBG,KA/GxB,YAgHDwX,EAAO,CAAE3X,MAAO8B,EAAM3B,KAAM2B,IACzB6V,EAAO,CAAE3X,MAAOyB,EAAMtB,KAAMsB,IAC7BkW,EAAO,CAAE3X,MAAOoP,EAAMjP,KAAMiP,ICnJ1C,IAAIke,GDsGS,UC5FTC,GAAyB,CAClCvtB,MDqCiB,UCpCjBG,KAAM,IAEGqtB,GAA8B,CACvCxtB,MAAO,EACPG,KAAM,IAEGstB,GAA8B,CACvCztB,MAAO,EACPG,KAAM,GAEGutB,GAAqB,CAC9B1tB,MD4BiB,UC3BjBG,KD4EkB,WC1ETwtB,GAA0B,CACnC3tB,MAAO,EACPG,KAAM,GAEGytB,GAAc,CACvB5tB,MAAO,cACPG,KAAM,eAEG0tB,GAAY,CACrB7tB,MAAO,EACPG,KAAM,GAMG2tB,GAAuB,CAChC9tB,MAAO,EACPG,KAAM,GC5CJ4tB,GAAgB,CAClB/tB,MAAO,CACLsW,gBAAiB,SACjB0X,qBDFK,ECGLC,qBDHK,ECILzG,YAAa,SACb0G,iBAAkB,SAClBL,UF+Ce,WE7CjB1tB,KAAM,CACJmW,gBAAiB,QACjB0X,qBAAsB,GACtBC,qBAAsB,GACtBzG,YAAa,QACb0G,iBAAkB,QAClBL,UDyBI,ICtBJM,GAAe,CACjBnuB,MAAO,CACLsW,gBAAiB,SACjB0X,qBAAsB,SACtBC,qBAAsB,SACtBzG,YDjBK,ECkBL0G,iBAAkB,UAEpB/tB,KAAM,CACJmW,gBAAiB,QACjB0X,qBAAsB,QACtBC,qBAAsB,QACtBzG,YDvBI,ECwBJ0G,iBAAkB,UAGlB5X,GAAkB,CACpB8X,SAAU,GACVlsB,OAAQ,GACRmsB,KAAM,IAEJL,GAAuB,CACzBI,SAAU,GACVlsB,OAAQ,GACRmsB,KAAM,IAEJJ,GAAuB,CACzBG,SAAU,GACVlsB,OAAQ,GACRmsB,KAAM,IAEJ7G,GAAc,CAChB4G,SAAU,GACVlsB,OAAQ,GACRmsB,KAAM,IAEJH,GAAmB,CACrBE,SAAU,GACVlsB,OAAQ,GACRmsB,KAAM,IAmEJC,GAA0B,SAAiClU,GAC7D,IAAIrd,EAAaqd,EAAMrd,WACnBwqB,EAAYnN,EAAMmN,UAClBrpB,EAAakc,EAAMlc,WACnB6uB,EAAY3S,EAAM2S,UAClB7pB,EAAOkX,EAAMlX,KAEjB,OAAIhF,EAEEqpB,EACK,CACLC,YAAauG,GAAc7qB,GAAMgrB,kBAI9B,CACL1G,YAAauG,GAAc7qB,GAAMskB,aAIjCuF,EAEExF,EACK,CACLC,YAAa2G,GAAajrB,GAAMgrB,kBAI7B,CACL1G,YAAa2G,GAAajrB,GAAMskB,aAKhCD,EACK,CACLC,YAAa0G,GAAiBnxB,GAAYmG,IAIvC,CACLskB,YAAaA,GAAYzqB,GAAYmG,KAIrCqrB,GAAsB,SAA6B5S,GACrD,IAAIzd,EAAayd,EAAMzd,WACnBgF,EAAOyY,EAAMzY,KACjB,OAAOhF,EAAa6vB,GAAc7qB,GAAM2qB,UAAY,GAAqC3qB,IAKvFsrB,GAAsB,SAA6BvzB,GACrD,MAAO,CACL,+BAAgC,CAE9B0E,MAAO4uB,GAAoBtzB,IAE7B,sBAAuB,CAErB0E,MAAO4uB,GAAoBtzB,GAC3ByD,QAAS,GAEX,2BAA4B,CAE1BiB,MAAO4uB,GAAoBtzB,IAE7B,0BAA2B,CAEzB0E,MAAO4uB,GAAoBtzB,MAK7BwzB,GAAc,SAAqB/F,GACrC,IAAIxkB,EAAQwkB,EAAMxkB,MAClB,IAAKA,EAAO,MAAO,OAEnB,OAAQA,GACN,IAAK,SACH,MAAO,OAET,IAAK,QACH,MAAO,QAET,IAAK,SACH,MAAO,QAET,IAAK,QACH,MAAO,QAET,IAAK,SACH,MAAO,QAET,QACE,MAAO,GAAGic,OAAOjc,EAAO,QAInB,GAAQX,GAAY,SAAUtI,GACvC,MAAO,CACLiyB,WAAW,OAAc,CACvB5vB,WAAY,WAvKqD6b,EAwKpCle,EAvK7B8B,EAAaoc,EAAKpc,WAClBwqB,EAAYpO,EAAKoO,UACjBuF,EAAY3T,EAAK2T,UACjB5uB,EAAaib,EAAKjb,WAClB6uB,EAAY5T,EAAK4T,UACjB7pB,EAAOiW,EAAKjW,KAEZhF,EAEEqpB,EACK,CACLjR,gBAAiByX,GAAc7qB,GAAM8qB,sBAIrClB,EACK,CACLxW,gBAAiByX,GAAc7qB,GAAM+qB,sBAIlC,CACL3X,gBAAiByX,GAAc7qB,GAAMoT,iBAIrCyW,EAEExF,EACK,CACLjR,gBAAiB6X,GAAajrB,GAAM8qB,sBAIpClB,EACK,CACLxW,gBAAiB6X,GAAajrB,GAAM+qB,sBAIjC,CACL3X,gBAAiB6X,GAAajrB,GAAMoT,iBAKpCiR,EACK,CACLjR,gBAAiB0X,GAAqBjxB,GAAYmG,IAIlD4pB,EACK,CACLxW,gBAAiB2X,GAAqBlxB,GAAYmG,IAI/C,CACLoT,gBAAiBA,GAAgBvZ,GAAYmG,KA4GNorB,GAAwBrzB,GAAQ,CACrEyI,aAAc,MACdnG,YAAa,MACbmqB,YAAkC,SAArBzsB,EAAM8B,WAAwB,OAAS,QACpDS,UAAW,aACXmC,MAAO1E,EAAMiD,WAAa6vB,GAAc9yB,EAAMiI,MAAM2qB,UAAY,GAA0B5yB,EAAMiI,MAChGU,OAAQ3I,EAAMiD,WAAa,cAAgB,OAC3CT,QAAS,OACTyH,KAAM,WACNjJ,SAAU,GAAGkkB,OLnOW,GKmOQ,MAChCxa,eAAgB,gBAChB/H,SAAU6wB,GAAYxzB,GACtBkK,SAAU,SACV1G,WAAY,mEACZiwB,SAAU,aACVzqB,cAAe,MACfI,cAAe,SAEjBgpB,OAAO,OAAc,CACnB/W,gBAAiB,cACjBnS,OAAQ,EACRxE,MAAO,UACPiE,OAAQ,UACRuR,WAAYla,EAAM+xB,aL9OY,iHK8OsB,UACpD/wB,SAAU,GAAGkkB,OLlPW,GKkPQ,MAChCwO,SAAU,IACV9wB,QAAS,OACTkG,QAAS,GAAGoc,OAAOllB,EAAMosB,UAAYrrB,ELtPb,EKsP0C,OAAOmkB,OAAOnkB,EAAgB,MAChGkI,MAAO,OACPL,OAAQ,GAAGsc,OAAOnkB,GLvPM,GKuPyB,MACjD8H,WAAY9H,GLxPY,GKyPxB,cAAe,CAGb4yB,oBAAqB,QACrBC,cAAe,GAEjB,eAAgB,CACdpxB,QAAS,QAEX,YAAa,CACXkG,UAAW,SAEZ6qB,GAAoBvzB,KAnNO,IAAqCke,EACjEpc,EACAwqB,EACAuF,EACA5uB,EACA6uB,EACA7pB,KCnDF4rB,GAEJ,SAAUrO,GAGR,SAASqO,IACP,IAAI/C,EAEAtiB,GAEJ,OAAgBtO,KAAM2zB,GAEtB,IAAK,IAAIzN,EAAOvb,UAAUpG,OAAQqN,EAAO,IAAIuU,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ExU,EAAKwU,GAAQzb,UAAUyb,GA6EzB,OA1EA9X,GAAQ,OAA2BtO,MAAO4wB,GAAmB,OAAgB+C,IAAYplB,KAAKwD,MAAM6e,EAAkB,CAAC5wB,MAAMglB,OAAOpT,MAEpI,QAAgB,OAAuBtD,GAAQ,QAAS,CACtD8d,WAAW,EACXuF,WAAW,KAGb,QAAgB,OAAuBrjB,GAAQ,aAAS,IAExD,QAAgB,OAAuBA,GAAQ,iBAAiB,SAAU/C,GACxE+C,EAAM9C,SAAS,CACb4gB,WAAW,IAGT9d,EAAMxO,MAAM+L,SACdyC,EAAMxO,MAAM+L,QAAQN,OAIxB,QAAgB,OAAuB+C,GAAQ,gBAAgB,SAAU/C,GACvE+C,EAAM9C,SAAS,CACb4gB,WAAW,IAGT9d,EAAMxO,MAAMgM,QACdwC,EAAMxO,MAAMgM,OAAOP,OAIvB,QAAgB,OAAuB+C,GAAQ,qBAAqB,SAAU/C,GAGnD,UAArBA,EAAE2B,OAAOge,SACX3f,EAAEI,iBAGA2C,EAAM4jB,QAAU5jB,EAAMxO,MAAMiD,YAAc6wB,SAASC,gBAAkBvlB,EAAM4jB,OAC7E5jB,EAAM4jB,MAAMjrB,QAGVqH,EAAMxO,MAAM4L,aACd4C,EAAMxO,MAAM4L,YAAYH,OAI5B,QAAgB,OAAuB+C,GAAQ,gBAAgB,WACxDA,EAAMxO,MAAMiD,YACfuL,EAAM9C,SAAS,CACbmmB,WAAW,QAKjB,QAAgB,OAAuBrjB,GAAQ,gBAAgB,WACxDA,EAAMxO,MAAMiD,YACfuL,EAAM9C,SAAS,CACbmmB,WAAW,QAKjB,QAAgB,OAAuBrjB,GAAQ,eAAe,SAAU4jB,GACtE5jB,EAAM4jB,MAAQA,EACd,IAAIT,EAAenjB,EAAMxO,MAAM2xB,aAE3BA,GAA0C,YAA1B,OAAQA,KAC1BA,EAAa1tB,QAAUmuB,GAGrBT,GAAwC,mBAAjBA,GACzBA,EAAaS,MAIV5jB,EAwDT,OA/IA,OAAUqlB,EAAWrO,IA0FrB,OAAaqO,EAAW,CAAC,CACvBrS,IAAK,SACL5gB,MAAO,WACL,IAAIqe,EAAS/e,KAET8zB,EAAc9zB,KAAKsB,MACnB8qB,EAAY0H,EAAY1H,UACxBuF,EAAYmC,EAAYnC,UAExBhR,EAAc3gB,KAAKF,MACnB8B,EAAa+e,EAAY/e,WAGzBsqB,GAFuBvL,EAAY3T,qBACpB2T,EAAY8Q,aACf9Q,EAAYuL,WACxBnpB,EAAa4d,EAAY5d,WACzB6uB,EAAYjR,EAAYiR,UACxBC,EAAelR,EAAYkR,aAC3B7pB,EAAQ2Y,EAAY3Y,MACpBe,EAAQ4X,EAAY5X,MACpBU,GAAO,OAAyBkX,EAAa,CAAC,aAAc,uBAAwB,eAAgB,YAAa,aAAc,YAAa,eAAgB,QAAS,UAEzK,OAAO,SAAc,YAAgB,CACnCjgB,MAAOsH,IACN,SAAc,WAAsB,MAAM,SAAUgW,GACrD,IAAIjW,EAAOiW,EAAKjW,KAChB,OAAO,SAAc,YAAgB,CACnCnG,WAAYA,EACZmG,KAAMA,EACNgB,MAAOA,EACPhG,WAAYA,EACZmpB,UAAWA,EACX2F,aAAcA,EACdzF,UAAWA,EACXuF,UAAWA,EACXC,UAAWA,IACV,SAAU/e,GACX,OAAO,SAAc0U,GAAO,OAAS,GAAI9d,EAAM,CAC7CzB,MAAO6K,EACP9P,WAAYA,EACZqpB,UAAWA,EACXuF,UAAWA,EACXrmB,aAAcyT,EAAOzT,aACrBG,aAAcsT,EAAOtT,aACrBgmB,aAAc1S,EAAOgV,YACrBloB,QAASkT,EAAOiV,cAChBloB,OAAQiT,EAAOkV,aACfvoB,YAAaqT,EAAOmV,gCAOvBP,EAhJT,CAiJE,EAAA/zB,YAGF,OAAgB+zB,GAAW,eAAgB,CACzC/xB,WAAY,WACZsqB,WAAW,EACX2F,cAAc,EACdD,WAAW,IAGb,IAAIuC,GAAsB,cAAiB,SAAUr0B,EAAOgE,GAC1D,OAAO,SAAc6vB,IAAW,OAAS,GAAI7zB,EAAO,CAClD2xB,aAAc3tB,QAId2J,IAAkD,WCpL7C,SAAU2B,GACf,OAAO,SAAUpC,GACf,IAAIkD,EAAgBlD,EAAqBoC,GAEzC,OADAc,EAAcf,QAAQa,KDiL0B,YChLzCE,KDiLb,SEjLe,WACb,IAAIE,EAAczF,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GACtF,OAAO,SAAU0F,GAEf,IAAIC,EAAuB,cAAiB,SAAUxQ,EAAOgE,GAE3D,IAAIswB,EAAwBt0B,EAAM0Q,iBAC9BA,OAA6C,IAA1B4jB,EAAmC,GAAKA,EAC3DC,GAAS,OAAyBv0B,EAAO,CAAC,qBAE1C4O,GAAO,OAAc,GAAI0B,EAAaI,GAE1C,OAAO,gBAAoBnC,EAAkB,CAC3CK,KAAMA,GACL,gBAAoB2B,GAAkB,OAAS,GAAIgkB,EAAQ,CAC5DvwB,IAAKA,SAIT,OADAwM,EAAqB1C,YAAc,wBAAwBoX,OAAO3U,EAAiBzC,aAAeyC,EAAiBM,KAAM,KAClHL,GF8JIzC,CAAqB,CAClCC,cAAe,YACfC,YAAa,KACbC,eAAgB,MAHlB,CR/De,WACb,IAAIkD,EAAiBvG,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GACzF,OAAO,SAAU0F,GAEf,IAAI4B,EAAsB,cAAiB,SAAUnS,EAAOgE,GAC1D,OAAO,gBAAoB8M,EAA0B,CACnDM,eAAgBA,EAChBc,sBAAuBlS,IACtB,SAAUke,GACX,IAAIhR,EAAuBgR,EAAKhR,qBAC5B8D,EAAoBkN,EAAKlN,kBAC7B,OAAO,gBAAoBT,GAAkB,OAAS,GAAIvQ,EAAOgR,EAAmB,CAClF9D,qBAAsBA,EACtBlJ,IAAKA,WAKX,OADAmO,EAAoBrE,YAAc,uBAAuBoX,OAAO3U,EAAiBzC,aAAeyC,EAAiBM,KAAM,KAChHsB,GQiDRhE,CAAoB,CACrBnC,OAAQ2B,GAA6B,CACnCS,OAAQ,UACRC,cAAe,YACftB,WAAY,CACViB,cAAe,YACfC,YAAa,KACbC,eAAgB,QAGpBnC,QAAS4B,GAA6B,CACpCS,OAAQ,UACRC,cAAe,YACftB,WAAY,CACViB,cAAe,YACfC,YAAa,KACbC,eAAgB,SAhBnBC,CAmBAkmB,4IGzMC50B,EAAe,CACfE,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU4O,GAE5C,SAASC,EAAiBvO,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAuBxC,OAtBAsO,EAAME,gBAAkB,WAAc,MAAO,CACzC/O,4BAA6B6O,EAAMG,sBAEvCH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMxO,MAAM4O,KACnBjP,EAA8B6O,EAAMlO,QAAQX,4BAC5CkP,EAAuD,mBAAhClP,GACvBA,KACA,GACJ,OAAO,IAAAmP,UAASD,EAAc,CAACD,KAEnCJ,EAAMrO,0BAA4B,WAC9B,IAAIT,EAAoC8O,EAAMlO,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,IAGR8O,EAAMhN,MAAQ,CACV7B,4BAA6B6O,EAAMG,oBACnCjP,kCAAmC8O,EAAMrO,2BAEtCqO,EAQX,OAjCA,IAAAO,WAAUR,EAAkBD,GA2B5BC,EAAiBS,UAAUtO,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAKsB,OAAS,EAAAyN,SAAA,KAActO,KAErG4N,EAAiBW,aAAezP,EAChC8O,EAAiBY,kBAAoB1P,EAC9B8O,EAlC0B,CAmCnC,EAAAzO,WCzCF,IAAI+P,EAAkC,SAAUvB,GAE5C,SAASuB,EAAiB7P,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KA6BxC,OA5BAsO,EAAMa,MAAQ,WACV,OAAIb,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAEvP,SARhB,IAAAwO,UAASN,EAAMlO,SAQmB2P,UAPjC,IAAAnB,UAASN,EAAMyB,UAOsCX,QADtDC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDd,EAAM0B,KAAO,SAAU9P,GACfoO,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASlM,SAAQ,SAAUoM,GAAW,OAAOA,EAAQ3B,EAAOpO,MAClEoO,EAAMsB,UAAW,IAErBtB,EAAMlO,QAAUN,EAAMM,SAAW,GACjCkO,EAAMyB,SAAWjQ,EAAMiQ,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,EAUX,OAzCA,IAAAO,WAAUc,EAAkBvB,GAiC5BuB,EAAiBb,UAAUU,OAAS,SAAUC,GAC1C,OAAIzP,KAAK4P,UAELC,QAAQC,KAAK,iDACN9P,MAEJoO,EAAOU,UAAUU,OAAOjB,KAAKvO,KAAMyP,IAEvCE,EA1C0B,CCDD,WAChC,SAAST,EAAepP,GACpB,IAAIwO,EAAQtO,KACZA,KAAKmP,MAAQ,WAKT,OAAO,IAAID,EAAe,CAAEE,QADdC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDpP,KAAKoP,QAAUtP,EAAMsP,QAWzB,OATAF,EAAeJ,UAAUU,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPzP,KAAKoP,QAAUK,EAAQzP,KAAKoP,UAET,iBAAZK,IACPzP,KAAKoP,SAAU,IAAAM,WAAS,IAAAA,UAAS,GAAI1P,KAAKoP,SAAUK,IAEjDzP,MAEJkP,EArBwB,ID6CnC,UEyCA,EA9E8C,SAAUd,GAEpD,SAASwC,EAAyB9Q,GAC9B,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAyDxC,OApDAsO,EAAMuC,mBAAqB,GAC3BvC,EAAMwC,kBAAoB,GAE1BxC,EAAMyC,wBAA0B,SAAUjR,GACtC,IAAIkR,EAAuBrH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBvN,QAAO,SAAUwN,GAAK,OAAO7C,EAAMuC,mBAAmBM,KAAOrR,EAAMqR,MAOtI,OANIH,EAAqBzM,OAAS,IAC9B+J,EAAMwC,mBAAoB,IAAApB,WAAS,IAAAA,UAAS,GAAIpB,EAAMwC,mBAAoBxC,EAAM8C,uBAAuBJ,EAAsBlR,IAC7HkR,EAAqBnN,SAAQ,SAAUsN,GACnC7C,EAAMuC,mBAAmBM,GAAKrR,EAAMqR,OAGrC7C,EAAMwC,mBAEjBxC,EAAM8C,uBAAyB,SAAUC,EAAkBvR,GACvD,OAAOuR,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIjB,EACAkB,EAAenD,EAAMxO,MAAMoR,eAAeM,GAC1CE,EAAmB5R,EAAM0R,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,IAAA/B,WAAS,IAAAA,UAAS,GAAI6B,KAAYhB,EAAK,IAAOiB,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKlH,UAAUpG,OAAQsN,IACpCD,EAAKC,GAAMlH,UAAUkH,GAEzB,IAAIC,EAAyC,mBAAjBL,EACtBA,EAAanD,EAAMtB,qBAAsBlN,GACzCwO,EAAMtB,qBAAqByE,GAC7BC,GACAA,EAAiBK,WAAM,GAAQ,IAAAnD,UAASgD,EAAM,CAACE,MAGoCvB,IAdhFgB,IAeZ,KAEPjD,EAAMtB,qBAAuB,SAAUoC,GACnC,IAAImB,EAAKjC,EAAMlO,QAASZ,EAAoC+Q,EAAG/Q,kCAAmCC,EAA8B8Q,EAAG9Q,4BACnI,OAAO,IAAI,EAAiB,CACxBW,QAAiD,mBAAhCX,GACbA,KACA,GACJsQ,SAAwD,mBAAtCvQ,GACdA,KACA,GACJ4P,QAASA,KAGjBzF,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBrN,SAAQ,SAAUsN,GACtD7C,EAAMuC,mBAAmBM,GAAKrR,EAAMkS,sBAAsBb,MAE9D7C,EAAMwC,kBAAoBxC,EAAM8C,uBAAuBzH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAiBpR,EAAMkS,uBAC/F1D,EAgBX,OA3EA,IAAAO,WAAU+B,EAA0BxC,GA6DpCwC,EAAyB9B,UAAUtO,OAAS,WACxC,IAAIsQ,EAAoB9Q,KAAK+Q,wBAAwB/Q,KAAKF,MAAMkS,uBAChE,OAAOhS,KAAKF,MAAMW,SAAS,CACvBuM,qBAAsBhN,KAAKgN,qBAC3B8D,kBAAmBA,KAG3BF,EAAyB5B,aAAe,CACpCxP,kCAAmC,SACnCC,4BAA6B,UAEjCmR,EAAyBpD,aAAe,CACpC0D,eAAgB,IAEbN,EA5EkC,CA6E3C,iHCjFS0jB,EAA8B,MC2C9BC,GD1CoC,MA4C7C,YCFkB,SAAgBzwB,EAAKuc,GAEvC,GAAmB,mBAARvc,EACT,OAvCoB,SAAoB0wB,GAC1C,GAAkB,mBAAPA,EAAmB,CAC5B,IAAK,IAAItO,EAAOvb,UAAUpG,OAAQqN,EAAO,IAAIuU,MAAMD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGxU,EAAKwU,EAAO,GAAKzb,UAAUyb,GAG7B,OAAOoO,EAAGziB,WAAM,EAAQH,IAiCjB6iB,CAAW3wB,EAAKuc,GAET,MAAPvc,IACLA,EAAIC,QAAUsc,KC7ChBqU,EAAe,CACjBtrB,SAAU,WACVE,IAAK,EACLD,KAAM,EACN9F,QAAS,EACT2F,cAAe,QAEbyrB,EAAoB,GACbC,EAEX,SAAUxX,GAGR,SAASwX,IAGP,IAFA,IAAItmB,EAEK4X,EAAOvb,UAAUpG,OAAQqN,EAAO,IAAIuU,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ExU,EAAKwU,GAAQzb,UAAUyb,GAwGzB,OArGA9X,EAAQ8O,EAAiB7O,KAAKwD,MAAMqL,EAAkB,CAACpd,MAAMglB,OAAOpT,KAAU5R,MAE9E,QAAgB,OAAuBsO,GAAQ,QAAS,CACtDI,UAAM7D,EACNgqB,eAAWhqB,KAGb,QAAgB,OAAuByD,GAAQ,sBAAkB,IAEjE,QAAgB,OAAuBA,GAAQ,aAAc,OAE7D,QAAgB,OAAuBA,GAAQ,YAAa,OAE5D,QAAgB,OAAuBA,GAAQ,iBAAiB,SAAUwmB,GACnEA,GAAcxmB,EAAMwmB,aAAeA,IACxCP,EAAOjmB,EAAMxO,MAAMquB,SAAU2G,GAC7BxmB,EAAMwmB,WAAaA,EAEnBxmB,EAAMymB,4BAGR,QAAgB,OAAuBzmB,GAAQ,gBAAgB,SAAU0mB,GACvE1mB,EAAM0mB,UAAYA,MAGpB,QAAgB,OAAuB1mB,GAAQ,sBAAuB,CACpE2mB,SAAS,EACTC,MAAO,IACPV,GAAI,SAAY9lB,GACd,IAAImmB,EAAYnmB,EAAKmmB,UAOrB,OALAvmB,EAAM9C,SAAS,CACbkD,KAAMA,EACNmmB,UAAWA,IAGNnmB,MAIX,QAAgB,OAAuBJ,GAAQ,cAAc,WAC3D,MAAO,CACLumB,UAAWvmB,EAAMxO,MAAM+0B,UACvBM,cAAe7mB,EAAMxO,MAAMq1B,cAC3BC,cAAe9mB,EAAMxO,MAAMs1B,cAC3BC,WAAW,OAAS,GAAI/mB,EAAMxO,MAAMu1B,UAAW,CAC7CC,OAAO,OAAS,GAAIhnB,EAAMxO,MAAMu1B,WAAa/mB,EAAMxO,MAAMu1B,UAAUC,MAAO,CACxEL,UAAW3mB,EAAM0mB,UACjBO,QAASjnB,EAAM0mB,YAEjBQ,WAAY,CACVP,SAAS,GAEXQ,oBAAqBnnB,EAAMmnB,2BAKjC,QAAgB,OAAuBnnB,GAAQ,kBAAkB,WAC/D,OAAQA,EAAMwmB,YAAexmB,EAAMhN,MAAMoN,MAAsB,OAAS,CACtEtF,SAAUkF,EAAMhN,MAAMoN,KAAKgnB,QAAQC,OAAOvsB,UACzCkF,EAAMhN,MAAMoN,KAAK3D,QAF4B2pB,MAKlD,QAAgB,OAAuBpmB,GAAQ,sBAAsB,WACnE,OAAQA,EAAMhN,MAAMoN,KAAmBJ,EAAMhN,MAAMuzB,eAAxBhqB,MAG7B,QAAgB,OAAuByD,GAAQ,iBAAiB,WAC9D,OAAQA,EAAM0mB,WAAc1mB,EAAMhN,MAAMoN,KAA2BJ,EAAMhN,MAAMoN,KAAKknB,YAArCjB,MAGjD,QAAgB,OAAuBrmB,GAAQ,2BAA2B,WACxE,OAAOA,EAAMhN,MAAMoN,KAAOJ,EAAMhN,MAAMoN,KAAKmnB,UAAOhrB,MAGpD,QAAgB,OAAuByD,GAAQ,yBAAyB,WACjEA,EAAMwnB,iBAEXxnB,EAAMwnB,eAAeC,UAErBznB,EAAMwnB,eAAiB,UAGzB,QAAgB,OAAuBxnB,GAAQ,wBAAwB,WACrEA,EAAM0nB,wBAEN,IACIlB,GADwB,OAAuBxmB,GACZwmB,WAEnCmB,EAAmB3nB,EAAMxO,MAAMm2B,iBAC9BA,GAAqBnB,IAC1BxmB,EAAMwnB,eAAiB,IAAI,IAASG,EAAkBnB,EAAYxmB,EAAM4nB,mBAG1E,QAAgB,OAAuB5nB,GAAQ,kBAAkB,WAC3DA,EAAMwnB,gBACRxnB,EAAMwnB,eAAeK,oBAIlB7nB,GA9GT,OAAesmB,EAAaxX,GAiH5B,IAAIc,EAAS0W,EAAY9lB,UA6CzB,OA3CAoP,EAAOE,mBAAqB,SAA4BC,EAAWJ,GAE7Dje,KAAKF,MAAM+0B,YAAcxW,EAAUwW,WAAa70B,KAAKF,MAAMm2B,mBAAqB5X,EAAU4X,kBAAoBj2B,KAAKF,MAAMs1B,gBAAkB/W,EAAU+W,eAAiBp1B,KAAKF,MAAMu1B,YAAchX,EAAUgX,UAQ3Mr1B,KAAK+0B,uBACI/0B,KAAKF,MAAMq1B,gBAAkB9W,EAAU8W,eAAiBn1B,KAAK81B,iBACtE91B,KAAKF,MAAMq1B,cAAgBn1B,KAAK81B,eAAeM,uBAAyBp2B,KAAK81B,eAAeO,yBAO1FpY,EAAU4W,YAAc70B,KAAKsB,MAAMuzB,WACrC70B,KAAKm2B,kBAITjY,EAAOK,qBAAuB,WAC5BgW,EAAOv0B,KAAKF,MAAMquB,SAAU,MAC5BnuB,KAAKg2B,yBAGP9X,EAAO1d,OAAS,WACd,ODjK0C81B,ECiKvBt2B,KAAKF,MAAMW,SDhKzB0lB,MAAMoQ,QAAQD,GAAOA,EAAI,GAAKA,GCgKK,CACtCxyB,IAAK9D,KAAKw2B,cACVpR,MAAOplB,KAAKy2B,iBACZ5B,UAAW70B,KAAK02B,qBAChBC,gBAAiB32B,KAAK42B,0BACtBT,eAAgBn2B,KAAKm2B,eACrBU,WAAY,CACV/yB,IAAK9D,KAAK82B,aACV1R,MAAOplB,KAAK+2B,mBDzKK,IAAqBT,GC8KrC1B,EA/JT,CAgKE,aAWa,SAAS,EAAO5W,GAC7B,IAAIiY,EAAmBjY,EAAKiY,iBACxBn2B,GAAQ,OAA8Bke,EAAM,CAAC,qBAEjD,OAAO,gBAAoBsW,EAA4BvY,SAAU,MAAM,SAAUib,GAC/E,OAAO,gBAAoBpC,GAAa,OAAS,CAC/CqB,sBAAuCprB,IAArBorB,EAAiCA,EAAmBe,GACrEl3B,QAhBP,OAAgB80B,EAAa,eAAgB,CAC3CC,UAAW,SACXM,eAAe,EACfc,sBAAkBprB,EAClBuqB,eAAe,IAGA,eCxLjB,MAAM6B,EAAe,CACjBC,KAAM,GACN5tB,IAAK,CAAC,MAAO,SAAU,OACvB6tB,MAAO,CAAC,QAAS,OAAQ,SACzBC,OAAQ,CAAC,SAAU,MAAO,UAC1B/tB,KAAM,CAAC,OAAQ,QAAS,SAGrB,MAAMguB,UAAe,YACxBx3B,cACIE,SAAS4K,WACT3K,KAAKs3B,cAAe,cAAWzC,IAJf,IAAC0C,EAMb,MAAMlC,EAAY,CACdmC,KAAM,CACFvC,SAAS,EACTwC,UATKF,EAKwB1C,EAAUvwB,MAAM,KAAK,GALpC2yB,EAAaM,IAU3BG,kBAAmB,YAEvB7B,KAAM,CACFZ,SAAS,GAEb0C,OAAQ,CACJ1C,SAAS,EACT0C,OAAQ33B,KAAKF,MAAM63B,QAEvBC,gBAAiB,CACb3C,SAAS,EACT4C,qBAAqB,EACrBH,kBAAmB,WAG3B,OAAI13B,KAAKF,MAAMu1B,UACJ,IAAKA,KAAcr1B,KAAKF,MAAMu1B,WAElCA,KAGf70B,SACI,MAAM,UAAEq0B,EAAS,SAAEp0B,EAAQ,iBAAEw1B,GAAqBj2B,KAAKF,MACjDu1B,EAAYr1B,KAAKs3B,aAAat3B,KAAKF,MAAM+0B,WAC/C,OAAQ,gBAAoB,EAAalrB,OAAOC,OAAO,CAAEwrB,eAAe,EAAMC,UAAWA,EAAWR,UAAWA,GAAcoB,EAAmB,CAAEA,oBAAqB,IAAMx1B,IAGrL42B,EAAO7pB,aAAe,CAClB/M,SAAU,IAAM,KAChBk3B,OAAQ,SACR9C,UAAW,+DCjDR,MAwBM,EAAS,CAClBva,KAAM,IAAM,IACZC,OAAQ,IAAM,IACdC,WAAY,IAAM,IAClBC,MAAO,IAAM,IACbC,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,KC7Bbgd,EAAmBC,IACrB,MAAMhG,EAAY6B,SAAS/D,cAAc,OAGzC,OAFAkC,EAAUiG,aAAa,QAAS,mBAChCjG,EAAUiG,aAAa,QAAS,YAAYD,MACrChG,GAELkG,EAAU,MACZ,OAAUrE,UAAYA,SAASsE,KAAM,6BAC9BtE,SAASsE,MAKdC,EAAexuB,OAAOsH,KAAK,GAAQK,QAAO,CAAC8mB,EAAKznB,KAClD,MAAM0nB,EAAY1nB,EAGlB,OADAynB,EADc,EAAOC,MACRA,EACND,IACR,IACGE,EAAgBP,GACXpuB,OAAOmF,UAAU0hB,eAAejiB,KAAK4pB,EAAcJ,GACpDI,EAAaJ,GACb,KAwBJQ,EAAkB,CAACC,EAAWT,KAChC,MAAM13B,EAvBO,EAACm4B,EAAWT,KACzB,MAAMU,EAAS,CACXhe,MAAO6d,EAAaI,OAAOX,IAC3BA,UAGJ,GAA2B,mBAAhBY,YACP,OAAO,IAAIA,YAAYH,EAAW,CAC9BC,WAKR,MAAMp4B,EAAQuzB,SAASgF,YAAY,eAC7BC,EAAS,CACXC,SAAS,EACTC,aAAa,EACbN,UAGJ,OADAp4B,EAAM24B,gBAAgBR,EAAWK,EAAOC,QAASD,EAAOE,YAAaF,EAAOJ,QACrEp4B,GAGO44B,CAAST,EAAWT,GAClCxR,OAAO2S,cAAc74B,IAEnB84B,EAAkB,KACpB,MAAMC,EAAgBxF,SAASyF,cAAc,qCAC7C,IAAKD,EAAe,CAChB,MAAME,EAAS1F,SAAS/D,cAAc,OAItC,OAHAyJ,EAAOtB,aAAa,QAAS,6BAC7BsB,EAAOtB,aAAa,QAAS,kBAC7BC,IAAUsB,YAAYD,GACfA,EAEX,OAAOF,GAMX,MAAMI,UAAe,YACjB35B,cACIE,SAAS4K,WACT3K,KAAKsB,MAAQ,CACTywB,UAAW,EAAA0H,UAAY3B,EAAgB93B,KAAKF,MAAMi4B,aAAUltB,EAC5D6uB,iBAAiB,GAGzBtb,mBAAmBC,EAAWJ,GAC1B,MAAM,UAAE8T,GAAc/xB,KAAKsB,OACrB,OAAEy2B,GAAW/3B,KAAKF,MACxB,GAAIiyB,GAAa1T,EAAU0Z,SAAWA,EAAQ,CAC1C,MAAM4B,EAAe7B,EAAgBC,GACrCoB,IAAkBS,aAAa7H,EAAW4H,GAE1C35B,KAAKwL,SAAS,CAAEumB,UAAW4H,SAErB1b,EAAU8T,WAAaA,GAE7BoH,IAAkBI,YAAYxH,GAGtC5lB,oBACI,MAAM,UAAE4lB,GAAc/xB,KAAKsB,OACrB,OAAEy2B,GAAW/3B,KAAKF,MACxB,GAAIiyB,EACAoH,IAAkBI,YAAYxH,OAE7B,CAED,MAAM4H,EAAe7B,EAAgBC,GAErC/3B,KAAKwL,SAAS,CAAEumB,UAAW4H,IAG/B35B,KAAKwL,SAAS,CACVkuB,iBAAiB,IAErBnB,EC7G0B,gBD6GUG,OAAOX,IAE/CxZ,uBACI,MAAM,UAAEwT,GAAc/xB,KAAKsB,OACrB,OAAEy2B,GAAW/3B,KAAKF,MACpBiyB,IACAoH,IAAkBU,YAAY9H,GAEZ6B,SAASyF,cAAc,yDAErCpB,IAAU4B,YAAYV,MAG9BZ,ECzH4B,kBDyHUG,OAAOX,IAEjDv3B,SACI,MAAM,UAAEuxB,EAAS,gBAAE2H,GAAoB15B,KAAKsB,MAC5C,OAAOywB,GAAa2H,EACd,eAAsB15B,KAAKF,MAAMW,SAAUsxB,GAC3C,MAGdyH,EAAOhsB,aAAe,CAClBuqB,OAAQ,GAEZ,UElIM,EAAc,CAAC,QAAS,QAEf,SAASzb,EAASxc,GAC7B,GAAIA,GAASA,EAAMkI,MAAO,CAEtB,GAAI,uBAAwBlI,EAAMkI,MAC9B,OAAOlI,EAAMkI,MAAMuU,mBAGlB,GAAI,SAAUzc,EAAMkI,OAAS,EAAY2J,SAAS7R,EAAMkI,MAAMD,MAC/D,OAAOjI,EAAMkI,MAIrB,MAAO,CAAED,KAfc,SCcZ,SAASyU,EAAOC,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflC5c,IACJ,MAAMkI,EAAQsU,EAASxc,GACvB,GAAIA,GAASA,EAAM6c,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAS9c,EAAM6c,IAC7B,GAAIE,GAASA,EAAM7U,EAAMD,MAAO,CAC5B,MAAMrH,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,GAGnB,MAAO,IAXf,IAAwBic,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQ3c,IAEJ,MAAMkI,EAAQsU,EAASxc,GAEvB,GAAIkI,EAAMD,QAAQ8U,EAAO,CACrB,MAAMnc,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,EAEf,MAAO,IC7BR,MAIMiG,EAAO,UAQPL,EAAO,UAQP2N,EAAO,UAMP,EAAO,UACP7N,EAAO,UAEPJ,GAAO,UAmBPuB,GAAK,UAWLG,GAAO,UAMPF,GAAO,UAyBPqP,GAAQ,UAGRhP,GAAQ,UAORoP,GAAO,UClGdkE,ID4HoBqB,EAAO,CAAE3X,MAAO0C,GAAIvC,KAxB1B,YAyBYwX,EAAO,CAAE3X,MAvGtB,UAuGkCG,KAtGlC,YAuGYwX,EAAO,CAAE3X,MA7ErB,UA6EiCG,KA9BhC,YA+BawX,EAAO,CAAE3X,MAAO0C,GAAIvC,KAAMiS,KACvCuF,EAAO,CAAE3X,MA/DT,UA+DsBG,KAAM6R,KACvB2F,EAAO,CAAE3X,MAAO2C,GAAMxC,KAAM6R,KAC3B2F,EAAO,CAAE3X,MAAOmB,GAAMhB,KAAMgB,KAC5BwW,EAAO,CAAE3X,MAAO6C,GAAM1C,KAAM6C,KACvB2U,EAAO,CAAE3X,MA5EpB,UA4EiCG,KAxChC,YAyCEwX,EAAO,CAAE3X,MAAO2C,GAAMxC,KAAM6R,KACtB2F,EAAO,CAAE3X,MAAO6C,GAAM1C,KAAM6C,KAChC2U,EAAO,CAAE3X,MAvFf,UAuF2BG,KAAMiS,KAChCuF,EAAO,CAAE3X,MAAOmB,GAAMhB,KAAM,IACvBwX,EAAO,CAAE3X,MA/Gd,UA+G2BG,KAAMoB,IAC3BoW,EAAO,CAAE3X,MA9Gf,UA8G4BG,KAAM,IAC3BwX,EAAO,CAAE3X,MAAO,EAAMG,KAAMoB,IAChCoW,EAAO,CAAE3X,MAAOmB,GAAMhB,KAAM,IAC/BwX,EAAO,CAAE3X,MAAOmB,GAAMhB,KAAM,IAC5BwX,EAAO,CAAE3X,MApGT,UAoGsBG,KArGtB,YAsGEwX,EAAO,CAAE3X,MA7GX,UA6GwBG,KA/GxB,YAgHDwX,EAAO,CAAE3X,MAAO8B,EAAM3B,KAAM2B,IACzB6V,EAAO,CAAE3X,MAAOyB,EAAMtB,KAAMsB,IAC7BkW,EAAO,CAAE3X,MAAOoP,EAAMjP,KAAMiP,IClJzBuI,EAAO,CAC3B3X,MAAO2C,GACPxC,KDsGe,aCpGb0tB,GAAYlW,EAAO,CACrB3X,MAAO0C,GACPvC,KAAM6R,KAEGijB,GAAmB,aAAW;aAC9B;;;EAIAC,IAAU,aAAOD,GAAkB;sBAC1B3e;mBNPM,IAAM;;WMUvBuX;;;;;;;;;;;IAWP,EAAGsH,cAAeA,GAClB;MASkB,aAAW;;0DCzCjC,GAAe,gBAAoB,MCO5B,IAAIld,GAAY,YACZC,GAAS,SACTC,GAAW,WACXC,GAAU,UACVC,GAAU,UA6FjBC,GAA0B,SAAUC,GAGtC,SAASD,EAAWrd,EAAOM,GACzB,IAAIkO,EAEJA,EAAQ8O,EAAiB7O,KAAKvO,KAAMF,EAAOM,IAAYJ,KACvD,IAGIqd,EADAC,EAFcld,MAEuBmd,WAAazd,EAAM0d,MAAQ1d,EAAMwd,OAuB1E,OArBAhP,EAAMmP,aAAe,KAEjB3d,EAAM4d,GACJJ,GACFD,EAAgBN,GAChBzO,EAAMmP,aAAeT,IAErBK,EAAgBJ,GAIhBI,EADEvd,EAAM6d,eAAiB7d,EAAM8d,aACfd,GAEAC,GAIpBzO,EAAMhN,MAAQ,CACZuc,OAAQR,GAEV/O,EAAMwP,aAAe,KACdxP,GA/BT,OAAe6O,EAAYC,GAkC3BD,EAAWY,yBAA2B,SAAkCC,EAAMC,GAG5E,OAFaD,EAAKN,IAEJO,EAAUJ,SAAWf,GAC1B,CACLe,OAAQd,IAIL,MAmBT,IAAImB,EAASf,EAAWrO,UA0OxB,OAxOAoP,EAAO/R,kBAAoB,WACzBnM,KAAKme,cAAa,EAAMne,KAAKyd,eAG/BS,EAAOE,mBAAqB,SAA4BC,GACtD,IAAIC,EAAa,KAEjB,GAAID,IAAcre,KAAKF,MAAO,CAC5B,IAAI+d,EAAS7d,KAAKsB,MAAMuc,OAEpB7d,KAAKF,MAAM4d,GACTG,IAAWb,IAAYa,IAAWZ,KACpCqB,EAAatB,IAGXa,IAAWb,IAAYa,IAAWZ,KACpCqB,EAAapB,IAKnBld,KAAKme,cAAa,EAAOG,IAG3BJ,EAAOK,qBAAuB,WAC5Bve,KAAKwe,sBAGPN,EAAOO,YAAc,WACnB,IACIC,EAAMlB,EAAOF,EADbqB,EAAU3e,KAAKF,MAAM6e,QAWzB,OATAD,EAAOlB,EAAQF,EAASqB,EAET,MAAXA,GAAsC,iBAAZA,IAC5BD,EAAOC,EAAQD,KACflB,EAAQmB,EAAQnB,MAEhBF,OAA4BzS,IAAnB8T,EAAQrB,OAAuBqB,EAAQrB,OAASE,GAGpD,CACLkB,KAAMA,EACNlB,MAAOA,EACPF,OAAQA,IAIZY,EAAOC,aAAe,SAAsBS,EAAUN,QACnC,IAAbM,IACFA,GAAW,GAGM,OAAfN,GAEFte,KAAKwe,qBAEDF,IAAetB,GACjBhd,KAAK6e,aAAaD,GAElB5e,KAAK8e,eAEE9e,KAAKF,MAAM6d,eAAiB3d,KAAKsB,MAAMuc,SAAWd,IAC3D/c,KAAKwL,SAAS,CACZqS,OAAQf,MAKdoB,EAAOW,aAAe,SAAsBD,GAC1C,IAAIG,EAAS/e,KAETwd,EAAQxd,KAAKF,MAAM0d,MACnBwB,EAAYhf,KAAKI,QAAUJ,KAAKI,QAAQmd,WAAaqB,EAErDK,EAAQjf,KAAKF,MAAMof,QAAU,CAACF,GAAa,CAAC,cAAqBhf,MAAOgf,GACxEG,EAAYF,EAAM,GAClBG,EAAiBH,EAAM,GAEvBI,EAAWrf,KAAKye,cAChBa,EAAeN,EAAYK,EAAS/B,OAAS+B,EAAS7B,MAGrDoB,GAAapB,GASlBxd,KAAKF,MAAMyf,QAAQJ,EAAWC,GAC9Bpf,KAAKwf,aAAa,CAChB3B,OAAQb,KACP,WACD+B,EAAOjf,MAAM2f,WAAWN,EAAWC,GAEnCL,EAAOW,gBAAgBJ,GAAc,WACnCP,EAAOS,aAAa,CAClB3B,OAAQZ,KACP,WACD8B,EAAOjf,MAAM6f,UAAUR,EAAWC,aAlBtCpf,KAAKwf,aAAa,CAChB3B,OAAQZ,KACP,WACD8B,EAAOjf,MAAM6f,UAAUR,OAqB7BjB,EAAOY,YAAc,WACnB,IAAIc,EAAS5f,KAET0e,EAAO1e,KAAKF,MAAM4e,KAClBW,EAAWrf,KAAKye,cAChBU,EAAYnf,KAAKF,MAAMof,aAAUrU,EAAY,cAAqB7K,MAEjE0e,GASL1e,KAAKF,MAAM+f,OAAOV,GAClBnf,KAAKwf,aAAa,CAChB3B,OAAQX,KACP,WACD0C,EAAO9f,MAAMggB,UAAUX,GAEvBS,EAAOF,gBAAgBL,EAASX,MAAM,WACpCkB,EAAOJ,aAAa,CAClB3B,OAAQd,KACP,WACD6C,EAAO9f,MAAMigB,SAASZ,aAlB1Bnf,KAAKwf,aAAa,CAChB3B,OAAQd,KACP,WACD6C,EAAO9f,MAAMigB,SAASZ,OAqB5BjB,EAAOM,mBAAqB,WACA,OAAtBxe,KAAK8d,eACP9d,KAAK8d,aAAakC,SAClBhgB,KAAK8d,aAAe,OAIxBI,EAAOsB,aAAe,SAAsBS,EAAWC,GAIrDA,EAAWlgB,KAAKmgB,gBAAgBD,GAChClgB,KAAKwL,SAASyU,EAAWC,IAG3BhC,EAAOiC,gBAAkB,SAAyBD,GAChD,IAAIE,EAASpgB,KAETwF,GAAS,EAcb,OAZAxF,KAAK8d,aAAe,SAAUzd,GACxBmF,IACFA,GAAS,EACT4a,EAAOtC,aAAe,KACtBoC,EAAS7f,KAIbL,KAAK8d,aAAakC,OAAS,WACzBxa,GAAS,GAGJxF,KAAK8d,cAGdI,EAAOwB,gBAAkB,SAAyBf,EAAS1O,GACzDjQ,KAAKmgB,gBAAgBlQ,GACrB,IAAIoQ,EAAOrgB,KAAKF,MAAMof,QAAUlf,KAAKF,MAAMof,QAAQnb,QAAU,cAAqB/D,MAC9EsgB,EAA0C,MAAX3B,IAAoB3e,KAAKF,MAAMygB,eAElE,GAAKF,IAAQC,EAAb,CAKA,GAAItgB,KAAKF,MAAMygB,eAAgB,CAC7B,IAAIC,EAAQxgB,KAAKF,MAAMof,QAAU,CAAClf,KAAK8d,cAAgB,CAACuC,EAAMrgB,KAAK8d,cAC/DqB,EAAYqB,EAAM,GAClBC,EAAoBD,EAAM,GAE9BxgB,KAAKF,MAAMygB,eAAepB,EAAWsB,GAGxB,MAAX9B,GACF+B,WAAW1gB,KAAK8d,aAAca,QAb9B+B,WAAW1gB,KAAK8d,aAAc,IAiBlCI,EAAO1d,OAAS,WACd,IAAIqd,EAAS7d,KAAKsB,MAAMuc,OAExB,GAAIA,IAAWf,GACb,OAAO,KAGT,IAAI6D,EAAc3gB,KAAKF,MACnBW,EAAWkgB,EAAYlgB,SAgBvBmgB,GAfMD,EAAYjD,GACFiD,EAAY/C,aACX+C,EAAYhD,cACnBgD,EAAYrD,OACbqD,EAAYnD,MACbmD,EAAYjC,KACTiC,EAAYhC,QACLgC,EAAYJ,eACnBI,EAAYpB,QACToB,EAAYlB,WACbkB,EAAYhB,UACfgB,EAAYd,OACTc,EAAYb,UACba,EAAYZ,SACbY,EAAYzB,SACV,OAA8ByB,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGE,gBAAoBE,GAAuB5E,SAAU,CACnDvb,MAAO,MACc,mBAAbD,EAA0BA,EAASod,EAAQ+C,GAAc,eAAmB,gBAAoBngB,GAAWmgB,KAIlHzD,EAzSqB,CA0S5B,aA+LF,SAASzd,MA7LTyd,GAAW2D,YAAcD,GACzB1D,GAAW4D,UA0LP,GAIJ5D,GAAW3P,aAAe,CACxBkQ,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPkB,MAAM,EACNa,QAAS7f,GACT+f,WAAY/f,GACZigB,UAAWjgB,GACXmgB,OAAQngB,GACRogB,UAAWpgB,GACXqgB,SAAUrgB,IAEZyd,GAAWL,UAAYA,GACvBK,GAAWJ,OAASA,GACpBI,GAAWH,SAAWA,GACtBG,GAAWF,QAAUA,GACrBE,GAAWD,QAAUA,GACrB,YClmBM+c,GAAgBtb,IAAY,CAC9Brb,WAAY,aAAaqb,EAAQnB,mDAA8BmB,EAAQnB,iBACvEja,QAAS,IAEP22B,GAAmB54B,IACD,CAChBwjB,SAAU,GACVC,QAAS,CACLxhB,QAAS,GAEb0hB,QAAS,CACL1hB,QAAS,IAGEjC,IAavB,GAPkB,EAAGb,WAAU05B,kBAAiBC,kBAAiBra,WAAUrC,GAAImH,MAC3E,MAAMlG,EAAU,CACZnB,MAAO4c,EAAkB,EAzBV,IA0Bf1b,KAAMyb,EAAkB,EAzBV,IA2BlB,OAAQ,gBAAoB,GAAY,CAAExb,QAASA,EAASjB,GAAImH,EAAQ9E,SAAUA,EAAUpC,eAAe,EAAML,QAAQ,IAAShc,GAAUb,EAT/H,EAACke,EAASrd,IAAU,KAAM,IACpC24B,GAAatb,MACbub,GAAgB54B,KAOkIolB,CAAS/H,EAASrd,OC7B9J+4B,GAAiB,CAC1BnsB,OAAQ,YACRC,cAAe,UACftB,WAAY,CACRiB,cAAe,UACfC,YAAW,MACXC,eAAc,QAGTssB,GAAmB,CAC5BpsB,OAAQ,SACRC,cAAe,UACftB,WAAY,CACRiB,cAAe,UACfC,YAAW,MACXC,eAAc,QCJhBusB,GAAiB,CAAEC,SAAS,EAAMC,SAAS,GACjD,SAASC,GAAiBC,GACtB,MAAMC,EAAYD,GAAoB,CAAErxB,IAAK,EAAGD,KAAM,GAWtD,MAAO,CACHod,sBAX0B,KACnB,CACHnd,IAAKsxB,EAAUtxB,IACfD,KAAMuxB,EAAUvxB,KAChB+tB,OAAQwD,EAAUtxB,IAClB6tB,MAAOyD,EAAUvxB,KACjBN,MAAO,EACPL,OAAQ,IAKZmyB,YAAa,EACbC,aAAc,GAGtB,IAAIC,GAaJ,MAAM,WAAgB,YAClBl7B,cACIE,SAAS4K,WACT3K,KAAKg7B,WAAa,KAClBh7B,KAAKi7B,UAAY,KACjBj7B,KAAKk7B,sBAAwB,OAC7Bl7B,KAAKm7B,gBAAkB,QACvBn7B,KAAKsB,MAAQ,CACT64B,iBAAiB,EACjBC,iBAAiB,EACjBgB,WAAW,EACXC,eAAe,GAEnBr7B,KAAKs7B,mBAAqB,KAClBt7B,KAAKsB,MAAM85B,YACXp7B,KAAKk7B,wBACLl7B,KAAKwL,SAAS,CAAE4vB,WAAW,EAAOjB,iBAAiB,MAG3Dn6B,KAAKu7B,iBAAmB,KAChBv7B,KAAKF,MAAM07B,qBACXx7B,KAAKk7B,wBACLl7B,KAAKwL,SAAS,CAAE4vB,WAAW,EAAOjB,iBAAiB,MAG3Dn6B,KAAKy7B,gBAAkB,KACfz7B,KAAKF,MAAM47B,yBACX17B,KAAKk7B,wBACLl7B,KAAKwL,SAAS,CAAE4vB,WAAW,EAAOjB,iBAAiB,MAG3Dn6B,KAAK27B,gBAAmBpwB,IAChBA,EAAE2B,SAAWlN,KAAKg7B,aAGtBh7B,KAAKm7B,gBAAkB,QAGlBn7B,KAAK47B,mBACN57B,KAAK47B,iBAAmBlB,GAAiB,CACrCrxB,KAAMkC,EAAEswB,QACRvyB,IAAKiC,EAAEuwB,WAGf97B,KAAK+7B,sBAET/7B,KAAKg8B,YAAc,KACfh8B,KAAKm7B,gBAAkB,WAGlBn7B,KAAK47B,mBACN57B,KAAK47B,iBAAmBlB,GAAiB,CACrCrxB,KAAM,EACNC,IAAK,KAGbtJ,KAAK+7B,qBAET/7B,KAAK+7B,kBAAoB,KACrB/7B,KAAKk7B,wBACDe,QAAQj8B,KAAKF,MAAMo8B,WAAal8B,KAAKsB,MAAM85B,YAC3Cp7B,KAAKk7B,sBAzED,EAAC1G,EAAI2H,KACrB,MAAMC,EAAgBrB,IAAeA,GAAYsB,UAKjD,OAJID,GACArB,GAAYuB,QAEI,KAAU,IAAM9H,EAAG4H,IAAgBA,EAAgB,EAAID,GACxDnc,QAmEsBuc,EAAYnC,IACrCp6B,KAAKwL,SAAS,CACV4vB,WAAW,EACXC,eAAe,EACfjB,sBAELp6B,KAAKF,MAAM6S,OAAS,KAG/B3S,KAAKw8B,kBAAqBjxB,IA1Ed,IAACipB,EAAI2H,EA2ET5wB,EAAE2B,SAAWlN,KAAKg7B,aAGtBh7B,KAAKk7B,wBACDl7B,KAAKsB,MAAM85B,YACXp7B,KAAKk7B,uBAhFA1G,EAgFoC2F,IACrCn6B,KAAKwL,SAAS,CAAE4vB,WAAW,EAAOjB,qBAjF7BgC,EAkFNn8B,KAAKF,MAAM6S,OAAS,EAjFnCooB,GAAc,KAAU0B,GAAWjI,EAAGiI,IAAUN,GACzCpB,GAAY/a,WAwFfhgB,KAAK08B,gBAAmBr8B,IACfL,KAAKsB,MAAM+5B,gBACZr7B,KAAK47B,iBAAmBlB,GAAiB,CACrCrxB,KAAMhJ,EAAMw7B,QACZvyB,IAAKjJ,EAAMy7B,YAK3Bvd,uBACIve,KAAKk7B,wBACLl7B,KAAK28B,uBAETve,mBAAmBwe,EAAY3e,IACtBA,EAAUmd,WAAap7B,KAAKsB,MAAM85B,WAC/Bp7B,KAAKF,MAAM+8B,QACX78B,KAAKF,MAAM+8B,SACftW,OAAO6E,iBAAiB,SAAUprB,KAAKs7B,mBAAoBf,KAEtDtc,EAAUmd,YAAcp7B,KAAKsB,MAAM85B,YACpCp7B,KAAKF,MAAMg9B,QACX98B,KAAKF,MAAMg9B,SACf98B,KAAK28B,wBAGbA,uBACIpW,OAAO4E,oBAAoB,SAAUnrB,KAAKs7B,mBAAoBf,IAElEwC,iCACI,MAAM,SAAE3zB,GAAapJ,KAAKF,MAC1B,MAAoB,UAAbsJ,GAAiD,UAAzBpJ,KAAKm7B,gBAExC36B,SACI,MAAM,SAAEC,EAAQ,SAAE2I,EAAQ,cAAE4zB,EAAa,QAAEd,EAAO,SAAElC,EAAUztB,UAAW0wB,EAAkBC,IAAKC,EAAe,OAAEvwB,GAAY5M,KAAKF,OAC5H,UAAEs7B,EAAS,cAAEC,EAAa,gBAAEjB,EAAe,gBAAED,GAAqBn6B,KAAKsB,MACvE87B,EAA+B,UAAbh0B,EAAuB4zB,EAAgB5zB,EAC/D,OAEA,gBAAoB,WAAgB,KAChC+zB,GAAoB,gBAAoBA,EAAiB,CAAE9vB,QAASrN,KAAKu7B,iBAAkB8B,YAAar9B,KAAK27B,gBAAiB2B,WAAYt9B,KAAKw8B,kBAAmBe,YAAav9B,KAAK08B,gBAAiBhxB,YAAa1L,KAAKy7B,gBAAiB5vB,QAAS7L,KAAKg8B,YAAalwB,OAAQ9L,KAAKw8B,kBAAmB14B,IAAMk3B,IACjSh7B,KAAKg7B,WAAaA,IAEtB,gBAAoB,IAAc,CAAE7M,SAAWrqB,IACvC9D,KAAKi7B,UAAYn3B,IAChB,gBAAoBrD,KACjC46B,GAAiBr7B,KAAKi7B,WAAaj7B,KAAK47B,iBAAoB,gBAAoB,EAAQ,CAAE7D,OAAQ,aAC9F,gBAAoBV,EAAQ,CAAExC,UAAWuI,EAAiBnH,iBAGrDj2B,KAAK+8B,iCACA/8B,KAAK47B,iBACL57B,KAAKi7B,YAAc,EAAGn3B,MAAKshB,WAAY6X,GAAqB,gBAAoB,GAAW,CAAE7C,gBAAiBA,EAAiBD,gBAAiBA,EAAiBpa,SAAU,IAAM/f,KAAKwL,SAAS,CAAE6vB,eAAe,IAAU3d,GAAI0d,IAAaoC,GAAuB,gBAAoBP,EAE9R,CAEE9O,SAAUrqB,QAAO+G,EAAWyB,UAAW,UAAW8Y,MAAO,IAClDoY,OACApY,GACJ4U,SAAUA,IAAY,EAAO,iBAAkBoD,EAAiB,cAAexwB,GAAUsvB,QAAiB,OAKjI,GAAQ1uB,aAAe,CACnBjB,UAAW,GACXoG,MAAO,IACPqqB,cAAe,SACf5zB,SAAU,SACV8zB,IAAK,OAGT,MAAMzvB,IAAkD,WCzMZ,SAAU2B,GAAW,OAAO,SAAUpC,GAC9E,IAAIkD,EAAgBlD,EAAqBoC,GACrCe,EAAcD,EAAcf,QAIhC,OAHIgB,GACAA,EAAYH,KDqMoC,YCnM7CE,KDoMX,UEvMqCE,GFuMD,CAChCtC,cAAe,UACfC,YAAW,MACXC,eAAc,OE1MyC,SAAUqC,GACjE,IAAIC,EAAuB,cAAiB,SAAUxQ,EAAOgE,GACzD,IAAIyM,EAAKzQ,EAAM0Q,iBAAkBA,OAA0B,IAAPD,EAAgB,GAAKA,EAAI9G,GAAO,IAAAgH,QAAO3Q,EAAO,CAAC,qBAC/F4Q,GAAgB,IAAAhB,WAAS,IAAAA,UAAS,GAAIU,IAAcI,GACxD,OAAQ,gBAAoB,EAAkB,CAAE9B,KAAMgC,GAClD,gBAAoBL,GAAkB,IAAAX,UAAS,GAAIjG,EAAM,CAAE3F,IAAKA,SAKxE,OAFAwM,EAAqB1C,YAAc,yBAA2ByC,EAAiBzC,aAC3EyC,EAAiBM,MAAQ,IACtBL,KCVyBY,GH2Mb,CACnB4rB,OAAQxC,GACRuC,OAAQpvB,GAA6B,IAAK4sB,MG7Me,SAAUhqB,GACnE,IAAI4B,EAAsB,cAAiB,SAAUnS,EAAOgE,GAAO,OAAQ,gBAAoB,EAA0B,CAAEoN,eAAgBA,GAAgBc,sBAAuBlS,IAAS,SAAUyQ,GACjM,IAAIvD,EAAuBuD,EAAGvD,qBAAsB8D,EAAoBP,EAAGO,kBAC3E,OAAQ,gBAAoBT,GAAkB,IAAAX,UAAS,GAAI5P,EAAOgR,EAAmB,CAAE9D,qBAAsBA,EAAsBlJ,IAAKA,WAK5I,OAFAmO,EAAoBrE,YAAc,wBAA0ByC,EAAiBzC,aACzEyC,EAAiBM,MAAQ,IACtBsB,IHsMR,KG9MuB,IAAUf,GDACd,iCEDrC,IAAIqtB,EAA0B,EAAQ,OAElCrN,EAAyB,EAAQ,OAErCzmB,OAAO6a,eAAekK,EAAS,aAAc,CAC3ChuB,OAAO,IAETguB,EAAQzjB,KAAOyjB,EAAA,QAAkBA,EAAQphB,iBAAc,EAEvD,IAAIowB,EAAmBtN,EAAuB,EAAQ,QAElDuN,EAAmBvN,EAAuB,EAAQ,QAElDwN,EAAgBxN,EAAuB,EAAQ,QAE/CyN,EAA8BzN,EAAuB,EAAQ,QAE7DQ,EAAmBR,EAAuB,EAAQ,QAElD0N,EAAa1N,EAAuB,EAAQ,QAE5CD,EAASsN,EAAwB,EAAQ,QAEzCM,EAAoB3N,EAAuB,EAAQ,QAEnD4N,EAAQ5N,EAAuB,EAAQ,QAEvC6N,EAAS,EAAQ,OAEjBC,EAAa,EAAQ,OAErB1V,EAAU,SAAiB1oB,GAC7B,OAAIA,EAAMmL,KACD,WAAW+Z,OAAOkZ,EAAW/O,MAAMrvB,EAAMmL,MAAO,aAAa+Z,OAAOkZ,EAAW/O,MAAMrvB,EAAMmL,MAAO,KAGpG,MAGLqC,EAAcywB,EAAkB34B,QAAQgqB,KAAK+O,WAAW,CAC1DvwB,YAAa,oBACbwwB,YAAa,YAFGL,CAGf,CAAC,OAAQ,WAAY,wCAAyC,6DAA8D,8cAA+cvV,GAAS,SAAUrX,GAC/lB,OAAOA,EAAEsa,cAAgB,kBACxB,SAAUta,GACX,OAAOA,EAAE2a,gBAAkBmS,EAAOn5B,OAAOF,aACxC4jB,GAEHkG,EAAQphB,YAAcA,EAEtB,IAAI+hB,EAEJ,SAAU/J,GAGR,SAAS+J,IAEP,OADA,EAAIsO,EAAiBv4B,SAASpF,KAAMqvB,IAC7B,EAAIwO,EAA4Bz4B,SAASpF,MAAM,EAAI4wB,EAAiBxrB,SAASiqB,GAAMtd,MAAM/R,KAAM2K,YAoDxG,OAxDA,EAAImzB,EAAW14B,SAASiqB,EAAM/J,IAO9B,EAAIsY,EAAcx4B,SAASiqB,EAAM,CAAC,CAChC/N,IAAK,SACL5gB,MAAO,WACL,IAAIigB,EAAc3gB,KAAKF,MACnB4vB,EAAQ/O,EAAYgP,MACpBC,EAAsBjP,EAAYiP,oBAClCnE,EAAe9K,EAAY8K,aAC3BK,EAAiBnL,EAAYmL,eAC7B7gB,EAAO0V,EAAY1V,KAEvB,OAAI2kB,EACKO,EAAO/qB,QAAQyqB,cAAcviB,EAAa,CAC/Cme,aAAcA,EACdK,eAAgBA,EAChB7gB,KAAMA,EACN,aAAcjL,KAAKF,MAAMgwB,MACzBC,wBAAyB,CACvBC,OAAQX,EAAKC,wBAAwBM,MAMpCO,EAAO/qB,QAAQyqB,cAAcviB,EAAa,CAC/Cme,aAAcA,EACdK,eAAgBA,EAChB7gB,KAAMA,EACN,aAAcjL,KAAKF,MAAMgwB,OACxBJ,EAAQS,EAAO/qB,QAAQyqB,cAAcH,EAAO,CAC7CO,KAAM,iBACH,SAEL,CAAC,CACH3O,IAAK,0BAUL5gB,MAAO,SAAiC6uB,GACtC,IAAIC,GAAK,EAAIwO,EAAM54B,WAEnB,OADqBmqB,EAAOE,QAAQ,8BAA+B,SAASzK,OAAOwK,IAAKC,QAAQ,wCAAyC,iBAAkBzK,OAAOwK,EAAI,WAInKH,EAzDT,CA0DEc,EAAOvwB,WAET8uB,EAAA,QAAkBW,EAClB,IAAIpkB,EAAOtB,OAAOsH,KAAKitB,EAAW/O,OAAO7d,QAAO,SAAUH,EAAGiQ,GAC3D,OAAOzX,OAAOC,OAAOuH,GAAG,EAAIusB,EAAiBt4B,SAAS,GAAIgc,EAAGA,MAC5D,IACHsN,EAAQzjB,KAAOA,8BCpHftB,OAAO6a,eAAekK,EAAS,aAAc,CAC3ChuB,OAAO,IAETguB,EAAQS,WAAQ,EAOhBT,EAAQS,MANI,CACV/c,MAAO,OACPC,OAAQ,OACRC,MAAO,OACPC,OAAQ,sCCLVmc,EAAQ,OAAU,EAElB,IAAIyB,EAASC,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBlN,GAAO,OAAOA,GAAOA,EAAIoN,WAAapN,EAAM,CAAE9d,QAAS8d,GAEvF,SAASqN,IAA2Q,OAA9PA,EAAW5mB,OAAOC,QAAU,SAAUsD,GAAU,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CAAE,IAAImC,EAAS1Z,UAAUuX,GAAI,IAAK,IAAIZ,KAAO+C,EAAc1a,OAAOmF,UAAU0hB,eAAejiB,KAAK8V,EAAQ/C,KAAQpU,EAAOoU,GAAO+C,EAAO/C,IAAY,OAAOpU,GAAkBqjB,EAASxe,MAAM/R,KAAM2K,WAEhT,IAAI0zB,EAAqB,SAA4Bv+B,GACnD,OAAOqwB,EAAO/qB,QAAQyqB,cAAcQ,EAAMjrB,QAASmrB,EAAS,CAC1DX,oBAAqB,4hBACpB9vB,KAGLu+B,EAAmBzwB,YAAc,qBACjC,IAAI8iB,EAAW2N,EACf3P,EAAQ,EAAUgC,2wDCrBX,MAAMnd,EAAM,UACNC,EAAM,UACNrM,EAAO,UACPsM,EAAO,UACP9M,EAAO,UACPD,EAAO,UACPE,EAAO,UAEP8M,EAAM,UACNC,EAAM,UACNC,EAAO,UACPrN,EAAO,UACPD,EAAO,UACPE,EAAO,UACPU,EAAO,UAEP2M,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPvM,EAAM,UACNnC,EAAM,UACNQ,EAAO,UACPG,EAAO,UACPF,EAAO,UACPF,EAAO,UACPG,EAAO,UAEPiO,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP1N,EAAK,UACL2N,EAAM,UACNpO,EAAM,UACNqO,EAAM,UACNC,EAAM,UACNC,EAAM,UACNC,EAAM,UACNjO,EAAM,UACNkO,GAAM,UACN5N,GAAM,UACN6N,GAAO,UACP9N,GAAO,UACP+N,GAAO,UACPvQ,GAAO,UACPkC,GAAO,UACPsO,GAAO,UACP9P,GAAO,UACP4B,GAAO,UAEPmO,GAAO,UAEPC,GAAO,wBACP7Q,GAAO,wBACPO,GAAO,wBACPuQ,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER3D,GAAQ,UACR4D,GAAQ,UACRC,GAAQ,UACRC,GAAQ,UACR7D,GAAQ,UACR7N,GAAQ,UACR0C,GAAQ,UACRiP,GAAQ,UACRrP,GAAQ,UACRsP,GAAO,UACPC,GAAO,UACP/R,GAAO,UACPM,GAAO,UACP0R,GAAO,UACPC,GAAO,UACP5P,GAAO,UACP6P,GAAO,UACPC,GAAO,UAEPvR,GAAM,UAENwR,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAERzT,IAAa,OAAO,CAAEC,MAAO0C,EAAIvC,KAAMsC,KACvCgR,IAAmB,OAAO,CAAEzT,MAAO+C,EAAK5C,KAAMS,IAC9C8S,IAAkB,OAAO,CAAE1T,MAAOsQ,EAAKnQ,KAAMC,KAC7CuT,IAAoB,OAAO,CAAE3T,MAAO0C,EAAIvC,KAAMiS,KAC9CwB,IAAO,OAAO,CAAE5T,MAAO8Q,GAAM3Q,KAAM6R,KACnC6B,IAAY,OAAO,CAAE7T,MAAO2C,GAAMxC,KAAM6R,KACxC8B,IAAa,OAAO,CAAE9T,MAAOmB,EAAMhB,KAAMgB,IACzC4S,IAAa,OAAO,CAAE/T,MAAO6C,GAAM1C,KAAM6C,KACzCgR,IAAkB,OAAO,CAAEhU,MAAO2Q,GAAMxQ,KAAM8R,KAC9CgC,IAAU,OAAO,CAAEjU,MAAO2C,GAAMxC,KAAM6R,KACtCkC,IAAgB,OAAO,CAAElU,MAAO6C,GAAM1C,KAAM6C,KAC5CmR,IAAY,OAAO,CAAEnU,MAAOiC,EAAK9B,KAAMiS,KACvCpQ,IAAO,OAAO,CAAEhC,MAAOmB,EAAMhB,KAAMiB,IACnCgT,IAAY,OAAO,CAAEpU,MAAOqB,EAAMlB,KAAMoB,IACxC8S,IAAa,OAAO,CAAErU,MAAOsB,EAAMnB,KAAMiB,IACzCkT,IAAc,OAAO,CAAEtU,MAAOoB,EAAMjB,KAAMoB,IAC1CL,IAAU,OAAO,CAAElB,MAAOmB,EAAMhB,KAAMiB,IACtCmT,IAAO,OAAO,CAAEvU,MAAOmB,EAAMhB,KAAMiB,IACnCoT,IAAO,OAAO,CAAExU,MAAOkQ,EAAM/P,KAAM8P,IACnCwE,IAAS,OAAO,CAAEzU,MAAO2P,EAAMxP,KAAMsP,IACrCiF,IAAM,OAAO,CAAE1U,MAAO8B,EAAM3B,KAAM2B,IAClC6S,IAAS,OAAO,CAAE3U,MAAOyB,EAAMtB,KAAMsB,IACrCmT,IAAQ,OAAO,CAAE5U,MAAOoP,EAAMjP,KAAMiP,IACpCyF,GAAW,IAAM3U,ggCCrJvB,MAAMu5B,EAAgB,CACzB,CAAE15B,WAAYE,EAAO0C,KAAMiR,KAAM3T,EAAOyC,IACxC,CAAE3C,WAAYE,EAAO4B,KAAM+R,KAAM3T,EAAOyC,IACxC,CAAE3C,WAAYE,EAAO2P,KAAMgE,KAAM3T,EAAOsP,KACxC,CAAExP,WAAYE,EAAOkB,KAAMyS,KAAM3T,EAAOW,KACxC,CAAEb,WAAYE,EAAOiQ,KAAM0D,KAAM3T,EAAO0C,MACxC,CAAE5C,WAAYE,EAAOoP,KAAMuE,KAAM3T,EAAOyC,IACxC,CAAE3C,WAAYE,EAAO0B,KAAMiS,KAAM3T,EAAO0C,MACxC,CAAE5C,WAAYE,EAAOuC,IAAKoR,KAAM3T,EAAO0C,OAE9B+2B,EAAiB,IACvBD,EACH,CAAE15B,WAAYE,EAAOsC,KAAMqR,KAAM3T,EAAOyC,IACxC,CAAE3C,WAAYE,EAAOqC,KAAMsR,KAAM3T,EAAO0C,MACxC,CAAE5C,WAAYE,EAAOuP,IAAKoE,KAAM3T,EAAO0C,MACvC,CAAE5C,WAAYE,EAAOmB,KAAMwS,KAAM3T,EAAO0C,MACxC,CAAE5C,WAAYE,EAAO+P,KAAM4D,KAAM3T,EAAO0C,MACxC,CAAE5C,WAAYE,EAAOiP,KAAM0E,KAAM3T,EAAOqP,MACxC,CAAEvP,WAAYE,EAAOyB,KAAMkS,KAAM3T,EAAO0C,MACxC,CAAE5C,WAAYE,EAAOyC,GAAIkR,KAAM3T,EAAO0C,OAE7Bg3B,EAAiB,IACvBD,EACH,CAAE35B,WAAYE,EAAO0Q,KAAMiD,KAAM3T,EAAOyC,IACxC,CAAE3C,WAAYE,EAAOsQ,IAAKqD,KAAM3T,EAAO0C,MACvC,CAAE5C,WAAYE,EAAOuQ,IAAKoD,KAAM3T,EAAO8B,MACvC,CAAEhC,WAAYE,EAAOsP,IAAKqE,KAAM3T,EAAO4P,MACvC,CAAE9P,WAAYE,EAAO8C,IAAK6Q,KAAM3T,EAAOqB,MACvC,CAAEvB,WAAYE,EAAO8P,IAAK6D,KAAM3T,EAAO0C,MACvC,CAAE5C,WAAYE,EAAO+O,IAAK4E,KAAM3T,EAAOqP,MACvC,CAAEvP,WAAYE,EAAO6O,IAAK8E,KAAM3T,EAAO0C,OAE9Bi3B,EAAe,CAACC,EAAU,OACnC,OAAQA,GACJ,IAAK,IACD,OAAOJ,EACX,IAAK,KACD,OAAOC,EACX,IAAK,KACD,OAAOC,EACX,QACI,MAAM,IAAI95B,MAAM,kECxCrB,MAAMi6B,GAAO,EAAAniB,EAAA,GAAO,CACvB3X,MAAO,yBAAyBC,EAAOgR,mBAAmBhR,EAAOiR,QACjE/Q,KAAM,yBAAyBF,EAAOmT,kBAAkBnT,EAAOkT,WAGtD4mB,GAAO,EAAApiB,EAAA,GAAO,CACvB3X,MAAO,8BAA8BC,EAAOgR,iBAAiBhR,EAAOiR,QACpE/Q,KAAM,8BAA8BF,EAAOmT,kBAAkBnT,EAAOkT,WAG3D6mB,GAAO,EAAAriB,EAAA,GAAO,CACvB3X,MAAO,+BAA+BC,EAAOgR,iBAAiBhR,EAAOiR,QACrE/Q,KAAM,+BAA+BF,EAAOmT,kBAAkBnT,EAAOkT,WAG5D8mB,GAAO,EAAAtiB,EAAA,GAAO,CACvB3X,MAAO,gCAAgCC,EAAOgR,iBAAiBhR,EAAOiR,QACtE/Q,KAAM,gCAAgCF,EAAOmT,kBAAkBnT,EAAOkT,WAG7D+mB,GAAO,EAAAviB,EAAA,GAAO,CACvB3X,MAAO,gCAAgCC,EAAOgR,iBAAiBhR,EAAOiR,QACtE/Q,KAAM,gCAAgCF,EAAOmT,kBAAkBnT,EAAOkT,0BCvBnE,MAAM2B,EAAY,gBACZC,EAAU,qBACVC,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAMxBvR,EAAe,IAAM,EACrB1H,EAAW,IAAM,EACjBC,EAAW,IAAM,GACjBiZ,EAAgB,IAAM,GACtBC,EAAa,IAAM,uIACnBC,EAAiB,IAAM,iHACvBC,EAAY,CAAC1V,EAAQ,EAAAyB,KAAMkU,EAAetZ,IAAa,IAAM,kEAG5CsZ,OAAkB3V,YAGnC4V,EAAc,IAAM,0BAGpB,EAAS,CAClBE,KAAM,IAAM,IACZC,OAAQ,IAAM,IACdC,WAAY,IAAM,IAClBC,MAAO,IAAM,IACbC,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,KAENC,EAAiB,KAAM,CAChC/R,OAAQ,eACRgS,KAAM,sCACNtS,OAAQ,iBACRsB,SAAU,oBACVpB,QAAS,eACTQ,SAAU,sBACVL,MAAO,iBACPlG,WAAY,sBAOHoY,EAAY,IAAM,EAAApR,GAAI;;;;;;;;;EAUtBqR,EAAkB,KAAM,CACjCrR,IAAK,CACDsR,iBAAiB,IAAAzB,YACjB0B,kBAAmB,OACnBC,wBAAyB,WACzBC,wBAAyB,SACzBC,mBAAoB,aAExB9I,UAAW,CACP+I,KAAM,CACFL,iBAAiB,IAAAzB,aAErB+B,GAAI,CACAN,gBAAiB,EAAA7V,SCxEvB05B,EAAc,CAAC/zB,EAAMtC,IAAe,kBAC3BsC,EAAOnK,kDAEL6H,EAAasC,OAEjBg0B,EAAe,CACxBC,KAAM,CACFj0B,KAAM,GACNtC,WAAY,IAEhBw2B,KAAM,CACFl0B,KAAM,GACNtC,WAAY,IAEhBy2B,KAAM,CACFn0B,KAAM,GACNtC,WAAY,IAEhB02B,KAAM,CACFp0B,KAAM,GACNtC,WAAY,IAEhB22B,KAAM,CACFr0B,KAAM,GACNtC,WAAY,IAEhB42B,KAAM,CACFt0B,KAAM,GACNtC,WAAY,IAEhB62B,KAAM,CACFv0B,KAAM,GACNtC,WAAY,IAEhB82B,KAAM,CACFx0B,KAAM,GACNtC,WAAY,IAEhB+2B,KAAM,CACFz0B,KAAM,GACNtC,WAAY,KAGPu2B,EAAO,IAAM,EAAAr1B,GAAI;IAC1Bm1B,EAAYC,EAAaC,KAAKj0B,KAAMg0B,EAAaC,KAAKv2B;WAC/C7D,EAAOgU;;;gBAGW,IAAbjY;EAEHs+B,EAAO,IAAM,EAAAt1B,GAAI;IAC1Bm1B,EAAYC,EAAaE,KAAKl0B,KAAMg0B,EAAaE,KAAKx2B;WAC/C7D,EAAOgU;;;gBAGW,EAAbjY;EAEHu+B,EAAO,IAAM,EAAAv1B,GAAI;IAC1Bm1B,EAAYC,EAAaG,KAAKn0B,KAAMg0B,EAAaG,KAAKz2B;WAC/C7D,EAAOgU;;;gBAGW,EAAbjY;EAEHw+B,EAAO,IAAM,EAAAx1B,GAAI;IAC1Bm1B,EAAYC,EAAaI,KAAKp0B,KAAMg0B,EAAaI,KAAK12B;WAC/C7D,EAAOgU;;;gBAGW,IAAbjY;EAEHy+B,EAAO,IAAM,EAAAz1B,GAAI;IAC1Bm1B,EAAYC,EAAaK,KAAKr0B,KAAMg0B,EAAaK,KAAK32B;WAC/C7D,EAAOgU;;;gBAGW,EAAbjY;EAEH0+B,EAAO,IAAM,EAAA11B,GAAI;IAC1Bm1B,EAAYC,EAAaM,KAAKt0B,KAAMg0B,EAAaM,KAAK52B;WAC/C7D,EAAOgU;;;gBAGW,EAAbjY;EAEH2+B,EAAO,IAAM,EAAA31B,GAAI;IAC1Bm1B,EAAYC,EAAaO,KAAKv0B,KAAMg0B,EAAaO,KAAK72B;WAC/C7D,EAAOgU;;gBAEW,IAAbjY;;EAGH4+B,EAAO,IAAM,EAAA51B,GAAI;IAC1Bm1B,EAAYC,EAAaQ,KAAKx0B,KAAMg0B,EAAaQ,KAAK92B;WAC/C7D,EAAOiU;;gBAEW,EAAblY;EAEH6+B,EAAO,IAAM,EAAA71B,GAAI;IAC1Bm1B,EAAYC,EAAaS,KAAKz0B,KAAMg0B,EAAaS,KAAK/2B;WAC/C7D,EAAOiU;;gBAEW,EAAblY;ECxGT,SAAS8+B,EAAInL,EAAIoL,GACpB,OAAQ9/B,GAAU00B,EAAG10B,GAAS8/B,EAE3B,SAASC,EAASrL,EAAIsL,GACzB,OAAQhgC,GAAU00B,EAAG10B,GAASggC,EAE3B,SAASC,EAASvL,EAAIwL,GACzB,OAAQlgC,GAAU00B,EAAG10B,GAASkgC,EAE3B,SAASC,EAAOzL,EAAI0L,GACvB,OAAQpgC,GAAU00B,EAAG10B,GAASogC,uECF3B,SAAS93B,GAAYsT,GACxB,MAAMC,EAAe,CAACC,EAAW9b,IAAU8b,EAAU9b,GAM/C+b,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEK,SAxBT,SAAkBjc,GACd,MAAM,SAAEW,KAAa4H,GAAevI,EAK9B+S,IAJQ,IAAAmJ,YAAWH,IACAF,GAGFtT,GAGvB,OAAO,gBAAoB,WAAgB,KAAM5H,EAASoS,KAe3CoJ,SANnB,SAAkBnc,GACd,MAAMoc,GAAU,IAAAF,YAAWH,GACrBM,EAAUrc,EAAMY,OAASib,EACzBS,GAAU,IAAAC,cAAahU,GAAe8T,EAAQD,EAAS7T,IAAa,CAAC6T,EAASC,IACpF,OAAQ,gBAAoBN,EAAaI,SAAU,CAAEvb,MAAO0b,GAAWtc,EAAMW,YCvCrF,SAAe2H,IAAY,KAAM,CAC7BL,KAAM,YCKV,SAASo4B,GAAsB7+B,GAE3B,MAAO,4BADiBwD,EAAOF,WAAWtD,YAK9C,SAAS8+B,GAAgBr4B,GACrB,MAAO,CAAEC,MAAO,CAAE,CAAC4R,GAAU,CAAE7R,UAEnC,MAAMs4B,GAAc,aAAW;sBACTv7B,EAAOF;WAClBE,EAAO2T;;;aAGL3T,EAAO+B;;;aAGP/B,EAAOmU;;;aAGPnU,EAAOoU;;;qBAGCpU,EAAOqU;;;aAGfrU,EAAOgU;;;aAGPhU,EAAOgU;;;aAGPhU,EAAOgU;;;aAGPhU,EAAOgU;;;aAGPhU,EAAOgU;;;aAGPhU,EAAOiU;;;aAGPjU,EAAO8T;;EAGL,MAAM0nB,WAA8B,EAAA1gC,UAC/CC,YAAYC,GACRC,MAAMD,GAONE,KAAKugC,aAAe,KAAM,CAAGx4B,KAAM/H,KAAKsB,MAAM0G,MAAM4R,GAAS7R,OAC7D/H,KAAKsB,MAAQ8+B,GAAgBtgC,EAAMiI,MAEvCyG,kBACI,MAAO,CAAEgyB,0BAA0B,GAEvCC,4BACI,IAAKzgC,KAAKI,QAAQogC,0BAA4B,eAAiB,CAC3D,MAAM32B,EAAMs2B,GAAsBngC,KAAKsB,OACvCtB,KAAK0gC,WAAa9M,SAAS/D,cAAc,SACzC7vB,KAAK0gC,WAAWzzB,KAAO,WACvBjN,KAAK0gC,WAAWC,UAAY92B,EACxB+pB,UAAYA,SAASgN,MACrBhN,SAASgN,KAAKrH,YAAYv5B,KAAK0gC,aAI3CG,iCAAiCC,GAC7B,GAAIA,EAAS/4B,OAAS/H,KAAKF,MAAMiI,KAAM,CACnC,MAAMg5B,EAAgBX,GAAgBU,EAAS/4B,MAC/C,GAAI/H,KAAK0gC,WAAY,CACjB,MAAM72B,EAAMs2B,GAAsBY,GAClC/gC,KAAK0gC,WAAWC,UAAY92B,EAEhC7J,KAAKwL,SAASu1B,IAGtBxiB,uBACQve,KAAK0gC,YAAc9M,UAAYA,SAASgN,OACxChN,SAASgN,KAAK/G,YAAY75B,KAAK0gC,mBACxB1gC,KAAK0gC,YAGpBlgC,SACI,MAAM,SAAEC,GAAaT,KAAKF,OACpB,MAAEkI,GAAUhI,KAAKsB,MACvB,OAMA,gBAAoB0/B,GAAM/kB,SAAU,CAAEvb,MAAOV,KAAKugC,cAC9C,gBAAoB,EAAAU,cAAe,CAAEj5B,MAAOA,GACxC,gBAAoBq4B,GAAa,KAAM5/B,MAGvD6/B,GAAsB9yB,aAAe,CACjCzF,KAAM8R,GAEVymB,GAAsBrxB,kBAAoB,CACtCuxB,yBAA0B,UAE9BF,GAAsBtxB,aAAe,CACjCwxB,yBAA0B,UCtH9B,WAAkB//B,WAAUX,QAAOkI,YAC/B,MAAMpG,EAA8B,iBAAV9B,EAAqB,UAAYA,EACrDohC,EAA0B,iBAAVphC,EAAqB,IAAKA,GAAU,GAM1D,OALA6J,OAAOsH,KAAKjJ,GAAOnE,SAAQyd,IACjBA,KAAO4f,IACTA,EAAO5f,GAAOtZ,EAAMsZ,GAAK,CAAE1f,mBAG5BnB,EAASygC,ICJdC,GAAeC,GAAejwB,GAAMA,EAAEiwB,IAAcjwB,EAAEuhB,UACtD2O,GAAM,aAAW;IAClBlwB,GAAM,EAAAtH,GAAI;wBACSsH,EAAEgK;aACbhK,EAAEuhB;;;eAGAyO,GAAY;;;eAGZA,GAAY;;;eAGZA,GAAY;;;uBAGJA,GAAY;;;;;;;eAOpBA,GAAY;;;eAGZA,GAAY;;;eAGZA,GAAY;;;EAIdG,GAAal5B,IAAY,KAAM,CACxC+S,gBAAiBrW,EAAOyC,GACxBg6B,UAAWz8B,EAAOkB,KAClBw7B,eAAgB18B,EAAOoB,KACvBu7B,gBAAiB38B,EAAOqB,KACxBu7B,iBAAkB58B,EAAOmB,KACzB07B,aAAc78B,EAAO0C,KACrBo6B,mBAAoB98B,EAAO4C,KAC3Bm6B,gBAAiB/8B,EAAO4C,KACxBgrB,UAAW5tB,EAAO6Q,SAEf,SAASmsB,GAAMhiC,GAClB,OAAQ,gBAAoBwhC,GAAWrlB,SAAU,CAAEvb,MAAOZ,EAAMkI,OAC5D,gBAAoBs5B,GAAWvlB,SAAU,MAAOlJ,GACpC,gBAAoBwuB,GAAK13B,OAAOC,OAAO,GAAI,IAAKiJ,EAAQ9K,UAAM8C,GAAa/K,GAAQA,EAAMW,aC9CtG,SAASshC,GAAUC,GACtB,OAAO,SAA4BliC,GAC/B,OAAQ,gBAAoBkhC,GAAMjlB,SAAU,MAAOlJ,GAAY,gBAAoBmvB,EAAgBr4B,OAAOC,OAAO,GAAI9J,EAAO,CAAEkI,MAAO6K,QCItI,MAAMovB,GAAwB3B,kDCRrC,MACMxmB,EAAc,CAAC,QAAS,QAEf,SAASwC,EAASxc,GAC7B,GAAIA,GAASA,EAAMkI,MAAO,CAEtB,GAAI,uBAAwBlI,EAAMkI,MAC9B,OAAOlI,EAAMkI,MAAMuU,mBAGlB,GAAI,SAAUzc,EAAMkI,OAAS8R,EAAYnI,SAAS7R,EAAMkI,MAAMD,MAC/D,OAAOjI,EAAMkI,MAIrB,MAAO,CAAED,KAfc,wECcZ,SAASyU,EAAOC,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflC5c,IACJ,MAAMkI,GAAQ,OAASlI,GACvB,GAAIA,GAASA,EAAM6c,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAS9c,EAAM6c,IAC7B,GAAIE,GAASA,EAAM7U,EAAMD,MAAO,CAC5B,MAAMrH,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,GAGnB,MAAO,IAXf,IAAwBic,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQ3c,IAEJ,MAAMkI,GAAQ,OAASlI,GAEvB,GAAIkI,EAAMD,QAAQ8U,EAAO,CACrB,MAAMnc,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,EAEf,MAAO,oDC5Bf,MACMoZ,EAAc,CAAC,QAAS,QAEf,SAASwC,EAASxc,GAC7B,GAAIA,GAASA,EAAMkI,MAAO,CAEtB,GAAI,uBAAwBlI,EAAMkI,MAC9B,OAAOlI,EAAMkI,MAAMuU,mBAGlB,GAAI,SAAUzc,EAAMkI,OAAS8R,EAAYnI,SAAS7R,EAAMkI,MAAMD,MAC/D,OAAOjI,EAAMkI,MAIrB,MAAO,CAAED,KAfc,SCcZ,SAASyU,EAAOC,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflC5c,IACJ,MAAMkI,EAAQsU,EAASxc,GACvB,GAAIA,GAASA,EAAM6c,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAS9c,EAAM6c,IAC7B,GAAIE,GAASA,EAAM7U,EAAMD,MAAO,CAC5B,MAAMrH,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,GAGnB,MAAO,IAXf,IAAwBic,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQ3c,IAEJ,MAAMkI,EAAQsU,EAASxc,GAEvB,GAAIkI,EAAMD,QAAQ8U,EAAO,CACrB,MAAMnc,EAAQmc,EAAM7U,EAAMD,MAC1B,GAAIrH,EACA,OAAOA,EAEf,MAAO,IC7BR,MAIMiG,EAAO,UAQPL,EAAO,UAQP2N,EAAO,UAMPhO,EAAO,UACPG,EAAO,UAEPJ,EAAO,UAmBPuB,EAAK,UASLI,EAAM,UACN6N,EAAO,UACP9N,EAAO,UAEPxC,EAAO,UAIPsC,EAAO,UAyBPqP,EAAQ,UAGRhP,EAAQ,UAORoP,EAAO,UA0BMuF,EAAO,CAAE3X,MAAO0C,EAAIvC,KAxB1B,YAyBYwX,EAAO,CAAE3X,MAvGtB,UAuGkCG,KAtGlC,YAuGYwX,EAAO,CAAE3X,MA7ErB,UA6EiCG,KA9BhC,YA+BawX,EAAO,CAAE3X,MAAO0C,EAAIvC,KAAMiS,IACvCuF,EAAO,CAAE3X,MA/DT,UA+DsBG,KAAM6R,IACvB2F,EAAO,CAAE3X,MAAO2C,EAAMxC,KAAM6R,IAC3B2F,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAMgB,IAC5BwW,EAAO,CAAE3X,MAAO6C,EAAM1C,KAAM6C,IACvB2U,EAAO,CAAE3X,MAAO2Q,EAAMxQ,KAxChC,YAyCEwX,EAAO,CAAE3X,MAAO2C,EAAMxC,KAAM6R,IACtB2F,EAAO,CAAE3X,MAAO6C,EAAM1C,KAAM6C,IAChC2U,EAAO,CAAE3X,MAvFf,UAuF2BG,KAAMiS,IAChCuF,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAMiB,IACvBuW,EAAO,CAAE3X,MA/Gd,UA+G2BG,KAAMoB,IAC3BoW,EAAO,CAAE3X,MA9Gf,UA8G4BG,KAAMiB,IAC3BuW,EAAO,CAAE3X,MAAOoB,EAAMjB,KAAMoB,IAChCoW,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAMiB,IAC/BuW,EAAO,CAAE3X,MAAOmB,EAAMhB,KAAMiB,IAC5BuW,EAAO,CAAE3X,MApGT,UAoGsBG,KArGtB,YAsGEwX,EAAO,CAAE3X,MA7GX,UA6GwBG,KA/GxB,YAgHDwX,EAAO,CAAE3X,MAAO8B,EAAM3B,KAAM2B,IACzB6V,EAAO,CAAE3X,MAAOyB,EAAMtB,KAAMsB,IAC7BkW,EAAO,CAAE3X,MAAOoP,EAAMjP,KAAMiP,yCCxI1C,MAAMiuB,EAAQC,EAAAA,QAAAA,KAAwB;;;yBAGpBr9B;;;iBAGR,EAAGtC,gBAAiBA;;WAE1B,EAAGW,aAAYi/B,mBACtBj/B,EAAci/B,GAAgCt9B,EAAeA;yBACxC,EAAG3B,aAAYk/B,uBACpCl/B,EAAck/B,GAAwC,QAAW;ECD/D,SAAUC,EAAO/xB,OAAA,SACrBnH,EADqB,UAErBm5B,EAFqB,IAGrBz+B,EAHqB,SAIrBqqB,GAAQ5d,EACLzQ,2UAAK,GALa,2CAOrB,MAAM0iC,EAAuB,UAAbp5B,EAChB,OACEq5B,EAAAA,cAACha,EAAS9e,OAAAA,OAAAA,CACRsmB,KAAK,SAAQ,eACCuS,EAAO,aACTD,EACZpU,SAAUA,GACNruB,GAEJ2iC,EAAAA,cAACC,EAAK,KACJD,EAAAA,cAACE,EAAK,CAACH,QAASA,MAMxB,MAAM/Z,EAAY0Z,EAAAA,QAAAA,MAAa;aArCV;YAAA,aAuCer9B;mBACjB89B;;;;;;;;oBAQC99B;;EAId49B,EAAQP,EAAAA,QAAAA,GAAU;;WAnDV;YAFG;mBAyDES;sBACG99B;YAzDD,aA0DeA;EAO9B69B,EAAQR,EAAAA,QAAAA,GAAsB;iBACnB,EAAGK,aAAeA,EAAUK,GAAmB;WAnE/C;YAAA;mBADF;sBAwEO/9B;;EC9ET2jB,EAAY0Z,EAAAA,QAAAA,GAAU;;;ECoB7BW,EAAe,KAAM,CACzBt+B,MAAOM,EACPu9B,kBAAmB,QACnB7/B,WAAY,MAGRw+B,ECnBC,SAAqBtlB,GACxB,MAAMC,EAAe,CAACC,EAAW9b,IAAU8b,EAAU9b,GAM/C+b,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEK,SAxBT,SAAkBjc,GACd,MAAM,SAAEW,KAAa4H,GAAevI,EAK9B+S,IAJQ,IAAAmJ,YAAWH,IACAF,GAGFtT,GAGvB,OAAO,gBAAoB,WAAgB,KAAM5H,EAASoS,KAe3CoJ,SANnB,SAAkBnc,GACd,MAAMoc,GAAU,IAAAF,YAAWH,GACrBM,EAAUrc,EAAMY,OAASib,EACzBS,GAAU,IAAAC,cAAahU,GAAe8T,EAAQD,EAAS7T,IAAa,CAAC6T,EAASC,IACpF,OAAQ,gBAAoBN,EAAaI,SAAU,CAAEvb,MAAO0b,GAAWtc,EAAMW,YDbvE2H,CAAqC06B,GAoB7C,SAAUC,GAGd,KACA15B,EADA,MAEA8tB,EAFA,UAGAoL,EAHA,sBAIAS,EAAwB,OAJxB,SAKAC,EALA,MAMAj7B,EAAQ86B,IAER,MAAMtT,GAAK0T,EAAAA,EAAAA,UAAQ,KAAMC,EAAAA,EAAAA,UAAS,mBAAmB,KAC9CC,EAAgBC,IAAqBC,EAAAA,EAAAA,UAASN,GAC/CO,EAAkC,SAAnBH,EAA4B/5B,EAAO8tB,EAClDqM,GAAYC,EAAAA,EAAAA,QAA0B,MAE5C,SAASC,EAAqBC,GAG5B,GAFCH,EAAsDz/B,QAAQkD,QAE3D08B,IAA2BP,IAC7BC,EAAkBM,GACdV,GACF,OAAQU,GACN,IAAK,OAEH,YADAV,EAAS55B,EAAK3I,OAEhB,IAAK,QAEH,YADAuiC,EAAS9L,EAAMz2B,QAOzB,SAASkjC,EACPx6B,GAEA,OAAQ/I,IACNqjC,EAAqBt6B,GACrB/I,EAAMsL,kBAIV,OACE82B,EAAAA,cAACzB,EAAM/kB,SAAQ,CAACvb,MAAOsH,GACrBy6B,EAAAA,cAACzB,EAAMjlB,SAAQ,MACXlJ,IAKA,MAAM,MAAErO,EAAF,kBAAS69B,EAAT,WAA4B7/B,GAAeqQ,EACjD,OACE4vB,EAAAA,cAACha,EAAS,CACRob,UAAYxjC,IACV,OAAQA,EAAMyjC,SACZ,KExGQ,GFyGNJ,EAAqB,QACrB,MACF,KE1GS,GF2GPA,EAAqB,YAK3BjB,EAAAA,cAACP,EAAK,CACJ6B,QAASvU,EACTrsB,WAA+B,SAAnBigC,EACZhB,cAAe59B,EACf69B,kBAAmBA,EACnB7/B,WAAYA,EACZ6K,QAASu2B,EAAoC,SAE5Cv6B,EAAKymB,OAGR2S,EAAAA,cAACH,EAAM,CACL9S,GAAIA,EACJrB,SAAUqV,EACVjB,UAAWA,EACXn5B,SAAUg6B,EACV1iC,MAAO6iC,EAAa7iC,MAAMolB,WAC1BzY,QAAS,KACP,OAAQ+1B,GACN,IAAK,OACH,OAAOM,EAAqB,SAC9B,IAAK,QACH,OAAOA,EAAqB,YAIpCjB,EAAAA,cAACP,EAAK,CACJ6B,QAASvU,EACTrsB,WAA+B,UAAnBigC,EACZhB,cAAe59B,EACf69B,kBAAmBA,EACnB7/B,WAAYA,EACZ6K,QAASu2B,EAAoC,UAE5CzM,EAAMrH,4KG/InBvwB,EAAe,CACfE,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU4O,GAE5C,SAASC,EAAiBvO,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAuBxC,OAtBAsO,EAAME,gBAAkB,WAAc,MAAO,CACzC/O,4BAA6B6O,EAAMG,sBAEvCH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMxO,MAAM4O,KACnBjP,EAA8B6O,EAAMlO,QAAQX,4BAC5CkP,EAAuD,mBAAhClP,GACvBA,KACA,GACJ,OAAO,IAAAmP,UAASD,EAAc,CAACD,KAEnCJ,EAAMrO,0BAA4B,WAC9B,IAAIT,EAAoC8O,EAAMlO,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,IAGR8O,EAAMhN,MAAQ,CACV7B,4BAA6B6O,EAAMG,oBACnCjP,kCAAmC8O,EAAMrO,2BAEtCqO,EAQX,OAjCA,IAAAO,WAAUR,EAAkBD,GA2B5BC,EAAiBS,UAAUtO,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAKsB,OAAS,EAAAyN,SAAA,KAActO,KAErG4N,EAAiBW,aAAezP,EAChC8O,EAAiBY,kBAAoB1P,EAC9B8O,EAlC0B,CAmCnC,EAAAzO,4KCmBA,EAAAA,UAIF,SAFY,IAAA2uB,GAAY,EAAAyV,GC5DxB,IAAI,EAAe,CACfvkC,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU4O,GAE5C,SAASC,EAAiBvO,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAuBxC,OAtBAsO,EAAME,gBAAkB,WAAc,MAAO,CACzC/O,4BAA6B6O,EAAMG,sBAEvCH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMxO,MAAM4O,KACnBjP,EAA8B6O,EAAMlO,QAAQX,4BAC5CkP,EAAuD,mBAAhClP,GACvBA,KACA,GACJ,OAAO,IAAAmP,UAASD,EAAc,CAACD,KAEnCJ,EAAMrO,0BAA4B,WAC9B,IAAIT,EAAoC8O,EAAMlO,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,IAGR8O,EAAMhN,MAAQ,CACV7B,4BAA6B6O,EAAMG,oBACnCjP,kCAAmC8O,EAAMrO,2BAEtCqO,EAQX,OAjCA,IAAAO,WAAUR,EAAkBD,GA2B5BC,EAAiBS,UAAUtO,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAKsB,OAAS,EAAAyN,SAAA,KAActO,KAErG4N,EAAiBW,aAAe,EAChCX,EAAiBY,kBAAoB,EAC9BZ,EAlC0B,CAmCnC,EAAAzO,WCzCF,IAAI+P,EAAkC,SAAUvB,GAE5C,SAASuB,EAAiB7P,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KA6BxC,OA5BAsO,EAAMa,MAAQ,WACV,OAAIb,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAEvP,SARhB,IAAAwO,UAASN,EAAMlO,SAQmB2P,UAPjC,IAAAnB,UAASN,EAAMyB,UAOsCX,QADtDC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDd,EAAM0B,KAAO,SAAU9P,GACfoO,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASlM,SAAQ,SAAUoM,GAAW,OAAOA,EAAQ3B,EAAOpO,MAClEoO,EAAMsB,UAAW,IAErBtB,EAAMlO,QAAUN,EAAMM,SAAW,GACjCkO,EAAMyB,SAAWjQ,EAAMiQ,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,EAUX,OAzCA,IAAAO,WAAUc,EAAkBvB,GAiC5BuB,EAAiBb,UAAUU,OAAS,SAAUC,GAC1C,OAAIzP,KAAK4P,UAELC,QAAQC,KAAK,iDACN9P,MAEJoO,EAAOU,UAAUU,OAAOjB,KAAKvO,KAAMyP,IAEvCE,EA1C0B,CCDD,WAChC,SAAST,EAAepP,GACpB,IAAIwO,EAAQtO,KACZA,KAAKmP,MAAQ,WAKT,OAAO,IAAID,EAAe,CAAEE,QADdC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDpP,KAAKoP,QAAUtP,EAAMsP,QAWzB,OATAF,EAAeJ,UAAUU,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPzP,KAAKoP,QAAUK,EAAQzP,KAAKoP,UAET,iBAAZK,IACPzP,KAAKoP,SAAU,IAAAM,WAAS,IAAAA,UAAS,GAAI1P,KAAKoP,SAAUK,IAEjDzP,MAEJkP,EArBwB,ID6CnC,UEyCA,EA9E8C,SAAUd,GAEpD,SAASwC,EAAyB9Q,GAC9B,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAyDxC,OApDAsO,EAAMuC,mBAAqB,GAC3BvC,EAAMwC,kBAAoB,GAE1BxC,EAAMyC,wBAA0B,SAAUjR,GACtC,IAAIkR,EAAuBrH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBvN,QAAO,SAAUwN,GAAK,OAAO7C,EAAMuC,mBAAmBM,KAAOrR,EAAMqR,MAOtI,OANIH,EAAqBzM,OAAS,IAC9B+J,EAAMwC,mBAAoB,IAAApB,WAAS,IAAAA,UAAS,GAAIpB,EAAMwC,mBAAoBxC,EAAM8C,uBAAuBJ,EAAsBlR,IAC7HkR,EAAqBnN,SAAQ,SAAUsN,GACnC7C,EAAMuC,mBAAmBM,GAAKrR,EAAMqR,OAGrC7C,EAAMwC,mBAEjBxC,EAAM8C,uBAAyB,SAAUC,EAAkBvR,GACvD,OAAOuR,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIjB,EACAkB,EAAenD,EAAMxO,MAAMoR,eAAeM,GAC1CE,EAAmB5R,EAAM0R,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,IAAA/B,WAAS,IAAAA,UAAS,GAAI6B,KAAYhB,EAAK,IAAOiB,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKlH,UAAUpG,OAAQsN,IACpCD,EAAKC,GAAMlH,UAAUkH,GAEzB,IAAIC,EAAyC,mBAAjBL,EACtBA,EAAanD,EAAMtB,qBAAsBlN,GACzCwO,EAAMtB,qBAAqByE,GAC7BC,GACAA,EAAiBK,WAAM,GAAQ,IAAAnD,UAASgD,EAAM,CAACE,MAGoCvB,IAdhFgB,IAeZ,KAEPjD,EAAMtB,qBAAuB,SAAUoC,GACnC,IAAImB,EAAKjC,EAAMlO,QAASZ,EAAoC+Q,EAAG/Q,kCAAmCC,EAA8B8Q,EAAG9Q,4BACnI,OAAO,IAAI,EAAiB,CACxBW,QAAiD,mBAAhCX,GACbA,KACA,GACJsQ,SAAwD,mBAAtCvQ,GACdA,KACA,GACJ4P,QAASA,KAGjBzF,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBrN,SAAQ,SAAUsN,GACtD7C,EAAMuC,mBAAmBM,GAAKrR,EAAMkS,sBAAsBb,MAE9D7C,EAAMwC,kBAAoBxC,EAAM8C,uBAAuBzH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAiBpR,EAAMkS,uBAC/F1D,EAgBX,OA3EA,IAAAO,WAAU+B,EAA0BxC,GA6DpCwC,EAAyB9B,UAAUtO,OAAS,WACxC,IAAIsQ,EAAoB9Q,KAAK+Q,wBAAwB/Q,KAAKF,MAAMkS,uBAChE,OAAOhS,KAAKF,MAAMW,SAAS,CACvBuM,qBAAsBhN,KAAKgN,qBAC3B8D,kBAAmBA,KAG3BF,EAAyB5B,aAAe,CACpCxP,kCAAmC,SACnCC,4BAA6B,UAEjCmR,EAAyBpD,aAAe,CACpC0D,eAAgB,IAEbN,EA5EkC,CA6E3C,yEClFSqzB,GAAyB,cAAa,GAC7Cx2B,GAAkD,WCLV,SAAU2B,GAAW,OAAO,SAAUpC,GAC9E,IAAIkD,EAAgBlD,EAAqBoC,GACrCe,EAAcD,EAAcf,QAIhC,OAHIgB,GACAA,EAAYH,KDCkC,YCC3CE,KDAX,SEHqCE,EFGD,CAClCtC,cAAe,SACfC,YAAa,KACbC,eAAgB,MENyC,SAAUqC,GACjE,IAAIC,EAAuB,cAAiB,SAAUxQ,EAAOgE,GACzD,IAAIyM,EAAKzQ,EAAM0Q,iBAAkBA,OAA0B,IAAPD,EAAgB,GAAKA,EAAI9G,GAAO,IAAAgH,QAAO3Q,EAAO,CAAC,qBAC/F4Q,GAAgB,IAAAhB,WAAS,IAAAA,UAAS,GAAIU,GAAcI,GACxD,OAAQ,gBAAoB,EAAkB,CAAE9B,KAAMgC,GAClD,gBAAoBL,GAAkB,IAAAX,UAAS,GAAIjG,EAAM,CAAE3F,IAAKA,SAKxE,OAFAwM,EAAqB1C,YAAc,yBAA2ByC,EAAiBzC,aAC3EyC,EAAiBM,MAAQ,IACtBL,KCVyBY,EHOb,CACrB+xB,SAAUx1B,EAA6B,CACrCS,OAAQ,UACRC,cAAe,SACftB,WAAY,CACViB,cAAe,SACfC,YAAa,KACbC,eAAgB,SGduC,SAAUqC,GACnE,IAAI4B,EAAsB,cAAiB,SAAUnS,EAAOgE,GAAO,OAAQ,gBAAoB,EAA0B,CAAEoN,eAAgBA,EAAgBc,sBAAuBlS,IAAS,SAAUyQ,GACjM,IAAIvD,EAAuBuD,EAAGvD,qBAAsB8D,EAAoBP,EAAGO,kBAC3E,OAAQ,gBAAoBT,GAAkB,IAAAX,UAAS,GAAI5P,EAAOgR,EAAmB,CAAE9D,qBAAsBA,EAAsBlJ,IAAKA,WAK5I,OAFAmO,EAAoBrE,YAAc,wBAA0ByC,EAAiBzC,aACzEyC,EAAiBM,MAAQ,IACtBsB,IHSRgyB,IGjBuB,IAAU/yB,EDACd,EEHzB8zB,GAAZ,SAAYA,GACVA,EAAAA,KAAAA,OACAA,EAAAA,SAAAA,WACAA,EAAAA,QAAAA,UACAA,EAAAA,WAAAA,aAJF,CAAYA,IAAAA,EAAW,+BCGhB,MAAMC,EAAkChC,EAAAA,QAAAA,GAAU;;;EAK5CiC,EAAe,CAC1BjY,QAAS,CAACphB,GAAeqhB,YAAWiY,gBAC3B,OAAP,wBACKt5B,GAAM,CACToQ,gBAAiBiR,GAAwBiY,EAAZ,UAAqCv9B,EAAAA,MAGtEsmB,OAAQ,CAACriB,GAAe5H,aAAYipB,eAC3B,OAAP,wBACKrhB,GAAM,CACToQ,gBAAiBhY,EAAa,UAAYipB,EAAY,UAAY,KAClE3jB,OAAQ,aCKR,SAAU67B,GAAc,SAC5BC,EAD4B,eAE5BC,EAAiBD,EAAS,GAFE,gBAG5BE,IAEA,OACEhC,EAAAA,cAAC0B,EAA+B,KAC9B1B,EAAAA,cAACiC,EAAM,CACLp4B,UAAU,gBACVq4B,gBAAgB,iBAChBC,QAASL,EACTM,aAAcL,EACdM,eAAgBC,EAChBC,eAAgB,EAAG/3B,UAAoBA,EACvCogB,YAAa0X,EAAkBP,GAC/BS,cAAc,EACdl6B,OAAQq5B,EACRnB,SAAUiC,EAAiCT,MAMnD,SAASM,GAAkB,KAAE93B,IAC3B,OAAQA,GACN,KAAKi3B,EAAYiB,KACf,OAAO1C,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK26B,EAAce,SAASC,OACtD,KAAKpB,EAAYqB,SACf,OAAO9C,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK26B,EAAce,SAASpS,WACtD,KAAKiR,EAAYsB,QACf,OAAO/C,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK26B,EAAce,SAASI,UACtD,KAAKvB,EAAYwB,WACf,OAAOjD,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK26B,EAAce,SAASM,cAI1D,SAAST,EACPT,GAEA,OAAIA,EACK,CAACmB,KAAsB9zB,IAC5B2yB,EACEmB,EACA9zB,EAAetC,OAAO,CACpBmB,KCjES,sCDkETk1B,cAAeD,EAAQE,mBAI7B,EAIJxB,EAAce,SAAW,CACvBC,KAAM,CACJ9V,GAAI,OACJuW,eAAgB,QAElB9S,SAAU,CACRzD,GAAI,WACJuW,eAAgB,YAElBN,QAAS,CACPjW,GAAI,UACJuW,eAAgB,WAElBJ,WAAY,CACVnW,GAAI,aACJuW,eAAgB,eE3FpB,ICCI,EAAkC,SAAU33B,GAE5C,SAASuB,EAAiB7P,GACtB,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KA6BxC,OA5BAsO,EAAMa,MAAQ,WACV,OAAIb,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAEvP,SARhB,IAAAwO,UAASN,EAAMlO,SAQmB2P,UAPjC,IAAAnB,UAASN,EAAMyB,UAOsCX,QADtDC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDd,EAAM0B,KAAO,SAAU9P,GACfoO,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASlM,SAAQ,SAAUoM,GAAW,OAAOA,EAAQ3B,EAAOpO,MAClEoO,EAAMsB,UAAW,IAErBtB,EAAMlO,QAAUN,EAAMM,SAAW,GACjCkO,EAAMyB,SAAWjQ,EAAMiQ,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,EAUX,OAzCA,IAAAO,WAAUc,EAAkBvB,GAiC5BuB,EAAiBb,UAAUU,OAAS,SAAUC,GAC1C,OAAIzP,KAAK4P,UAELC,QAAQC,KAAK,iDACN9P,MAEJoO,EAAOU,UAAUU,OAAOjB,KAAKvO,KAAMyP,IAEvCE,EA1C0B,CDDD,WAChC,SAAST,EAAepP,GACpB,IAAIwO,EAAQtO,KACZA,KAAKmP,MAAQ,WAKT,OAAO,IAAID,EAAe,CAAEE,QADdC,KAAKC,MAAMD,KAAKE,UAAUjB,EAAMc,aAGlDpP,KAAKoP,QAAUtP,EAAMsP,QAWzB,OATAF,EAAeJ,UAAUU,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPzP,KAAKoP,QAAUK,EAAQzP,KAAKoP,UAET,iBAAZK,IACPzP,KAAKoP,SAAU,IAAAM,WAAS,IAAAA,UAAS,GAAI1P,KAAKoP,SAAUK,IAEjDzP,MAEJkP,EArBwB,IC6CnC,UCyCA,QA9E8C,SAAUd,GAEpD,SAASwC,EAAyB9Q,GAC9B,IAAIwO,EAAQF,EAAOG,KAAKvO,KAAMF,IAAUE,KAyDxC,OApDAsO,EAAMuC,mBAAqB,GAC3BvC,EAAMwC,kBAAoB,GAE1BxC,EAAMyC,wBAA0B,SAAUjR,GACtC,IAAIkR,EAAuBrH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBvN,QAAO,SAAUwN,GAAK,OAAO7C,EAAMuC,mBAAmBM,KAAOrR,EAAMqR,MAOtI,OANIH,EAAqBzM,OAAS,IAC9B+J,EAAMwC,mBAAoB,IAAApB,WAAS,IAAAA,UAAS,GAAIpB,EAAMwC,mBAAoBxC,EAAM8C,uBAAuBJ,EAAsBlR,IAC7HkR,EAAqBnN,SAAQ,SAAUsN,GACnC7C,EAAMuC,mBAAmBM,GAAKrR,EAAMqR,OAGrC7C,EAAMwC,mBAEjBxC,EAAM8C,uBAAyB,SAAUC,EAAkBvR,GACvD,OAAOuR,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIjB,EACAkB,EAAenD,EAAMxO,MAAMoR,eAAeM,GAC1CE,EAAmB5R,EAAM0R,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,IAAA/B,WAAS,IAAAA,UAAS,GAAI6B,KAAYhB,EAAK,IAAOiB,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKlH,UAAUpG,OAAQsN,IACpCD,EAAKC,GAAMlH,UAAUkH,GAEzB,IAAIC,EAAyC,mBAAjBL,EACtBA,EAAanD,EAAMtB,qBAAsBlN,GACzCwO,EAAMtB,qBAAqByE,GAC7BC,GACAA,EAAiBK,WAAM,GAAQ,IAAAnD,UAASgD,EAAM,CAACE,MAGoCvB,IAdhFgB,IAeZ,KAEPjD,EAAMtB,qBAAuB,SAAUoC,GACnC,IAAImB,EAAKjC,EAAMlO,QAASZ,EAAoC+Q,EAAG/Q,kCAAmCC,EAA8B8Q,EAAG9Q,4BACnI,OAAO,IAAI,EAAiB,CACxBW,QAAiD,mBAAhCX,GACbA,KACA,GACJsQ,SAAwD,mBAAtCvQ,GACdA,KACA,GACJ4P,QAASA,KAGjBzF,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAgBrN,SAAQ,SAAUsN,GACtD7C,EAAMuC,mBAAmBM,GAAKrR,EAAMkS,sBAAsBb,MAE9D7C,EAAMwC,kBAAoBxC,EAAM8C,uBAAuBzH,OAAOsH,KAAK3C,EAAMxO,MAAMoR,gBAAiBpR,EAAMkS,uBAC/F1D,EAgBX,OA3EA,IAAAO,WAAU+B,EAA0BxC,GA6DpCwC,EAAyB9B,UAAUtO,OAAS,WACxC,IAAIsQ,EAAoB9Q,KAAK+Q,wBAAwB/Q,KAAKF,MAAMkS,uBAChE,OAAOhS,KAAKF,MAAMW,SAAS,CACvBuM,qBAAsBhN,KAAKgN,qBAC3B8D,kBAAmBA,KAG3BF,EAAyB5B,aAAe,CACpCxP,kCAAmC,SACnCC,4BAA6B,UAEjCmR,EAAyBpD,aAAe,CACpC0D,eAAgB,IAEbN,EA5EkC,CA6E3C,aCzEF,EAV0B,SAAUM,GAAkB,OAAO,SAAUb,GACnE,IAAI4B,EAAsB,cAAiB,SAAUnS,EAAOgE,GAAO,OAAQ,gBAAoB,EAA0B,CAAEoN,eAAgBA,EAAgBc,sBAAuBlS,IAAS,SAAUyQ,GACjM,IAAIvD,EAAuBuD,EAAGvD,qBAAsB8D,EAAoBP,EAAGO,kBAC3E,OAAQ,gBAAoBT,GAAkB,IAAAX,UAAS,GAAI5P,EAAOgR,EAAmB,CAAE9D,qBAAsBA,EAAsBlJ,IAAKA,WAK5I,OAFAmO,EAAoBrE,YAAc,wBAA0ByC,EAAiBzC,aACzEyC,EAAiBM,MAAQ,IACtBsB,mBCyCX,QAAehE,GAAf,EAjCM,UAAuB,aAC3B+3B,EAD2B,eAE3BC,EAF2B,qBAG3Bj5B,IAEA,MAAMo2B,EACJ4C,IAAiBE,EAAAA,GAAAA,QAAwB,OAAS,QAWpD,OACEzD,EAAAA,cAACM,EAAAA,EAAM,CACL15B,KAAM,CACJymB,MAAO2S,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASc,qBACtCzlC,MAAOwlC,EAAAA,GAAAA,SAET/O,MAAO,CACLrH,MAAO2S,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASe,oBACtC1lC,MAAOwlC,EAAAA,GAAAA,QAETlD,sBAAuBI,EACvBH,SArBoBviC,IACtBulC,EAAevlC,GACXsM,GACqBA,EAAqB,CAC1C2D,KL1Be,yCK2Bf01B,UAAW3lC,IAEEsP,aCjCf,SAAUs2B,EAASC,GACvB,OAAOA,EAAW,GAGd,SAAUC,EAAQD,GACtB,OAAOA,EAAWA,EAAWhiC,OAAS,GCQlC,SAAUkiC,GAAS,MACvB/lC,EADuB,gBAEvBgmC,EAFuB,sBAGvBC,EAAwBC,EAA6BlmC,GAH9B,sBAIvBmmC,EAAwBF,EAJD,SAKvBlmC,IAEA,OACEgiC,EAAAA,cAACqE,EAAAA,GAAe,CACdpmC,MAAOA,EACP0kB,MAAM,WACN2hB,SAAUL,EACVC,sBAAuBA,EACvBE,sBAAuBA,GAEtBpmC,GAKP,SAASmmC,EAA6BlmC,GACpC,OAAIg4B,OAAOsO,UAAUtmC,GACZ,EAEA,iBClCJ,MAAMumC,EAA0B9E,EAAAA,QAAAA,GAAU;WACtCz6B,EAAAA;;;;;;;aAOEF,EAAAA;;;EAKA0/B,EAAe/E,EAAAA,QAAAA,IAAW;;;;EAM1BgF,EAA4BhF,EAAAA,QAAAA,GAAU;;;;EAMtCiF,EAAmBjF,EAAAA,QAAAA,IAAW;;;ECJ9BkF,GAAiB,EAC5BC,cACA1B,cAEA,MAAM,UAAE2B,EAAF,MAAaC,EAAb,gBAAoBd,EAApB,OAAqCe,EAArC,MAA6CC,GAAUJ,EACvDK,EAAgBnB,EAAKe,IACrB,KAAEK,GAASD,GACX,gBAAEE,EAAF,eAAmBC,EAAnB,eAAmCC,GAAmBH,EAEtDI,EACJvF,EAAAA,cAACyE,EAAY,KACXzE,EAAAA,cAACgE,EAAQ,CAAC/lC,MAAO8mC,EAAOd,gBAAiBA,KAI7C,OACEjE,EAAAA,cAACwE,EAAuB,KACtBxE,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,CAACuhB,QAAQ,MCnC1B,SACJuc,EACA7B,GAEA,GAAIA,IAAY1B,EAAYiB,KAC1B,OAAOkC,GAAehC,SAAS4C,mBAE/B,OAAQR,GACN,KAAKvB,EAAAA,GAAAA,QACH,OAAOmB,GAAehC,SAAS6C,sBACjC,KAAKhC,EAAAA,GAAAA,OACH,OAAOmB,GAAehC,SAAS8C,qBAIrC,MAAM,IAAIzjC,MAAM,6DDoBuBoU,CAAQ2uB,EAAQ7B,KAClDA,IAAY1B,EAAYiB,KACvB6C,EAEAvF,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,CACfuhB,QAAQ,OACHuc,IAAWvB,EAAAA,GAAAA,QACZmB,GAAehC,SAAS+C,oBACxBf,GAAehC,SAASgD,gCAAgC,CAC5DplB,OAAQ,CACNukB,MAAOQ,MAIbvF,EAAAA,cAAC0E,EAAyB,KACxB1E,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GChCnB,SACJ89B,EACA7B,EACAiC,GAEA,GAAIjC,IAAY1B,EAAYiB,KAC1B,OAAOkC,GAAehC,SAASiD,mCAE/B,OAAQb,GACN,KAAKvB,EAAAA,GAAAA,OACH,OAAOmB,GAAehC,SAASkD,iCACjC,KAAKrC,EAAAA,GAAAA,QACH,OAAQ2B,GACN,KAAKW,EAAAA,GAAAA,WACH,OAAOnB,GAAehC,SAASkD,iCACjC,KAAKC,EAAAA,GAAAA,kBACH,OAAOnB,GAAehC,SAASoD,mCAKzC,MAAM,IAAI/jC,MACR,uEDWUgkC,CAAiBjB,EAAQ7B,EAASiC,GAAgB,CACtD5kB,OAAQ,CACNukB,MACE/E,EAAAA,cAAC2E,EAAgB,KACf3E,EAAAA,cAACgE,EAAQ,CAAC/lC,MAAO8mC,EAAOd,gBAAiBA,KAG7CiC,aACElG,EAAAA,cAAC2E,EAAgB,KACf3E,EAAAA,cAACgE,EAAQ,CACP/lC,MAAO8mC,EAAQE,EACfhB,gBAAiBA,UAO7BjE,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,CACfuhB,QAAQ,OC1BV,SACJ2c,GAEA,OAAQA,GACN,KAAKW,EAAAA,GAAAA,WACH,OAAOnB,GAAehC,SAASuD,0BACjC,KAAKJ,EAAAA,GAAAA,kBACH,OAAOnB,GAAehC,SAASwD,2BACjC,KAAKL,EAAAA,GAAAA,SACH,MAAM,IAAI9jC,MAAM,yBDkBVokC,CAAiBjB,GAAgB,CACrC5kB,OAAQ,CAAEykB,QAAOI,iBAAgBC,uBAMzCV,GAAehC,SAAW,CACxB6C,sBAAuB,CACrB1Y,GAAI,wBACJuW,eAAgB,2BAElBkC,mBAAoB,CAClBzY,GAAI,qBACJuW,eAAgB,mBAElBqC,oBAAqB,CACnB5Y,GAAI,sBACJuW,eAAgB,iBAElBuC,mCAAoC,CAClC9Y,GAAI,qCACJuW,eAAgB,WAElBwC,iCAAkC,CAChC/Y,GAAI,mCACJuW,eAAgB,aAElB0C,kCAAmC,CACjCjZ,GAAI,oCACJuW,eAAgB,oCAElBoC,qBAAsB,CACpB3Y,GAAI,uBACJuW,eAAgB,0BAElBsC,gCAAiC,CAC/B7Y,GAAI,kCACJuW,eAAgB,kBAElB6C,0BAA2B,CACzBpZ,GAAI,4BACJuW,eACE,iEAEJ8C,2BAA4B,CAC1BrZ,GAAI,6BACJuW,eAAgB,8BE9EpB,SAAe93B,GAAf,EA5BM,UAAiC,cACrC86B,EADqC,kBAErCC,EAFqC,qBAGrCh8B,IAcA,OACEy1B,EAAAA,cAACv3B,GAAM,CAACmC,QAbY,KACpB27B,IACIh8B,GACqBA,EAAqB,CAC1C2D,KAAMo4B,EXrBQ,0CADA,4CW0BD/4B,SAMd+4B,EACCtG,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAAS4D,gBAE/BxG,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAAS6D,oBAQjCh+B,GAASi3B,EAAAA,QAAAA,MAAa;;;;;WAKjBn8B,EAAAA;;;;;;;;EClDEmjC,GAAe/zB,EAAAA,IAEfg0B,GAAQjH,EAAAA,QAAAA,EAAS;;WAEnB36B,EAAAA;;;;EAME6hC,GAAiBlH,EAAAA,QAAAA,CAAQ;WAC3Bz6B,EAAAA;;;ECVE4hC,GAAyBnH,EAAAA,QAAAA,GAAU;;;sBAG1BjtB,EAAAA;sBACAi0B;;;;WAIXzhC,EAAAA;EAGE6hC,GAAWpH,EAAAA,QAAAA,GAAU;;;;;;;EASrBqH,GAASrH,EAAAA,QAAAA,GAAU;sBACVr7B,EAAAA;;WAEXM,EAAAA;EAGEmG,GAAU40B,EAAAA,QAAAA,GAAU;;;;EAMpBsH,GAAqBtH,EAAAA,QAAAA,GAAU;;EAI/BuH,GAAYvH,EAAAA,QAAAA,IAAW;WACzB/6B,EAAAA;;ECvBL,SAAUuiC,IACdrC,aAAa,UAAEC,EAAF,gBAAab,KAE1B,OACEjE,EAAAA,cAACmH,EAAAA,SAAQ,KACNrC,EAAUpkB,KAAI,EAAGykB,OAAMF,QAAOmC,aAAaC,KAC1C,MAAM,eAAEhC,EAAF,eAAkBC,GAAmBH,EAC3C,OACEnF,EAAAA,cAACmH,EAAAA,SAAQ,CAACtoB,IAAKwoB,GACbrH,EAAAA,cAAC6G,GAAsB,KACrB7G,EAAAA,cAAC+G,GAAM,KACL/G,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GACXggC,GAAetE,SAAS0E,mBAAkB,CAC9C9mB,OAAQ,CAAE6kB,iBAAgBC,sBAG9BtF,EAAAA,cAACl1B,GAAO,KACNk1B,EAAAA,cAACgH,GAAkB,KACjBhH,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GACXggC,GAAetE,SAAS2E,mBAAkB,CAC9C/mB,OAAQ,CACN4mB,UACEpH,EAAAA,cAACiH,GAAS,KACRjH,EAAAA,cAACgE,EAAQ,CACP/lC,MAAOmpC,EACPnD,gBAAiBA,UAO7BjE,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GACXggC,GAAetE,SAAS4E,eAAc,CAC1ChnB,OAAQ,CAAEykB,cAKfoC,IAAUvC,EAAUhjC,OAAS,GAAKk+B,EAAAA,cAAC8G,GAAQ,eChDlD,SAAUW,IACdC,aAAcC,KAAoBD,KAElC,OACE1H,EAAAA,cAACha,GAAS,KACRga,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GACXugC,GAAO7E,SAASgF,qBAAoB,CACxCpnB,OAAQ,CAAEmnB,sBAEXD,EAAYhnB,KAAI,CAACmnB,EAAYR,IAC5BrH,EAAAA,cAACqE,EAAAA,GAAe,CAACxlB,IAAKwoB,EAAOppC,MAAO4pC,OD8C5CX,GAAetE,SAAW,CACxB0E,mBAAoB,CAClBva,GAAI,qBACJuW,eAAgB,8GAElBiE,mBAAoB,CAClBxa,GAAI,qBACJuW,eAAgB,sBAElBkE,eAAgB,CACdza,GAAI,iBACJuW,eACE,gECpDNmE,GAAO7E,SAAW,CAChBgF,qBAAsB,CACpB7a,GAAI,uBACJuW,eAAgB,4IAQpB,MAAMtd,GAAY0Z,EAAAA,QAAAA,GAAU;;;;;WAKjB7sB,EAAAA;ECjCL,SAAUi1B,IAAkB,MAChC7C,EADgC,YAEhCyC,EAFgC,WAGhCK,IAEA,OAAOA,EAoDH,SACJ9C,EACAyC,GAEA,MAAMM,EAAU,GAAKN,EAAY5lC,OAAS,GACpCmmC,EAAMpE,EAAM6D,GACZQ,EAAMnE,EAAK2D,GAEjB,OAAIzC,GAASgD,EACJ,EACEhD,GAASiD,EACX,EAEAR,EAAY74B,QAAO,CAAC4P,EAAQopB,EAAYR,KAC7C,GAAIQ,GAAc5C,EAChB,OAAOoC,EAAQW,EACV,CACL,MAAMG,EAAiBT,EAAYL,EAAQ,GAC3C,OACE5oB,EACC8H,KAAK2hB,IAAIjD,EAAQkD,EAAgB,IAC/BN,EAAaM,GACdH,KAGL,GA7EeI,CAAMnD,EAAOyC,GAqB5B,IAAKW,GCxBN,SAAUnI,IAAM,SAAEv5B,EAAF,OAAY2hC,EAAZ,YAAoBC,IACxC,MAAMjiC,EAAQ,EAAIgiC,EACZriC,EAAS,EAAIqiC,EACbE,EAAS,CAAEvnC,EAAGqF,EAAQ,EAAGmiC,EAAGxiC,EAAS,GAE3C,OACE+5B,EAAAA,cAACha,GAAS,CACR1f,MAAOA,EACPL,OAAQA,EACR0c,MAAO,CACL/b,KAAMD,EAAW6hC,EAAOvnC,EAAIsnC,IAG9BvI,EAAAA,cAAAA,SAAAA,CAAQpvB,GAAI43B,EAAOvnC,EAAG4P,GAAI23B,EAAOC,EAAGtnC,EAAGmnC,EAAQI,KAAMhlC,EAAAA,OACrDs8B,EAAAA,cAAAA,OAAAA,CACE2I,GAAIH,EAAOvnC,EACX2nC,GAAI,GAAM3iC,EACV4iC,GAAIL,EAAOvnC,EACX6nC,GAAI,GAAM7iC,EACV8iC,OAAQvlC,EAAAA,SDKhB,SAAY6kC,GACVA,EAAAA,EAAAA,EAAAA,GAAAA,IACAA,EAAAA,EAAAA,GAAAA,QAAAA,IACAA,EAAAA,EAAAA,EAAAA,UAAAA,IACAA,EAAAA,EAAAA,GAAAA,QAAAA,IACAA,EAAAA,EAAAA,EAAAA,SAAAA,IALF,CAAYA,KAAAA,GAAY,KCCxB,MAAMriB,GAAY0Z,EAAAA,QAAAA,GAAU;;;;ECftB,SAAUsJ,IAAc,KAC5B7D,EAD4B,YAE5BuC,EAF4B,WAG5BK,EAH4B,YAI5BkB,EAJ4B,YAK5BV,EAL4B,mBAM5BW,EAN4B,oBAO5BC,IAEA,MAAM9D,EAAiBF,EAAKE,gBAAkBxB,EAAM6D,GAC9CpC,EAAiBH,EAAKG,gBAAkBvB,EAAK2D,GAE7CiB,EAAKb,GAAkB,CAC3BJ,cACAK,aACA9C,MAAOI,IAEHwD,EACJf,GAAkB,CAChBJ,cACAK,aACA9C,MAAOK,EAAiB,KACpB6D,EAAsB,EAAI,GAElC,OAAID,EAEAlJ,EAAAA,cAAAA,OAAAA,CACE/+B,EAAG0nC,EACHF,EAAG,EACHniC,MAAOigB,KAAK2hB,IAAI,EAAGW,EAAKF,EAAKJ,GAC7BtiC,OAAQgjC,EACRP,KAAK,uBAGAS,EAEPnJ,EAAAA,cAAAA,OAAAA,CACE/+B,EAAG0nC,EAAKJ,EACRE,EAAG,EACHniC,MAAOigB,KAAK2hB,IAAI,EAAGW,EAAKF,EAAKJ,GAC7BtiC,OAAQgjC,EACRP,KAAK,uBAKP1I,EAAAA,cAAAA,OAAAA,CACE/+B,EAAG0nC,EAAKJ,EACRE,EAAG,EACHniC,MAAOigB,KAAK2hB,IAAI,EAAGW,EAAKF,GACxB1iC,OAAQgjC,EACRP,KAAK,uBC5DP,SAAUU,IAAY,YAC1Bb,EAD0B,gBAE1Bc,EAF0B,YAG1BJ,EAH0B,SAI1BtiC,EAJ0B,YAK1B2iC,IAEA,OACEtJ,EAAAA,cAAAA,OAAAA,KACEA,EAAAA,cAAAA,iBAAAA,CAAgBjT,GAAG,iBAAiB4b,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GAC3D9I,EAAAA,cAAAA,OAAAA,CACE9K,OAAQ,EACRvS,MAAO,CAAE4mB,UAAW,gBAAiBC,YAAa,KAEpDxJ,EAAAA,cAAAA,OAAAA,CACE9K,OAAQ,GACRvS,MAAO,CAAE4mB,UAAW,kBAAmBC,YAAa,MAGxDxJ,EAAAA,cAAAA,iBAAAA,CAAgBjT,GAAG,mBAAmB4b,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GAC7D9I,EAAAA,cAAAA,OAAAA,CACE9K,OAAQ,EACRvS,MAAO,CAAE4mB,UAAW,mBAAoBC,YAAa,KAEvDxJ,EAAAA,cAAAA,OAAAA,CACE9K,OAAQ,IACRvS,MAAO,CAAE4mB,UAAW,mBAAoBC,YAAa,MAGzDxJ,EAAAA,cAAAA,UAAAA,CACEjT,GAAG,gBACH9rB,EAAG,EACHwnC,EAAG,EACHniC,MAAO+iC,EACPpjC,OAAQgjC,EACRQ,aAAa,kBAEbzJ,EAAAA,cAAAA,OAAAA,CACE/+B,EAAG,EACHwnC,EAAG,EACHniC,MAAO+iC,EACPpjC,OAAQgjC,EACRP,KAAK,0BAGT1I,EAAAA,cAAAA,UAAAA,CACEjT,GAAG,kBACH9rB,EAAG,EACHwnC,EAAG,EACHniC,MAAO+iC,EACPpjC,OAAQgjC,EACRQ,aAAa,kBAEbzJ,EAAAA,cAAAA,OAAAA,CACE/+B,EAAG,EACHwnC,EAAG,EACHniC,MAAO+iC,EACPpjC,OAAQgjC,EACRP,KAAK,4BAGT1I,EAAAA,cAAAA,UAAAA,CACEjT,GAAG,eACH9rB,EAAG,EACHwnC,EAAG,EACHniC,MAAO+iC,EACPpjC,OAAQgjC,EACRQ,aAAa,kBAEbzJ,EAAAA,cAAAA,OAAAA,CACE/+B,EAAGsnC,EAAc5hC,EAAW2iC,EAAc,EAC1Cb,EAAG,EACHniC,MAAO+iC,EACPpjC,OAAQgjC,EACRP,KAAK,0BAEP1I,EAAAA,cAAAA,OAAAA,CACE/+B,EAAG,EACHwnC,EAAG,EACHniC,MAAOiiC,EAAc5hC,GAAY2iC,EAAc,GAC/CrjC,OAAQgjC,EACRP,KAAK,0BAOR,MAAM1iB,GAAY0Z,EAAAA,QAAAA,GAAU;;;EClF7B,SAAUO,IAAM,SACpBt5B,EADoB,YAEpB+iC,EAFoB,YAGpBnB,EAHoB,YAIpBe,EAJoB,WAKpBvB,EALoB,YAMpBL,IAEA,MACM2B,EAAkBtB,EAAa,EAAIQ,EACnCoB,EAAQD,EAAYxoC,OA4B5B,SACEwmC,GAEA,MAAO,EAAGrC,iBAAgBC,sBACtBD,GAAkBA,EAAiBtB,EAAK2D,OACxCpC,GAAkBA,EAAiBzB,EAAM6D,IAjCZkC,CAAgBlC,IACjD,OACE1H,EAAAA,cAACha,GAAS,KACRga,EAAAA,cAAAA,MAAAA,CAAK15B,MAAO+iC,EAAiBpjC,OALb,GAMd+5B,EAAAA,cAACoJ,GAAW,CACVziC,SAAUA,EACV2iC,YAAaA,EACbf,YAAaA,EACbU,YAVY,EAWZI,gBAAiBA,IAElBM,EAAMjpB,KAAI,CAACykB,EAAMkC,IAChBrH,EAAAA,cAACgJ,GAAa,CACZnqB,IAAKwoB,EACLlC,KAAMA,EACNuC,YAAaA,EACbK,WAAYA,EACZQ,YAAaA,EACbU,YApBU,EAqBVC,mBAA8B,IAAV7B,EACpB8B,oBAAqB9B,IAAUsC,EAAM7nC,OAAS,QCyE1D,SAAe0J,GAAf,EA9FM,UAAiB,GACrBuhB,EADqB,MAErBkY,EAFqB,YAGrByC,EAHqB,cAIrBmC,EAJqB,WAKrBC,EALqB,YAMrBJ,EANqB,qBAOrBn/B,IAEA,MAGMw9B,EAAa+B,EAAWxjC,MAAQ,GAChCyjC,EA6DR,UAAiC,YAC/BrC,EAD+B,cAE/BmC,EAF+B,WAG/BC,EAH+B,WAI/B/B,EAJ+B,YAK/BQ,IAEA,OAAO3uB,EAAAA,EAAAA,cACL,EAAGwf,QAASn4B,MACV,MAAM,KAAE2F,GAASkjC,EACXnB,EAAK/hC,EAAO2hC,EACZ5hC,EAAW4f,KAAK0hB,IAAI1hB,KAAK2hB,IAAIjnC,EAAI0nC,EAAI,GAAIZ,GAC/C8B,EACEtjB,KAAKC,ML3FP,UAAyB,SAC7B7f,EAD6B,WAE7BohC,EAF6B,YAG7BL,IAEA,OAmEI,SACJsC,EACAtC,GAEA,MAAMM,EAAU,GAAKN,EAAY5lC,OAAS,GACpCmmC,EAAMpE,EAAM6D,GACZQ,EAAMnE,EAAK2D,GAEjB,OAAIsC,GAAc,EACT/B,EACE+B,GAAc,EAChB9B,EAEAR,EAAY74B,QAAO,CAAC4P,EAAQopB,EAAYR,IAC/B,IAAVA,EACK5oB,EAEHurB,GAAc3C,EAAQW,EACjBH,EAGLppB,EACA8H,KAAK2hB,KAAK8B,GAAc3C,EAAQ,GAAKW,GAAWA,EAAS,IACtDH,EAAaH,EAAYL,EAAQ,KAIzCY,GA9FEgC,CAAatjC,EAAWohC,EAAYL,GKsF1BwC,CAAe,CAAEvjC,WAAU+gC,cAAaK,mBAGvD,CAACL,EAAamC,EAAeC,EAAY/B,EAAYQ,IA7ElC4B,CAAwB,CAC3Cb,YALkB,GAMlB5B,cACAmC,gBACAC,aACA/B,aACAQ,YAVkB,KAYd5hC,EAAWmhC,GAAkB,CACjC7C,QACAyC,cACAK,eAEI9+B,EChDF,SACJ6xB,GAEA,MAAM3xB,GAAYyQ,EAAAA,EAAAA,cAAY,KAC5BuX,SAASzI,oBAAoB,YAAaoS,GAC1C3J,SAASzI,oBAAoB,UAAWvf,KACvC,CAAC2xB,IAIJ,OAFAsP,EAAAA,EAAAA,YAAU,IAAMjhC,KAAa,CAAC2xB,KAEvBlhB,EAAAA,EAAAA,cACJhc,IACCk9B,EAAYl9B,GACZuzB,SAASxI,iBAAiB,YAAamS,GACvC3J,SAASxI,iBAAiB,UAAWxf,KAEvC,CAAC2xB,IDgCiBuP,CAAeN,GAUnC,OACE/J,EAAAA,cAACha,GAAS,CACR/f,OA5BW,GA6BX8mB,GAAIA,EACJS,KAAK,SAAQ,gBACEqW,EAAM6D,GAAY,gBAClBzC,EAAK,gBACLlB,EAAK2D,GACpB4C,SAAU,EACVrhC,YAAa,EAAGshC,iBAAkBthC,EAAYshC,GAC9ClhC,OAnBkB,KAChBkB,GACqBA,EAAqB,CAC1C2D,KrBtDU,sCqBuDVs8B,YAAavF,IAEA13B,SAefyyB,EAAAA,cAACC,GAAK,CACJyJ,YAAaA,EACbnB,YAzCc,GA0CdR,WAAYA,EACZphC,SAAUA,EACV2iC,YA5Cc,GA6Cd5B,YAAaA,IAEf1H,EAAAA,cAACE,GAAK,CACJoI,OAhDc,GAiDd3hC,SAAUA,EACV4hC,YAlDc,SA2FhBviB,GAAY0Z,EAAAA,QAAAA,GAA0B;;;YAGhC,EAAGz5B,YAAaA;;;;EE9GtB,SAAUwkC,IAAkB,MAChCxF,EADgC,YAEhCyE,EAFgC,GAGhC3c,EAfwB,oDAYQ,YAIhC2a,EAJgC,cAKhCgD,IAEA,MAAOZ,EAAYzoC,GCxBf,WAIJ,MAAMspC,GAAc3J,EAAAA,EAAAA,WACb8I,EAAYc,IAAiB/J,EAAAA,EAAAA,YAC9Bx/B,GAAMuY,EAAAA,EAAAA,cAAakZ,IACvB,MAAM+X,EAAW,KACX/X,GACF8X,EAAc9X,EAAQ9O,0BAI1B2mB,EAAYrpC,QAAUupC,EAElB/X,IACF+X,IACA/mB,OAAO6E,iBAAiB,SAAUkiB,MAEnC,IAWH,OATAT,EAAAA,EAAAA,YAAU,KACR,MAAM,QAAE9oC,GAAYqpC,EACpB,MAAO,KACDrpC,GACFwiB,OAAO4E,oBAAoB,SAAUpnB,MAGxC,IAEI,CAACwoC,EAAYzoC,GDNMypC,GAE1B,OACE9K,EAAAA,cAACha,GAAS,CAAC0F,SAAUrqB,GACnB2+B,EAAAA,cAACyH,GAAM,CAACC,YAAaA,IACpBoC,EACC9J,EAAAA,cAAC+K,GAAmB,CAClBhe,GAAIA,EACJ2a,YAAaA,EACbgC,YAAaA,EACbzE,MAAOA,EACP6E,WAAYA,EACZD,cAAea,IAEf,MAKVD,GAAkB7H,SAAQ17B,OAAAA,OAAAA,GACrBugC,GAAO7E,UAGZ,MAAM5c,GAAY0Z,EAAAA,QAAAA,GAAU;;;qDEzCtB,SAAUsL,IAAc,UAC5B9M,EACAzV,QAAStrB,EAAY,SAErB,MAAyB,iBAAd+gC,EAEP8B,EAAAA,cAAC7iC,EAAS,CACRmwB,wBAAyB,CAAEC,OAAQ0d,KAAa/M,MAI7C,KCHL,SAAUgN,GAA8Bp9B,OAAA,QAC5C2a,EAD4C,OAE5CjI,GAAM1S,EACHq9B,2UAAiB,GAHwB,sBAK5C,OACEnL,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,CACfuhB,QAASA,EACTjI,OAAQ4qB,GAAa5qB,IACjB2qB,IAEFE,GACOrL,EAAAA,cAACgL,GAAa,CAAC9M,UAAWmN,EAAM5iB,QAASA,MAMxD,SAAS2iB,GACP5qB,EAAwD,IAExD,OAAO8qB,EAAAA,GAAAA,WAAU9qB,GAASviB,GACH,iBAAVA,GACFstC,EAAAA,GAAAA,QAAOttC,GAEPA,ICpCP,SAAUutC,KACd,OAAOxL,EAAAA,cAACkL,GAA6BhkC,OAAAA,OAAAA,GAAK07B,GAAS6I,oBCU/C,SAAUC,IAAsB,MACpCC,EADoC,QAEpCxI,EAFoC,iBAGpCyI,EAHoC,eAIpCC,EAJoC,gBAKpC5H,EALoC,kCAMpC6H,EANoC,kCAOpCC,IAEA,OAAI5I,IAAY1B,EAAYiB,KAExB1C,EAAAA,cAACkL,GAA6BhkC,OAAAA,OAAAA,GAAK07B,GAASoJ,yBAG9C7I,IAAY1B,EAAYqB,UACxB6I,GAASG,EAGP9L,EAAAA,cAACgE,EAAQ,CAAC/lC,MAAO2tC,EAAkB3H,gBAAiBA,IAChDgI,GACAjM,EAAAA,cAACgE,EAAQ,CAAC/lC,MAAO4tC,EAAgB5H,gBAAiBA,IAC9CiI,GACAlM,EAAAA,cAACkL,GAA6BhkC,OAAAA,OAAAA,GACxB07B,GAASuJ,kCAAiC,CAC9C3rB,OAAQ,CACNyrB,4BACAC,kCAQLP,EAAQI,EAEf/L,EAAAA,cAACkL,GAA6BhkC,OAAAA,OAAAA,GACxB07B,GAASwJ,iCAKfpM,EAAAA,cAACgE,EAAQ,CACP/lC,MACEklC,IAAY1B,EAAYqB,SAAW+I,EAAiBD,EAEtD3H,gBAAiBA,IAEfiI,GACAlM,EAAAA,cAACkL,GAA6BhkC,OAAAA,OAAAA,GACxB07B,GAASyJ,mBAAkB,CAC/B7rB,OAAQ,CACN0rB,gCCnDR,SAAUI,IAAe,OAC7BtH,EAD6B,MAE7B2G,EAF6B,QAG7BxI,EAH6B,iBAI7ByI,EAJ6B,eAK7BC,EAL6B,gBAM7B5H,EAN6B,kCAO7B6H,EAP6B,kCAQ7BC,IAEA,OAAQ/G,GACN,KAAKvB,EAAAA,GAAAA,OACH,OAAOzD,EAAAA,cAACwL,GAAoB,MAC9B,KAAK/H,EAAAA,GAAAA,QACH,OACEzD,EAAAA,cAAC0L,GAAqB,CACpBC,MAAOA,EACPxI,QAASA,EACTyI,iBAAkBA,EAClBC,eAAgBA,EAChB5H,gBAAiBA,EACjB6H,kCAAmCA,EACnCC,kCAAmCA,4CCpCtC,MAAM/lB,GAAY0Z,EAAAA,QAAAA,GAAU;;;;;;EAQtBD,GAAQC,EAAAA,QAAAA,KAAY;WACtBx6B,EAAAA;;;;EAMEs1B,GAAmBkF,EAAAA,QAAAA,IAAW;;;;EAM9B6M,GAAiB7M,EAAAA,QAAAA,GAAU;;sBAElB36B,EAAAA;;;;;;;ECIhB,SAAUynC,IAAe,MAC7BvH,EAD6B,cAE7B4E,EAF6B,SAG7B4C,EAAW,EAHkB,SAI7BC,EAAW,IAJkB,YAK7B5S,IAEA,MAAO6S,EAAWC,IAAgB/L,EAAAA,EAAAA,UAASoE,EAAM5hB,YAyBjD,OAFA+mB,EAAAA,EAAAA,YAAU,IAAMwC,EAAa3H,EAAM5hB,aAAa,CAAC4hB,IAG/CjF,EAAAA,cAACha,GAAS,KACP8T,GACCkG,EAAAA,cAAC1I,GAAAA,EAAO,CACNmC,QAASuG,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASiK,cACxClmC,SAAS,QACTmD,UAAWyiC,IAEXvM,EAAAA,cAACxF,GAAgB,KACfwF,EAAAA,cAACpE,GAAAA,EAAkB,CACjBpzB,KAAK,QACL6kB,MAAM,IACNrE,aAAc,GAAG9jB,EAAAA,UAKzB86B,EAAAA,cAACP,GAAK,CAAC6B,QAAQ,6BACbtB,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASkK,gBAEjC9M,EAAAA,cAAC9O,GAAAA,EAAS,CACRhjB,KAAK,kBACL6e,GAAG,4BACH9uB,MAAO0uC,EACPnM,SAhDiD,EAAG/1B,aACxD,MAAMsiC,GCvCY9uC,EDuCK+uC,SAASviC,EAAOxM,MAAO,ICvCbgvC,EDuCkBR,ECvCHS,EDuCaR,ECtC3DzW,OAAOpS,MAAM5lB,GACRA,EAEAsoB,KAAK0hB,IAAI1hB,KAAK2hB,IAAIjqC,EAAOgvC,GAAQC,IAJtC,IAAgBjvC,EAAegvC,EAAeC,EDwC5CjX,OAAOpS,MAAMkpB,GACfH,EAAa,KAEbA,EAAaG,EAAS1pB,YACtBwmB,EAAckD,KA2CZ1jC,OAvCS,IAEbgG,KAEAA,EAAetC,OAAO,CACpBmB,K/BpDS,mC+BqDTi/B,aAAcR,IAEhBt9B,EAAe9B,OACfq/B,EAAa3H,EAAM5hB,gCEvDhB,MAAM+pB,GAAyB1N,EAAAA,QAAAA,GAAU;;;;;EAOnC2N,GAA6B3N,EAAAA,QAAAA,GAAU;;;ECK9C4N,GAAmC,CACvC/1B,WAAY,eACZxX,WAAY,IACZwG,OAAQ,aAAahD,EAAAA,OACrBpD,eAAgB,OAChB4wB,SAAU,QACVlxB,QAAS,SACTyG,MAAO,cACPoS,gBAAiB,sBAOb,SAAU60B,IAAqB,OACnCC,EAAS,iDAET,OACExN,EAAAA,cAACoN,GAAsB,KACrBpN,EAAAA,cAACqN,GAA0B,KACzBrN,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAAS6K,eAEjCzN,EAAAA,cAACv3B,GAAAA,EAAM,CACLka,MAAO2qB,GACPnuC,WAAW,UACXyL,QAAS,KAfM8iC,QAgBCF,EAftB1pB,OAAO6pB,SAASpkC,KAAOmkC,IAkBjB1N,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASgL,aCnCvC,MAAMC,GAAY,qBACLjL,IAAWkL,EAAAA,EAAAA,IAAe,OAAD,kEACjCjM,EAAce,UACdgC,GAAehC,UACfsE,GAAetE,UACf6H,GAAkB7H,UAAQ,CAC7BmL,QAAS,CACPhhB,GAAI,GAAG8gB,YACPvK,eAAgB,cAElB0K,gBAAiB,CACfjhB,GAAI,GAAG8gB,oBACPvK,eAAgB,oBAElBI,mBAAoB,CAClB3W,GAAI,GAAG8gB,uBACPvK,eAAgB,WAElBK,kBAAmB,CACjB5W,GAAI,GAAG8gB,sBACPvK,eAAgB,UAElBwJ,aAAc,CACZ/f,GAAI,GAAG8gB,iBACPvK,eAAgB,mBAElBuJ,YAAa,CACX9f,GAAI,GAAG8gB,gBACPvK,eACE,qEAEJ2K,aAAc,CACZlhB,GAAI,GAAG8gB,iBACPvK,eAAgB,uBAElBmD,cAAe,CACb1Z,GAAI,GAAG8gB,kBACPvK,eAAgB,oBAElBkD,cAAe,CACbzZ,GAAI,GAAG8gB,kBACPvK,eAAgB,oBAElB0I,uBAAwB,CACtBjf,GAAI,GAAG8gB,2BACPvK,eAAgB,kDAElB6I,kCAAmC,CACjCpf,GAAI,GAAG8gB,sCACPvK,eACE,qFAEJ+I,mBAAoB,CAClBtf,GAAI,GAAG8gB,uBACPvK,eACE,wFAEJ8I,+BAAgC,CAC9Brf,GAAI,GAAG8gB,mCACPvK,eAAgB,8DAElBmI,kBAAmB,CACjB1e,GAAI,GAAG8gB,sBACPvK,eACE,yIAEJmK,YAAa,CACX1gB,GAAI,GAAG8gB,gBACPvK,eAAgB,6DAElBsK,SAAU,CACR7gB,GAAI,GAAG8gB,aACPvK,eAAgB,iBC3EP4K,GAAOxO,EAAAA,QAAAA,GAAU;;;;;;;;sBAQRgH;;EAITyH,GAAkBzO,EAAAA,QAAAA,GAAU;;;;6BAIZgH;sBACPj0B,EAAAA;EAGT27B,GAAa1O,EAAAA,QAAAA,GAAU;;;;;EAOvB2O,GAAc3O,EAAAA,QAAAA,GAAU;;;;EAMxB4O,GAA6B5O,EAAAA,QAAAA,GAAU;;;;;EAOvC6O,GAA0C7O,EAAAA,QAAAA,GAAU;;;;;EAOpD8O,GAAmB9O,EAAAA,QAAAA,GAAU;;;;EAM7B+O,GAAwB/O,EAAAA,QAAAA,GAAU;;;;;EAOlCgP,GAAkChP,EAAAA,QAAAA,GAAU;;EAI5CiP,GAA0BjP,EAAAA,QAAAA,GAAU;;;;;;EAQpCkP,GAA0BlP,EAAAA,QAAAA,GAAU;;;;sBAI3B/sB,EAAAA;WACX1N,EAAAA;;;;EAME4pC,IAASnP,EAAAA,EAAAA,SAAOoH,GAAS;;ECvBhC,SAAUgI,IAAyB,SACvChN,EADuC,MAEvCmD,EAFuC,OAGvCD,EAHuC,eAIvC+J,EAJuC,YAKvClK,EALuC,mBAMvCmK,EANuC,YAOvCtH,EAPuC,cAQvCmC,EARuC,gBASvC7H,EATuC,eAUvCwB,EAVuC,4BAWvCyL,EAXuC,QAYvC9L,EAZuC,oBAavC+L,EAbuC,iBAcvCC,EAduC,iBAevCC,EAfuC,0BAgBvCC,GAA4B,EAhBW,OAiBvC7B,EAjBuC,kCAkBvC1B,EAlBuC,kCAmBvCC,EAnBuC,qBAoBvCuD,IAEA,MAAM,YAAE5F,EAAF,UAAe5E,EAAf,gBAA0Bb,GAAoBY,EAC9C0K,EAA2BzK,EAAUhjC,OAAS,GAE7C8pC,EAAkBC,IAAkBpL,EAAAA,EAAAA,UACzC,IACEiJ,EAAYhpB,KAAK8uB,IACf,MAAMC,EAAWD,EAAUE,OAAO9nB,MAC/B+nB,GAAUA,EAAMrL,WAAaL,IAGhC,OAAOwL,EAAWA,EAASrI,UAAY,MAE3C,CAACvC,IAGH,OACE7E,EAAAA,cAACkO,GAAI,KACFpM,EAAShgC,OAAS,EACjBk+B,EAAAA,cAACmO,GAAe,KACdnO,EAAAA,cAACoO,GAAU,KACTpO,EAAAA,cAAC2G,GAAK,KACJ3G,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASoL,mBAEjChO,EAAAA,cAAC6B,EAAa,CACZC,SAAUA,EACVC,eAAgBoB,EAChBnB,gBAAiBA,KAEjBqN,GACArP,EAAAA,cAACwM,GAAc,CACbvH,MAAOA,EACP4E,cAAeA,EACf6C,SAAUyC,EACVrV,YAAaoV,KAInBlP,EAAAA,cAACqO,GAAW,CAAC1rB,MAAO,CAAEpb,SAAU,YAC5B8nC,GACArP,EAAAA,cAACsO,GAA0B,KACzBtO,EAAAA,cAAC4G,GAAc,CAACr9B,KAAMwlC,GACpB/O,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASqL,gBAEjCjO,EAAAA,cAACyK,GAAiB,CAChBf,YAAaA,EACbzE,MAAOA,EACPyC,YAAaA,EACbgD,cAAeb,OAOzB7J,EAAAA,cAACmO,GAAe,KACdnO,EAAAA,cAACoO,GAAU,KACTpO,EAAAA,cAAC2G,GAAK,KACJ3G,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASoL,mBAEjChO,EAAAA,cAACwM,GAAc,CACbvH,MAAOA,EACP4E,cAAeA,EACf/P,YAAaoV,EACbxC,SAAUyC,KAGdnP,EAAAA,cAACqO,GAAW,CAAC1rB,MAAO,CAAEpb,SAAU,WAC9By4B,EAAAA,cAACuO,GAAuC,KACtCvO,EAAAA,cAACyK,GAAiB,CAChBf,YAAaA,EACbzE,MAAOA,EACPyC,YAAaA,EACbgD,cAAeb,OAMvBwF,EAoDArP,EAAAA,cAACuN,GAAoB,CAACC,OAAQA,IAnD9BxN,EAAAA,cAACwO,GAAgB,KACfxO,EAAAA,cAACoO,GAAU,KACTpO,EAAAA,cAAC4E,GAAc,CAACzB,QAASA,EAAQ34B,KAAMq6B,YAAaA,KAEtD7E,EAAAA,cAACqO,GAAW,KACVrO,EAAAA,cAACyO,GAAqB,MAClBW,GACApP,EAAAA,cAAC4P,EAAyB,CACxBrM,aAAcyB,EACdxB,eAAgBA,IAGnB+L,GACCvP,EAAAA,cAAC0O,GAA+B,KAC9B1O,EAAAA,cAAC6P,GAAmC,CAClCvJ,cAAe0I,EACfzI,kBAAmB0I,MAK3BjP,EAAAA,cAAAA,MAAAA,KACGgP,GAAsBO,EACrBvP,EAAAA,cAAC2O,GAAuB,KACtB3O,EAAAA,cAAC6O,GAAM,UACP7O,EAAAA,cAACkH,GAAc,CAACrC,YAAaA,MAG9ByK,GACCtP,EAAAA,cAAC4O,GAAuB,KACtB5O,EAAAA,cAACsM,GAAc,CACbtH,OAAQA,EACR7B,QAASA,EAAQ34B,KACjBmhC,MAAO1G,EACP2G,iBAAkBA,EAClBC,eAAgBA,EAChB5H,gBAAiBA,EACjB6H,kCACEA,EAEFC,kCACEA,SC5MjB,MAAMmC,GAAOxO,EAAAA,QAAAA,GAAU;;;;;;;;sBAQRgH;EAGTyH,GAAkBzO,EAAAA,QAAAA,GAAU;;;;6BAIZgH;sBACPj0B,EAAAA;EAGT+7B,GAAmB9O,EAAAA,QAAAA,GAAU;;;;;EAO7B+O,GAAwB/O,EAAAA,QAAAA,GAAU;;EAIlC4O,GAA6B5O,EAAAA,QAAAA,GAAU;;;;EAMvCoQ,GAA4BpQ,EAAAA,QAAAA,GAAU;;;;;EAOtCgP,GAAkChP,EAAAA,QAAAA,GAAU;;ECUnD,SAAUqQ,IAAwB,YACtClL,EADsC,SAEtC/C,EAFsC,OAGtCkD,EAHsC,YAItC0C,EAJsC,gBAKtC1F,EALsC,eAMtC+M,EANsC,MAOtC9J,EAPsC,mBAQtC+J,EARsC,cAStCnF,EATsC,eAUtCrG,EAVsC,4BAWtCyL,EAXsC,oBAYtCC,EAZsC,iBAatCC,EAbsC,iBActCC,EAdsC,QAetCjM,EAfsC,0BAgBtCkM,GAA4B,EAhBU,OAiBtC7B,IAEA,MAAM,YAAE9D,EAAF,UAAe5E,GAAcD,EAC7B0K,EAA2BzK,EAAUhjC,OAAS,EAEpD,OAAIggC,EAAShgC,OAAS,EAElBk+B,EAAAA,cAACkO,GAAI,KACHlO,EAAAA,cAACmO,GAAe,KACdnO,EAAAA,cAAC2G,GAAK,KACJ3G,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASoL,mBAEjChO,EAAAA,cAAC6B,EAAa,CACZC,SAAUA,EACVC,eAAgBoB,EAChBnB,gBAAiBA,KAEjBqN,GACArP,EAAAA,cAAAA,EAAAA,SAAAA,KACEA,EAAAA,cAAC4G,GAAc,CAACr9B,KAAMwlC,GACpB/O,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASqL,gBAEjCjO,EAAAA,cAACwM,GAAc,CACbvH,MAAOA,EACP4E,cAAeA,EACf/P,YAAaoV,EACbxC,SAAUyC,IAEZnP,EAAAA,cAACsO,GAA0B,KACzBtO,EAAAA,cAACyK,GAAiB,CAChBf,YAAaA,EACbzE,MAAOA,EACPyC,YAAaA,EACbgD,cAAeb,KAGnB7J,EAAAA,cAACyO,GAAqB,MAClBW,GACApP,EAAAA,cAAC4P,EAAyB,CACxBrM,aAAcyB,EACdxB,eAAgBA,OAO1B6L,EAqBArP,EAAAA,cAACuN,GAAoB,CAACC,OAAQA,IApB9BxN,EAAAA,cAACwO,GAAgB,KACfxO,EAAAA,cAAC4E,GAAc,CAACzB,QAASA,EAAQ34B,KAAMq6B,YAAaA,IACnD0K,GACCvP,EAAAA,cAAC8P,GAAyB,KACvBd,GACChP,EAAAA,cAACmH,EAAAA,SAAQ,KACPnH,EAAAA,cAAC8G,GAAQ,UACT9G,EAAAA,cAACkH,GAAc,CAACrC,YAAaA,KAGjC7E,EAAAA,cAAC0O,GAA+B,KAC9B1O,EAAAA,cAAC6P,GAAmC,CAClCvJ,cAAe0I,EACfzI,kBAAmB0I,QAajCjP,EAAAA,cAACkO,GAAI,KACHlO,EAAAA,cAACmO,GAAe,KACdnO,EAAAA,cAAC2G,GAAK,KACJ3G,EAAAA,cAAC2C,EAAAA,GAAgBz7B,OAAAA,OAAAA,GAAK07B,GAASoL,mBAEjChO,EAAAA,cAACwM,GAAc,CACbvH,MAAOA,EACP4E,cAAeA,EACf/P,YAAaoV,EACbxC,SAAUyC,IAEZnP,EAAAA,cAACyK,GAAiB,CAChBf,YAAaA,EACbzE,MAAOA,EACPyC,YAAaA,EACbgD,cAAeb,IAEjB7J,EAAAA,cAACyO,GAAqB,MAClBW,GACApP,EAAAA,cAAC4P,EAAyB,CACxBrM,aAAcyB,EACdxB,eAAgBA,MAKxBxD,EAAAA,cAACwO,GAAgB,KACfxO,EAAAA,cAAC4E,GAAc,CAACzB,QAASA,EAAQ34B,KAAMq6B,YAAaA,IACnD0K,GACCvP,EAAAA,cAAC8P,GAAyB,KACvBd,GACChP,EAAAA,cAACmH,EAAAA,SAAQ,KACPnH,EAAAA,cAAC8G,GAAQ,UACT9G,EAAAA,cAACkH,GAAc,CAACrC,YAAaA,KAGjC7E,EAAAA,cAAC0O,GAA+B,KAC9B1O,EAAAA,cAACyO,GAAqB,MAClBW,GACApP,EAAAA,cAAC4P,EAAyB,CACxBrM,aAAcyB,EACdxB,eAAgBA,SC/K/B,MAAMwM,GAAsB,CAAC,EAAG,IAAK,IAAK,IAAM,KAyCjD,SAAUC,IAAkB,SAChCnO,EADgC,mBAEhCoO,EAFgC,OAGhCC,EAAS,SAHuB,OAIhC3C,EAJgC,eAKhCuB,EALgC,YAMhCrH,EAAcsI,GANkB,cAOhCI,EAAgB3M,EAAAA,GAAAA,QAPgB,aAQhC4M,EAAe,GARiB,2BAShCC,GAA6B,EATG,KAUhCC,EAVgC,gBAWhCtM,EAXgC,oBAYhCiL,GAAsB,EAZU,iBAahCC,EAbgC,kCAchCrD,EAdgC,kCAehCC,EAfgC,qBAgBhCuD,GAAuB,IAEvB,MAAMkB,EACJ1O,EAASla,MAAM9e,GAAMA,EAAE0B,OAAS0lC,KAAuBpO,EAAS,IAC3DqB,EAASsN,IAAc5P,EAAAA,EAAAA,UAAS2P,IAChCnB,EAA2BqB,IAChC7P,EAAAA,EAAAA,WAAS,IACJmE,EAAQ2L,IAAa9P,EAAAA,EAAAA,UAASuP,IAC9BnL,EAAO2L,IAAY/P,EAAAA,EAAAA,UAASwP,IAC5BrB,EAAoB6B,IAAyBhQ,EAAAA,EAAAA,UAClDyP,GAGItO,EAA4D,CAChE8O,EACAzhC,KAEIyhC,EAAgBpE,UAAYzH,EAAQ6L,EAAgBpE,UACtDkE,EAASE,EAAgBpE,UAEvBoE,EAAgBtmC,OAASi3B,EAAYiB,MACvCiO,EAAUlN,EAAAA,GAAAA,SAGZiN,GAA6B,GACzBI,EAAgBtmC,OAASi3B,EAAYwB,aACvC6N,EAAkB,CAChBtmC,KAAMi3B,EAAYsB,QAClBM,WAAY,kCAEdqN,GAA6B,IAG/BD,EAAWK,GACJzhC,GAAkBA,EAAe9B,QAEpC0hC,EAA8B,IAClC4B,GAAuB7B,GACnBnK,GAAckM,EAAAA,EAAAA,IAClB5N,EAAQE,WACR4B,EACAD,EACAf,GAvEE,SAAiCsM,GACrC,OAAIA,GAEK,OADCA,EAAKS,OAAOC,cAET,MAKJC,EAAAA,GA8DYC,CAAuBZ,IAG5C,GAAI1L,EAAYuM,UACd,OAAO,KACF,CACL,MAAM1E,EAAWvJ,EAAQuJ,UAAYyC,EAC/BkC,EAAiBlO,EAAQuE,aAAeA,EACxC0H,EAAmBjM,EAAQiM,iBAE3BkC,EACJnC,GAAoBhM,EAAQ34B,OAASi3B,EAAYiB,KAC7C2O,EACGE,MAAM,EAAGF,EAAevvC,OAAS,GACjCygB,OAAO4sB,GACVkC,EAEAh0C,EAAQ,CACZykC,WACAsO,gBACArB,iBACA/M,kBACAiD,QACAyC,YAAa4J,EACbnC,iBAAkBzC,EAClB7C,cAAe+G,EACfpN,eAAgBmN,EAChB9L,YAAaA,EAAY5mC,MACzB+mC,SACAgK,qBACAC,8BACA9L,UACA+L,sBACAE,mBACAtD,oCACAC,oCACAsD,4BACA7B,SACA8B,wBAGF,MACO,YADCa,EAGFnQ,EAAAA,cAACp0B,EAAgB,CACfK,KAAM,CAAEo3B,WAAYF,EAAQE,WAAY2B,SAAQmL,WAEhDnQ,EAAAA,cAAC8O,GAAwB5nC,OAAAA,OAAAA,GAAK7J,KAKhC2iC,EAAAA,cAACp0B,EAAgB,CACfK,KAAM,CAAEo3B,WAAYF,EAAQE,WAAY2B,SAAQmL,WAEhDnQ,EAAAA,cAAC+P,GAAuB7oC,OAAAA,OAAAA,GAAK7J,MAOzC4yC,GAAkBrN,SAAWA,IAEd4O,EAAAA,EAAAA,IAAWvB,4CCtKpBwB,GAAgB,SAACC,GACrB,IAAM3b,EACJ2b,EAAS/kC,SAAW+kC,EAAS/kC,QAAQuB,KACjCwjC,EAAS/kC,QAAQuB,KACjB,iCACAyjC,EAAezqC,OAAOC,OAAOuqC,EAAS/zC,QAAQ,GAAI+zC,EAAS/kC,cACvCvE,IAAtBupC,EAAazjC,aACRyjC,EAAazjC,KAGtB,IACE0jC,GAAAA,EAAAA,WAAoB7b,EAAW4b,GAC/B,MAAO7oC,GACPsE,QAAQykC,IAAI9b,EAAW,4CAwG3B,SApGmC,SAAC,GAe9B,IACA+b,EAfJhQ,EAcI,EAdJA,SACAoO,EAaI,EAbJA,mBACAnB,EAYI,EAZJA,eACAqB,EAWI,EAXJA,cACAC,EAUI,EAVJA,aACAC,EASI,EATJA,2BACAyB,EAQI,EARJA,OACiBC,EAOb,EAPJ/N,gBACAnK,EAMI,EANJA,YACAqV,EAKI,EALJA,iBACArD,EAII,EAJJA,kCACAC,EAGI,EAHJA,kCACAuD,EAEI,EAFJA,qBACA9B,EACI,EADJA,OAIEsE,EADEG,mCAEAD,GAAwBA,EAAqBlwC,OACzCkwC,EACA,KAEeE,GAAAA,EAAAA,GAGvB,IAAM5N,GAAW6N,EAAAA,GAAAA,GAAeL,GACxBM,GAAiBC,EAAAA,GAAAA,KAAjBD,aAER,OAAK9N,EAAS8M,UAmEL,KAjEL,2BACE,gBAAC,IAAD,CAAYrgB,SAAUuhB,KACpB,gBAAC,cAAD,CAAqCr0C,MAAOm0C,GAC1C,gBAACl1C,EAAA,EAAD,CAAmBQ,QAAS+zC,IAC1B,gBAAC,KAAD,CACET,OAAQ7f,SAASohB,gBAAgBC,KACjC5P,SAAUmP,GAEV,gBAAC9B,GAAD,CACEnO,SAAUA,EACVoO,mBAAoBA,EACpBC,OAAQ,UACRpB,eAAgBA,EAChBqB,cAAeA,EACfC,aAAcrD,SAASqD,GACvBC,6BAA8BA,EAC9BrM,gBAAiBK,EAASrmC,MAC1BixC,oBAAqBpV,EACrBqV,iBAAkBA,EAClBrD,kCACEA,EAEFC,kCACEA,EAEFuD,qBAAsBA,EACtB9B,OAAQA,QAMlB,gBAAC,IAAD,CAAYxtC,SAjFQ,KAkFlB,gBAAC,cAAD,CAAqC/B,MAAOm0C,GAC1C,gBAACl1C,EAAA,EAAD,CAAmBQ,QAAS+zC,IAC1B,gBAAC,KAAD,CACET,OAAQ7f,SAASohB,gBAAgBC,KACjC5P,SAAUmP,GAEV,gBAAC9B,GAAD,CACEnO,SAAUA,EACVoO,mBAAoBA,EACpBC,OAAQ,SACRpB,eAAgBA,EAChBqB,cAAeA,EACfC,aAAcrD,SAASqD,GACvBC,2BAA4BA,EAC5BrM,gBAAiBK,EAASrmC,MAC1BkxC,iBAAkBA,EAClBrD,kCACEA,EAEFC,kCACEA,EAEFuD,qBAAsBA,EACtB9B,OAAQA,2FChHpBiF,EAAmB,oBAEZP,EAAqB,CAChCQ,GAAI,MACJC,GAAI,OAGS,SAASR,EAAeL,GACrC,OAAOc,EAAAA,EAAAA,KAAS,WACd,GAAId,EAAoB,OAAOe,QAAQC,QAAQhB,GAE/C,IAAMiB,EAAgBC,eAAeC,QAAQR,GAQ7C,OAPsBM,EAClBF,QAAQC,QAAQC,GAChBG,MAAM,GAAD,OAAIC,EAAAA,EAAAA,uBAAJ,uBACJC,MAAK,SAAAC,GAAQ,OAAIA,EAASC,UAC1BF,MAAK,SAAAE,GAAI,OAAIA,EAAKC,gBAfJ,QAaf,OAGO,iBAhBQ,SAkBEH,MAAK,SAAApC,GAExB,OADAgC,eAAeQ,QAAQf,EAAkBzB,GAClCkB,EAAmBlB,IAAWkB,EAAkB,QAExD,yFCtBCuB,EAAuB,IAAIC,EAAAA,GAAqB,CACpDC,MAAOC,mCACPC,YAAaC,yCACbC,YAAaC,4CAGTC,EAA0B,IAAIC,EAAAA,GAAwB,CAC1DP,MAAOC,mCACPC,YAAaM,6CACbJ,YAAaK,gDAGThC,EAAe,IAAIiC,EAAAA,GAAoB,CAAEZ,qBAAAA,EAAqBQ,wBAAAA,IAEvDK,GAAgBj7B,EAAAA,EAAAA,eAAc,CACzCo6B,qBAAAA,EACArB,aAAAA,IAGK,SAASC,IACd,OAAO94B,EAAAA,EAAAA,YAAW+6B,kCCtBpBroB,EAAQ4B,YAAa,EAErB,IAAIH,EAAS,EAAQ,OAMjB6mB,GAJU5mB,EAAuBD,GAInBC,EAFD,EAAQ,SAMrB6mB,EAAQ7mB,EAFD,EAAQ,QAQnB,SAASA,EAAuBlN,GAAO,OAAOA,GAAOA,EAAIoN,WAAapN,EAAM,CAAE9d,QAAS8d,GAEvF,SAASg0B,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAA2BC,EAAMhpC,GAAQ,IAAKgpC,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOjpC,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BgpC,EAAPhpC,EAElO,SAASkpC,EAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIN,UAAU,kEAAoEM,GAAeD,EAAS5oC,UAAYnF,OAAOwX,OAAOw2B,GAAcA,EAAW7oC,UAAW,CAAEjP,YAAa,CAAEa,MAAOg3C,EAAUvzB,YAAY,EAAOyzB,UAAU,EAAMC,cAAc,KAAeF,IAAYhuC,OAAOmuC,eAAiBnuC,OAAOmuC,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GARjdvnB,EAFD,EAAQ,QAYvB,IAAI4nB,EAAwB,WAY5B,SAASC,EAAmBv3C,GAC1B,IAAIqP,EAAW,GACf,MAAO,CACLmoC,GAAI,SAAYjoC,GACdF,EAASuS,KAAKrS,IAEhBkoC,IAAK,SAAaloC,GAChBF,EAAWA,EAASpM,QAAO,SAAUy0C,GACnC,OAAOA,IAAMnoC,MAGjB+gB,IAAK,WACH,OAAOtwB,GAET23C,IAAK,SAAaC,EAAUC,GAC1B73C,EAAQ43C,EACRvoC,EAASlM,SAAQ,SAAUoM,GACzB,OAAOA,EAAQvP,EAAO63C,QAyI9B7pB,EAAA,QA/HA,SAA4BmW,EAAc2T,GACxC,IAAIC,EAAuBC,EAEvBC,EAAc,2BAA4B,EAAI1B,EAAM7xC,WAAa,KAEjE6W,EAAW,SAAUqJ,GAGvB,SAASrJ,IACP,IAAI8R,EAAOzf,EAEX4oC,EAAgBl3C,KAAMic,GAEtB,IAAK,IAAIiK,EAAOvb,UAAUpG,OAAQqN,EAAOuU,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3ExU,EAAKwU,GAAQzb,UAAUyb,GAGzB,OAAe2H,EAASzf,EAAQgpC,EAA2Bt3C,KAAMslB,EAAW/W,KAAKwD,MAAMuT,EAAY,CAACtlB,MAAMglB,OAAOpT,KAAiBtD,EAAMsqC,QAAUX,EAAmB3pC,EAAMxO,MAAMY,OAAgB42C,EAA2BhpC,EAAnCyf,GAoC3L,OA/CA0pB,EAAUx7B,EAAUqJ,GAcpBrJ,EAASnN,UAAUN,gBAAkB,WACnC,IAAIwP,EAEJ,OAAOA,EAAO,IAAS26B,GAAe34C,KAAK44C,QAAS56B,GAGtD/B,EAASnN,UAAU+pC,0BAA4B,SAAmCj3B,GAChF,GAAI5hB,KAAKF,MAAMY,QAAUkhB,EAAUlhB,MAAO,CACxC,IAAIo4C,EAAW94C,KAAKF,MAAMY,MACtB43C,EAAW12B,EAAUlhB,MACrB63C,OAAc,IAjER70C,EAmEGo1C,MAnEA5N,EAmEUoN,GAjEd,IAAN50C,GAAW,EAAIA,GAAM,EAAIwnC,EAEzBxnC,GAAMA,GAAKwnC,GAAMA,GAgElBqN,EAAc,GAEdA,EAA8C,mBAAzBC,EAAsCA,EAAqBM,EAAUR,GAAYN,EAOlF,IAFpBO,GAAe,IAGbv4C,KAAK44C,QAAQP,IAAIz2B,EAAUlhB,MAAO63C,IA9E9C,IAAkB70C,EAAGwnC,GAoFjBjvB,EAASnN,UAAUtO,OAAS,WAC1B,OAAOR,KAAKF,MAAMW,UAGbwb,EAhDM,CAiDbkU,EAAOvwB,WAETqc,EAAShN,oBAAqBwpC,EAAwB,IAA0BE,GAAe3B,EAAY5xC,QAAQye,OAAOiO,WAAY2mB,GAEtI,IAAI18B,EAAW,SAAUg9B,GAGvB,SAASh9B,IACP,IAAIi9B,EAAQj6B,EAEZm4B,EAAgBl3C,KAAM+b,GAEtB,IAAK,IAAIk9B,EAAQtuC,UAAUpG,OAAQqN,EAAOuU,MAAM8yB,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFtnC,EAAKsnC,GAASvuC,UAAUuuC,GAG1B,OAAgBF,EAAUj6B,EAASu4B,EAA2Bt3C,KAAM+4C,EAAYxqC,KAAKwD,MAAMgnC,EAAa,CAAC/4C,MAAMglB,OAAOpT,KAAkBmN,EAAOzd,MAAQ,CACrJZ,MAAOqe,EAAOo6B,YACbp6B,EAAOq6B,SAAW,SAAUd,EAAUC,GAEF,KADI,EAAtBx5B,EAAOs6B,cACNd,IAClBx5B,EAAOvT,SAAS,CAAE9K,MAAOqe,EAAOo6B,cAExB7B,EAA2Bv4B,EAApCi6B,GAsCL,OAxDAvB,EAAU17B,EAAUg9B,GAqBpBh9B,EAASjN,UAAU+pC,0BAA4B,SAAmCj3B,GAChF,IAAIy3B,EAAez3B,EAAUy3B,aAE7Br5C,KAAKq5C,aAAeA,QAAsDrB,EACxEqB,GAGJt9B,EAASjN,UAAU3C,kBAAoB,WACjCnM,KAAKI,QAAQu4C,IACf34C,KAAKI,QAAQu4C,GAAaT,GAAGl4C,KAAKo5C,UAEpC,IAAIC,EAAer5C,KAAKF,MAAMu5C,aAE9Br5C,KAAKq5C,aAAeA,QAAsDrB,EACxEqB,GAGJt9B,EAASjN,UAAUyP,qBAAuB,WACpCve,KAAKI,QAAQu4C,IACf34C,KAAKI,QAAQu4C,GAAaR,IAAIn4C,KAAKo5C,WAIvCr9B,EAASjN,UAAUqqC,SAAW,WAC5B,OAAIn5C,KAAKI,QAAQu4C,GACR34C,KAAKI,QAAQu4C,GAAa3nB,MAE1B6T,GAIX9oB,EAASjN,UAAUtO,OAAS,WAC1B,OApHaC,EAoHIT,KAAKF,MAAMW,SAnHzB0lB,MAAMoQ,QAAQ91B,GAAYA,EAAS,GAAKA,GAmHLT,KAAKsB,MAAMZ,OApHvD,IAAmBD,GAuHRsb,EAzDM,CA0DboU,EAAOvwB,WAKT,OAHAmc,EAAS/M,eAAgB0pC,EAAwB,IAA0BC,GAAe3B,EAAY5xC,QAAQye,OAAQ60B,GAG/G,CACLz8B,SAAUA,EACVF,SAAUA,IAKdu9B,EAAO5qB,QAAUA,EAAiB,sCCjMlCA,EAAQ4B,YAAa,EAErB,IAEIipB,EAAUnpB,EAFD,EAAQ,QAMjBopB,EAAmBppB,EAFD,EAAQ,QAI9B,SAASA,EAAuBlN,GAAO,OAAOA,GAAOA,EAAIoN,WAAapN,EAAM,CAAE9d,QAAS8d,GAEvFwL,EAAA,QAAkB6qB,EAAQn0C,QAAQ0W,eAAiB09B,EAAiBp0C,QACpEk0C,EAAO5qB,QAAUA,EAAiB,sCCblC,IAAI0B,EAAyB,EAAQ,OAErC1B,EAAQ4B,YAAa,EACrB5B,EAAA,QAIA,SAAkB6G,EAASjpB,GACrBipB,EAAQkkB,UAAWlkB,EAAQkkB,UAAU9Z,IAAIrzB,IAAqB,EAAIotC,EAAUt0C,SAASmwB,EAASjpB,KAA6C,iBAAtBipB,EAAQjpB,UAAwBipB,EAAQjpB,UAAYipB,EAAQjpB,UAAY,IAAMA,EAAeipB,EAAQyC,aAAa,SAAUzC,EAAQjpB,WAAaipB,EAAQjpB,UAAUqtC,SAAW,IAAM,IAAMrtC,KAHrT,IAAIotC,EAAYtpB,EAAuB,EAAQ,QAM/CkpB,EAAO5qB,QAAUA,EAAiB,oCCXlCA,EAAQ4B,YAAa,EACrB5B,EAAA,QAEA,SAAkB6G,EAASjpB,GACzB,OAAIipB,EAAQkkB,YAAoBntC,GAAaipB,EAAQkkB,UAAUG,SAASttC,IAA0H,KAAlG,KAAOipB,EAAQjpB,UAAUqtC,SAAWpkB,EAAQjpB,WAAa,KAAKxB,QAAQ,IAAMwB,EAAY,MAG1LgtC,EAAO5qB,QAAUA,EAAiB,gCCPlC,SAASmrB,EAAiBC,EAAWC,GACnC,OAAOD,EAAUrqB,QAAQ,IAAIuqB,OAAO,UAAYD,EAAgB,YAAa,KAAM,MAAMtqB,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,IAGtI6pB,EAAO5qB,QAAU,SAAqB6G,EAASjpB,GACzCipB,EAAQkkB,UAAWlkB,EAAQkkB,UAAUQ,OAAO3tC,GAAiD,iBAAtBipB,EAAQjpB,UAAwBipB,EAAQjpB,UAAYutC,EAAiBtkB,EAAQjpB,UAAWA,GAAgBipB,EAAQyC,aAAa,QAAS6hB,EAAiBtkB,EAAQjpB,WAAaipB,EAAQjpB,UAAUqtC,SAAW,GAAIrtC,sBCP1R,OAOC,WACA,aAEA,IAAImtB,IACe,oBAAXlT,SACPA,OAAOqN,WACPrN,OAAOqN,SAAS/D,eAGbqqB,EAAuB,CAE1BzgB,UAAWA,EAEX0gB,cAAiC,oBAAXC,OAEtBC,qBACC5gB,MAAgBlT,OAAO6E,mBAAoB7E,OAAO+zB,aAEnDC,eAAgB9gB,KAAelT,OAAOi0B,aAOrC,KAFD,aACC,OAAON,GACP,8BAzBH,sBCNiEZ,EAAO5qB,QAGhE,WAAe,aAgCrB,OA7BgB,SAAmBnD,EAAY5Y,GAC7C,IAAI8nC,EAAY/5B,YAAW,WACzB+5B,EAAY,KACZlvB,GAAW,KACV5Y,GAEC+nC,EAAa,WACXD,IACFE,aAAaF,GACbA,EAAY,OAIhB,MAAO,CACLz6B,OAAQ06B,EACRpe,MAAO,WACAme,IAILC,IACAnvB,GAAW,KAEb8Q,QAAS,WACP,OAAOJ,QAAQwe,MA9B2DG,iCCElF,IAAIt5B,EAAM,uBAEVg4B,EAAO5qB,QAAU,WACf,OAAO,EAAAmsB,EAAOv5B,IAAQ,EAAAu5B,EAAOv5B,IAAQ,GAAK,+DCN5C,IAAIw5B,EAAYpiB,OAAOpS,OACnB,SAAkB5lB,GACd,MAAwB,iBAAVA,GAAsBA,GAAUA,GAWtD,SAASq6C,EAAeC,EAAWC,GAC/B,GAAID,EAAUz2C,SAAW02C,EAAW12C,OAChC,OAAO,EAEX,IAAK,IAAI2d,EAAI,EAAGA,EAAI84B,EAAUz2C,OAAQ2d,IAClC,MAdSokB,EAcI0U,EAAU94B,OAdPg5B,EAcWD,EAAW/4B,KAVtC44B,EAAUxU,IAAUwU,EAAUI,IAW1B,OAAO,EAfnB,IAAiB5U,EAAO4U,EAkBpB,OAAO,EA0BX,QAvBA,SAAoBC,EAAUC,GAE1B,IAAIC,OADY,IAAZD,IAAsBA,EAAUL,GAEpC,IACIO,EADAC,EAAW,GAEXC,GAAa,EAejB,OAdA,WAEI,IADA,IAAIC,EAAU,GACL5pC,EAAK,EAAGA,EAAKlH,UAAUpG,OAAQsN,IACpC4pC,EAAQ5pC,GAAMlH,UAAUkH,GAE5B,OAAI2pC,GAAcH,IAAar7C,MAAQo7C,EAAQK,EAASF,KAGxDD,EAAaH,EAASppC,MAAM/R,KAAMy7C,GAClCD,GAAa,EACbH,EAAWr7C,KACXu7C,EAAWE,GALAH,oDCbnB,IAAII,EAA8B,oBAAXn1B,QAA8C,oBAAbqN,UAAiD,oBAAd+nB,UAEvFC,EAAkB,WAEpB,IADA,IAAIC,EAAwB,CAAC,OAAQ,UAAW,WACvC35B,EAAI,EAAGA,EAAI25B,EAAsBt3C,OAAQ2d,GAAK,EACrD,GAAIw5B,GAAaC,UAAUG,UAAUhxC,QAAQ+wC,EAAsB35B,KAAO,EACxE,OAAO,EAGX,OAAO,EAPa,GAgDlB65B,EAXqBL,GAAan1B,OAAO+uB,QA3B7C,SAA2B9gB,GACzB,IAAIwnB,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTz1B,OAAO+uB,QAAQC,UAAUM,MAAK,WAC5BmG,GAAS,EACTxnB,UAKN,SAAsBA,GACpB,IAAIynB,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZv7B,YAAW,WACTu7B,GAAY,EACZznB,MACConB,MAyBT,SAASM,EAAWC,GAElB,OAAOA,GAA8D,sBADvD,GACoBr2B,SAASvX,KAAK4tC,GAUlD,SAASC,EAAyB7mB,EAASztB,GACzC,GAAyB,IAArBytB,EAAQ8mB,SACV,MAAO,GAGT,IACIxyC,EADS0rB,EAAQ+mB,cAAcC,YAClBC,iBAAiBjnB,EAAS,MAC3C,OAAOztB,EAAW+B,EAAI/B,GAAY+B,EAUpC,SAAS4yC,EAAclnB,GACrB,MAAyB,SAArBA,EAAQmnB,SACHnnB,EAEFA,EAAQonB,YAAcpnB,EAAQqnB,KAUvC,SAASC,EAAgBtnB,GAEvB,IAAKA,EACH,OAAO3B,SAASsE,KAGlB,OAAQ3C,EAAQmnB,UACd,IAAK,OACL,IAAK,OACH,OAAOnnB,EAAQ+mB,cAAcpkB,KAC/B,IAAK,YACH,OAAO3C,EAAQ2C,KAKnB,IAAI4kB,EAAwBV,EAAyB7mB,GACjDvrB,EAAW8yC,EAAsB9yC,SACjC+yC,EAAYD,EAAsBC,UAClCC,EAAYF,EAAsBE,UAEtC,MAAI,wBAAwB74C,KAAK6F,EAAWgzC,EAAYD,GAC/CxnB,EAGFsnB,EAAgBJ,EAAclnB,IAUvC,SAAS0nB,EAAiBC,GACxB,OAAOA,GAAaA,EAAUlmB,cAAgBkmB,EAAUlmB,cAAgBkmB,EAG1E,IAAIC,EAASzB,MAAgBn1B,OAAO62B,uBAAwBxpB,SAASypB,cACjEC,EAAS5B,GAAa,UAAUv3C,KAAKw3C,UAAUG,WASnD,SAASyB,EAAKC,GACZ,OAAgB,KAAZA,EACKL,EAEO,KAAZK,EACKF,EAEFH,GAAUG,EAUnB,SAASG,EAAgBloB,GACvB,IAAKA,EACH,OAAO3B,SAASohB,gBAQlB,IALA,IAAI0I,EAAiBH,EAAK,IAAM3pB,SAASsE,KAAO,KAG5CylB,EAAepoB,EAAQooB,cAAgB,KAEpCA,IAAiBD,GAAkBnoB,EAAQqoB,oBAChDD,GAAgBpoB,EAAUA,EAAQqoB,oBAAoBD,aAGxD,IAAIjB,EAAWiB,GAAgBA,EAAajB,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAAS5xC,QAAQ6yC,EAAajB,WAA2E,WAAvDN,EAAyBuB,EAAc,YACjGF,EAAgBE,GAGlBA,EATEpoB,EAAUA,EAAQ+mB,cAActH,gBAAkBphB,SAASohB,gBA4BtE,SAAS6I,EAAQx9B,GACf,OAAwB,OAApBA,EAAKs8B,WACAkB,EAAQx9B,EAAKs8B,YAGft8B,EAWT,SAASy9B,EAAuBC,EAAUC,GAExC,KAAKD,GAAaA,EAAS1B,UAAa2B,GAAaA,EAAS3B,UAC5D,OAAOzoB,SAASohB,gBAIlB,IAAI9f,EAAQ6oB,EAASE,wBAAwBD,GAAYE,KAAKC,4BAC1DC,EAAQlpB,EAAQ6oB,EAAWC,EAC3BK,EAAMnpB,EAAQ8oB,EAAWD,EAGzBO,EAAQ1qB,SAAS2qB,cACrBD,EAAME,SAASJ,EAAO,GACtBE,EAAMG,OAAOJ,EAAK,GAClB,IA/CyB9oB,EACrBmnB,EA8CAgC,EAA0BJ,EAAMI,wBAIpC,GAAIX,IAAaW,GAA2BV,IAAaU,GAA2BN,EAAMxE,SAASyE,GACjG,MAjDe,UAFb3B,GADqBnnB,EAoDDmpB,GAnDDhC,WAKH,SAAbA,GAAuBe,EAAgBloB,EAAQopB,qBAAuBppB,EAkDpEkoB,EAAgBiB,GAHdA,EAOX,IAAIE,EAAef,EAAQE,GAC3B,OAAIa,EAAahC,KACRkB,EAAuBc,EAAahC,KAAMoB,GAE1CF,EAAuBC,EAAUF,EAAQG,GAAUpB,MAY9D,SAASiC,EAAUtpB,GACjB,IAAIgC,EAAO5sB,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,MAE3Em0C,EAAqB,QAATvnB,EAAiB,YAAc,aAC3CmlB,EAAWnnB,EAAQmnB,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAAqB,CAC9C,IAAI5O,EAAOvY,EAAQ+mB,cAActH,gBAC7B+J,EAAmBxpB,EAAQ+mB,cAAcyC,kBAAoBjR,EACjE,OAAOiR,EAAiBD,GAG1B,OAAOvpB,EAAQupB,GAYjB,SAASE,EAAcC,EAAM1pB,GAC3B,IAAIsK,EAAWl1B,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,IAAmBA,UAAU,GAE1Eu0C,EAAYL,EAAUtpB,EAAS,OAC/B4pB,EAAaN,EAAUtpB,EAAS,QAChC6pB,EAAWvf,GAAY,EAAI,EAK/B,OAJAof,EAAK31C,KAAO41C,EAAYE,EACxBH,EAAK7nB,QAAU8nB,EAAYE,EAC3BH,EAAK51C,MAAQ81C,EAAaC,EAC1BH,EAAK9nB,OAASgoB,EAAaC,EACpBH,EAaT,SAASI,EAAet0C,EAAQu0C,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,SAAVD,EAAmB,QAAU,SAEzC,OAAOE,WAAW10C,EAAO,SAAWw0C,EAAQ,UAAYE,WAAW10C,EAAO,SAAWy0C,EAAQ,UAG/F,SAASh3B,EAAQ82B,EAAMpnB,EAAM4V,EAAM4R,GACjC,OAAO12B,KAAK2hB,IAAIzS,EAAK,SAAWonB,GAAOpnB,EAAK,SAAWonB,GAAOxR,EAAK,SAAWwR,GAAOxR,EAAK,SAAWwR,GAAOxR,EAAK,SAAWwR,GAAO/B,EAAK,IAAM9N,SAAS3B,EAAK,SAAWwR,IAAS7P,SAASiQ,EAAc,UAAqB,WAATJ,EAAoB,MAAQ,UAAY7P,SAASiQ,EAAc,UAAqB,WAATJ,EAAoB,SAAW,WAAa,GAG5U,SAASK,EAAe/rB,GACtB,IAAIsE,EAAOtE,EAASsE,KAChB4V,EAAOla,EAASohB,gBAChB0K,EAAgBnC,EAAK,KAAOf,iBAAiB1O,GAEjD,MAAO,CACLplC,OAAQ8f,EAAQ,SAAU0P,EAAM4V,EAAM4R,GACtC32C,MAAOyf,EAAQ,QAAS0P,EAAM4V,EAAM4R,IAIxC,IAAIE,EAAiB,SAAUzI,EAAUC,GACvC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,sCAIpBwI,EAAc,WAChB,SAASt7B,EAAiBrX,EAAQpN,GAChC,IAAK,IAAIoiB,EAAI,EAAGA,EAAIpiB,EAAMyE,OAAQ2d,IAAK,CACrC,IAAI49B,EAAahgD,EAAMoiB,GACvB49B,EAAW37B,WAAa27B,EAAW37B,aAAc,EACjD27B,EAAWjI,cAAe,EACtB,UAAWiI,IAAYA,EAAWlI,UAAW,GACjDjuC,OAAO6a,eAAetX,EAAQ4yC,EAAWx+B,IAAKw+B,IAIlD,OAAO,SAAU1I,EAAa2I,EAAYC,GAGxC,OAFID,GAAYx7B,EAAiB6yB,EAAYtoC,UAAWixC,GACpDC,GAAaz7B,EAAiB6yB,EAAa4I,GACxC5I,GAdO,GAsBd5yB,EAAiB,SAAUtB,EAAK5B,EAAK5gB,GAYvC,OAXI4gB,KAAO4B,EACTvZ,OAAO6a,eAAetB,EAAK5B,EAAK,CAC9B5gB,MAAOA,EACPyjB,YAAY,EACZ0zB,cAAc,EACdD,UAAU,IAGZ10B,EAAI5B,GAAO5gB,EAGNwiB,GAGLqN,EAAW5mB,OAAOC,QAAU,SAAUsD,GACxC,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CACzC,IAAImC,EAAS1Z,UAAUuX,GAEvB,IAAK,IAAIZ,KAAO+C,EACV1a,OAAOmF,UAAU0hB,eAAejiB,KAAK8V,EAAQ/C,KAC/CpU,EAAOoU,GAAO+C,EAAO/C,IAK3B,OAAOpU,GAUT,SAAS+yC,EAAcvqB,GACrB,OAAOnF,EAAS,GAAImF,EAAS,CAC3ByB,MAAOzB,EAAQrsB,KAAOqsB,EAAQ3sB,MAC9BquB,OAAQ1B,EAAQpsB,IAAMosB,EAAQhtB,SAWlC,SAAS+d,EAAsB8O,GAC7B,IAAI0pB,EAAO,GAKX,IACE,GAAI1B,EAAK,IAAK,CACZ0B,EAAO1pB,EAAQ9O,wBACf,IAAIy4B,EAAYL,EAAUtpB,EAAS,OAC/B4pB,EAAaN,EAAUtpB,EAAS,QACpC0pB,EAAK31C,KAAO41C,EACZD,EAAK51C,MAAQ81C,EACbF,EAAK7nB,QAAU8nB,EACfD,EAAK9nB,OAASgoB,OAEdF,EAAO1pB,EAAQ9O,wBAEjB,MAAOlb,IAET,IAAI2V,EAAS,CACX7X,KAAM41C,EAAK51C,KACXC,IAAK21C,EAAK31C,IACVP,MAAOk2C,EAAK9nB,MAAQ8nB,EAAK51C,KACzBX,OAAQu2C,EAAK7nB,OAAS6nB,EAAK31C,KAIzB6lB,EAA6B,SAArBoG,EAAQmnB,SAAsBiD,EAAepqB,EAAQ+mB,eAAiB,GAC9EvzC,EAAQomB,EAAMpmB,OAASwsB,EAAQsF,aAAe3Z,EAAOnY,MACrDL,EAASymB,EAAMzmB,QAAU6sB,EAAQuF,cAAgB5Z,EAAOxY,OAExDw3C,EAAiB3qB,EAAQ4qB,YAAcp3C,EACvCq3C,EAAgB7qB,EAAQ8qB,aAAe33C,EAI3C,GAAIw3C,GAAkBE,EAAe,CACnC,IAAIr1C,EAASqxC,EAAyB7mB,GACtC2qB,GAAkBb,EAAet0C,EAAQ,KACzCq1C,GAAiBf,EAAet0C,EAAQ,KAExCmW,EAAOnY,OAASm3C,EAChBh/B,EAAOxY,QAAU03C,EAGnB,OAAOH,EAAc/+B,GAGvB,SAASo/B,EAAqC7/C,EAAU64B,GACtD,IAAIinB,EAAgB51C,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,IAAmBA,UAAU,GAE/E2yC,EAASC,EAAK,IACdiD,EAA6B,SAApBlnB,EAAOojB,SAChB+D,EAAeh6B,EAAsBhmB,GACrCigD,EAAaj6B,EAAsB6S,GACnCqnB,EAAe9D,EAAgBp8C,GAE/BsK,EAASqxC,EAAyB9iB,GAClCsnB,EAAiBnB,WAAW10C,EAAO61C,gBACnCC,EAAkBpB,WAAW10C,EAAO81C,iBAGpCN,GAAiBC,IACnBE,EAAWp3C,IAAM0f,KAAK2hB,IAAI+V,EAAWp3C,IAAK,GAC1Co3C,EAAWr3C,KAAO2f,KAAK2hB,IAAI+V,EAAWr3C,KAAM,IAE9C,IAAIqsB,EAAUuqB,EAAc,CAC1B32C,IAAKm3C,EAAan3C,IAAMo3C,EAAWp3C,IAAMs3C,EACzCv3C,KAAMo3C,EAAap3C,KAAOq3C,EAAWr3C,KAAOw3C,EAC5C93C,MAAO03C,EAAa13C,MACpBL,OAAQ+3C,EAAa/3C,SASvB,GAPAgtB,EAAQorB,UAAY,EACpBprB,EAAQqrB,WAAa,GAMhBzD,GAAUkD,EAAQ,CACrB,IAAIM,EAAYrB,WAAW10C,EAAO+1C,WAC9BC,EAAatB,WAAW10C,EAAOg2C,YAEnCrrB,EAAQpsB,KAAOs3C,EAAiBE,EAChCprB,EAAQ0B,QAAUwpB,EAAiBE,EACnCprB,EAAQrsB,MAAQw3C,EAAkBE,EAClCrrB,EAAQyB,OAAS0pB,EAAkBE,EAGnCrrB,EAAQorB,UAAYA,EACpBprB,EAAQqrB,WAAaA,EAOvB,OAJIzD,IAAWiD,EAAgBjnB,EAAOsgB,SAAS+G,GAAgBrnB,IAAWqnB,GAA0C,SAA1BA,EAAajE,YACrGhnB,EAAUspB,EAActpB,EAAS4D,IAG5B5D,EAGT,SAASsrB,EAA8CzrB,GACrD,IAAI0rB,EAAgBt2C,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,IAAmBA,UAAU,GAE/EmjC,EAAOvY,EAAQ+mB,cAActH,gBAC7BkM,EAAiBZ,EAAqC/qB,EAASuY,GAC/D/kC,EAAQigB,KAAK2hB,IAAImD,EAAKjT,YAAatU,OAAO46B,YAAc,GACxDz4C,EAASsgB,KAAK2hB,IAAImD,EAAKhT,aAAcvU,OAAO66B,aAAe,GAE3DlC,EAAa+B,EAAkC,EAAlBpC,EAAU/Q,GACvCqR,EAAc8B,EAA0C,EAA1BpC,EAAU/Q,EAAM,QAE9CnW,EAAS,CACXruB,IAAK41C,EAAYgC,EAAe53C,IAAM43C,EAAeJ,UACrDz3C,KAAM81C,EAAa+B,EAAe73C,KAAO63C,EAAeH,WACxDh4C,MAAOA,EACPL,OAAQA,GAGV,OAAOu3C,EAActoB,GAWvB,SAAS0pB,EAAQ9rB,GACf,IAAImnB,EAAWnnB,EAAQmnB,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDN,EAAyB7mB,EAAS,YACpC,OAAO,EAET,IAAIonB,EAAaF,EAAclnB,GAC/B,QAAKonB,GAGE0E,EAAQ1E,GAWjB,SAAS2E,EAA6B/rB,GAEpC,IAAKA,IAAYA,EAAQ6D,eAAiBmkB,IACxC,OAAO3pB,SAASohB,gBAGlB,IADA,IAAIuM,EAAKhsB,EAAQ6D,cACVmoB,GAAoD,SAA9CnF,EAAyBmF,EAAI,cACxCA,EAAKA,EAAGnoB,cAEV,OAAOmoB,GAAM3tB,SAASohB,gBAcxB,SAASwM,EAAc7rB,EAAQunB,EAAWt0C,EAAS8uB,GACjD,IAAI6oB,EAAgB51C,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,IAAmBA,UAAU,GAI/E82C,EAAa,CAAEn4C,IAAK,EAAGD,KAAM,GAC7Bs0C,EAAe4C,EAAgBe,EAA6B3rB,GAAUmoB,EAAuBnoB,EAAQsnB,EAAiBC,IAG1H,GAA0B,aAAtBxlB,EACF+pB,EAAaT,EAA8CrD,EAAc4C,OACpE,CAEL,IAAImB,OAAiB,EACK,iBAAtBhqB,EAE8B,UADhCgqB,EAAiB7E,EAAgBJ,EAAcS,KAC5BR,WACjBgF,EAAiB/rB,EAAO2mB,cAActH,iBAGxC0M,EAD+B,WAAtBhqB,EACQ/B,EAAO2mB,cAActH,gBAErBtd,EAGnB,IAAIhC,EAAU4qB,EAAqCoB,EAAgB/D,EAAc4C,GAGjF,GAAgC,SAA5BmB,EAAehF,UAAwB2E,EAAQ1D,GAWjD8D,EAAa/rB,MAXmD,CAChE,IAAIisB,EAAkBhC,EAAehqB,EAAO2mB,eACxC5zC,EAASi5C,EAAgBj5C,OACzBK,EAAQ44C,EAAgB54C,MAE5B04C,EAAWn4C,KAAOosB,EAAQpsB,IAAMosB,EAAQorB,UACxCW,EAAWrqB,OAAS1uB,EAASgtB,EAAQpsB,IACrCm4C,EAAWp4C,MAAQqsB,EAAQrsB,KAAOqsB,EAAQqrB,WAC1CU,EAAWtqB,MAAQpuB,EAAQ2sB,EAAQrsB,MASvC,IAAIu4C,EAAqC,iBADzCh5C,EAAUA,GAAW,GAOrB,OALA64C,EAAWp4C,MAAQu4C,EAAkBh5C,EAAUA,EAAQS,MAAQ,EAC/Do4C,EAAWn4C,KAAOs4C,EAAkBh5C,EAAUA,EAAQU,KAAO,EAC7Dm4C,EAAWtqB,OAASyqB,EAAkBh5C,EAAUA,EAAQuuB,OAAS,EACjEsqB,EAAWrqB,QAAUwqB,EAAkBh5C,EAAUA,EAAQwuB,QAAU,EAE5DqqB,EAGT,SAASI,EAAQ7jC,GAIf,OAHYA,EAAKjV,MACJiV,EAAKtV,OAcpB,SAASo5C,EAAqBjtB,EAAWktB,EAASpsB,EAAQunB,EAAWxlB,GACnE,IAAI9uB,EAAU+B,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAElF,IAAmC,IAA/BkqB,EAAU/pB,QAAQ,QACpB,OAAO+pB,EAGT,IAAI4sB,EAAaD,EAAc7rB,EAAQunB,EAAWt0C,EAAS8uB,GAEvDsqB,EAAQ,CACV14C,IAAK,CACHP,MAAO04C,EAAW14C,MAClBL,OAAQq5C,EAAQz4C,IAAMm4C,EAAWn4C,KAEnC6tB,MAAO,CACLpuB,MAAO04C,EAAWtqB,MAAQ4qB,EAAQ5qB,MAClCzuB,OAAQ+4C,EAAW/4C,QAErB0uB,OAAQ,CACNruB,MAAO04C,EAAW14C,MAClBL,OAAQ+4C,EAAWrqB,OAAS2qB,EAAQ3qB,QAEtC/tB,KAAM,CACJN,MAAOg5C,EAAQ14C,KAAOo4C,EAAWp4C,KACjCX,OAAQ+4C,EAAW/4C,SAInBu5C,EAAct4C,OAAOsH,KAAK+wC,GAAO7+B,KAAI,SAAU7B,GACjD,OAAOiP,EAAS,CACdjP,IAAKA,GACJ0gC,EAAM1gC,GAAM,CACb4gC,KAAML,EAAQG,EAAM1gC,SAErB6gC,MAAK,SAAUC,EAAGC,GACnB,OAAOA,EAAEH,KAAOE,EAAEF,QAGhBI,EAAgBL,EAAYt+C,QAAO,SAAUsb,GAC/C,IAAIlW,EAAQkW,EAAMlW,MACdL,EAASuW,EAAMvW,OACnB,OAAOK,GAAS4sB,EAAOkF,aAAenyB,GAAUitB,EAAOmF,gBAGrDynB,EAAoBD,EAAc/9C,OAAS,EAAI+9C,EAAc,GAAGhhC,IAAM2gC,EAAY,GAAG3gC,IAErFkhC,EAAY3tB,EAAUvwB,MAAM,KAAK,GAErC,OAAOi+C,GAAqBC,EAAY,IAAMA,EAAY,IAa5D,SAASC,EAAoBnhD,EAAOq0B,EAAQunB,GAC1C,IAAIqD,EAAgB51C,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,KAEpF+3C,EAAqBnC,EAAgBe,EAA6B3rB,GAAUmoB,EAAuBnoB,EAAQsnB,EAAiBC,IAChI,OAAOoD,EAAqCpD,EAAWwF,EAAoBnC,GAU7E,SAASoC,EAAcptB,GACrB,IACIxqB,EADSwqB,EAAQ+mB,cAAcC,YACfC,iBAAiBjnB,GACjC7xB,EAAI+7C,WAAW10C,EAAO+1C,WAAa,GAAKrB,WAAW10C,EAAO63C,cAAgB,GAC1E1X,EAAIuU,WAAW10C,EAAOg2C,YAAc,GAAKtB,WAAW10C,EAAO83C,aAAe,GAK9E,MAJa,CACX95C,MAAOwsB,EAAQ4qB,YAAcjV,EAC7BxiC,OAAQ6sB,EAAQ8qB,aAAe38C,GAYnC,SAASo/C,EAAqBjuB,GAC5B,IAAIkuB,EAAO,CAAE15C,KAAM,QAAS8tB,MAAO,OAAQC,OAAQ,MAAO9tB,IAAK,UAC/D,OAAOurB,EAAUpF,QAAQ,0BAA0B,SAAUuzB,GAC3D,OAAOD,EAAKC,MAchB,SAASC,EAAiBttB,EAAQutB,EAAkBruB,GAClDA,EAAYA,EAAUvwB,MAAM,KAAK,GAGjC,IAAI6+C,EAAaR,EAAchtB,GAG3BytB,EAAgB,CAClBr6C,MAAOo6C,EAAWp6C,MAClBL,OAAQy6C,EAAWz6C,QAIjB26C,GAAoD,IAA1C,CAAC,QAAS,QAAQv4C,QAAQ+pB,GACpCyuB,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnCG,EAAcH,EAAU,SAAW,QACnCI,EAAwBJ,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBM,GAAe,EAAIL,EAAWK,GAAe,EAEnHJ,EAAcG,GADZ1uB,IAAc0uB,EACeL,EAAiBK,GAAiBJ,EAAWM,GAE7CP,EAAiBJ,EAAqBS,IAGhEH,EAYT,SAAS/4B,EAAKq5B,EAAKC,GAEjB,OAAIx9B,MAAMrX,UAAUub,KACXq5B,EAAIr5B,KAAKs5B,GAIXD,EAAI//C,OAAOggD,GAAO,GAqC3B,SAASC,EAAavuB,EAAW3mB,EAAMm1C,GAoBrC,YAnB8Bh5C,IAATg5C,EAAqBxuB,EAAYA,EAAU2e,MAAM,EA1BxE,SAAmB0P,EAAKhiC,EAAMhhB,GAE5B,GAAIylB,MAAMrX,UAAUg1C,UAClB,OAAOJ,EAAII,WAAU,SAAUC,GAC7B,OAAOA,EAAQ,OAAMrjD,KAKzB,IAAIsjD,EAAQ35B,EAAKq5B,GAAK,SAAUxgC,GAC9B,OAAOA,EAAQ,OAAMxiB,KAEvB,OAAOgjD,EAAI54C,QAAQk5C,GAcsDF,CAAUzuB,EAAW,EAAQwuB,KAEvFhgD,SAAQ,SAAUu7C,GAC3BA,EAAmB,UAErBvvC,QAAQC,KAAK,yDAEf,IAAI0kB,EAAK4qB,EAAmB,UAAKA,EAAS5qB,GACtC4qB,EAASnqB,SAAWinB,EAAW1nB,KAIjC9lB,EAAKgnB,QAAQC,OAASsqB,EAAcvxC,EAAKgnB,QAAQC,QACjDjnB,EAAKgnB,QAAQwnB,UAAY+C,EAAcvxC,EAAKgnB,QAAQwnB,WAEpDxuC,EAAO8lB,EAAG9lB,EAAM0wC,OAIb1wC,EAUT,SAASc,IAEP,IAAIxP,KAAKsB,MAAM2iD,YAAf,CAIA,IAAIv1C,EAAO,CACTyoC,SAAUn3C,KACV+K,OAAQ,GACR6qB,YAAa,GACb/oB,WAAY,GACZq3C,SAAS,EACTxuB,QAAS,IAIXhnB,EAAKgnB,QAAQwnB,UAAYuF,EAAoBziD,KAAKsB,MAAOtB,KAAK21B,OAAQ31B,KAAKk9C,UAAWl9C,KAAK4kC,QAAQxP,eAKnG1mB,EAAKmmB,UAAYitB,EAAqB9hD,KAAK4kC,QAAQ/P,UAAWnmB,EAAKgnB,QAAQwnB,UAAWl9C,KAAK21B,OAAQ31B,KAAKk9C,UAAWl9C,KAAK4kC,QAAQvP,UAAUmC,KAAKE,kBAAmB13B,KAAK4kC,QAAQvP,UAAUmC,KAAK5uB,SAG9L8F,EAAKy1C,kBAAoBz1C,EAAKmmB,UAE9BnmB,EAAK0mB,cAAgBp1B,KAAK4kC,QAAQxP,cAGlC1mB,EAAKgnB,QAAQC,OAASstB,EAAiBjjD,KAAK21B,OAAQjnB,EAAKgnB,QAAQwnB,UAAWxuC,EAAKmmB,WAEjFnmB,EAAKgnB,QAAQC,OAAOvsB,SAAWpJ,KAAK4kC,QAAQxP,cAAgB,QAAU,WAGtE1mB,EAAOk1C,EAAa5jD,KAAKq1B,UAAW3mB,GAI/B1O,KAAKsB,MAAM8iD,UAIdpkD,KAAK4kC,QAAQwU,SAAS1qC,IAHtB1O,KAAKsB,MAAM8iD,WAAY,EACvBpkD,KAAK4kC,QAAQyf,SAAS31C,KAY1B,SAAS41C,EAAkBjvB,EAAWkvB,GACpC,OAAOlvB,EAAUmvB,MAAK,SAAUxmC,GAC9B,IAAIrN,EAAOqN,EAAKrN,KAEhB,OADcqN,EAAKiX,SACDtkB,IAAS4zC,KAW/B,SAASE,EAAyB38C,GAIhC,IAHA,IAAI48C,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CC,EAAY78C,EAAS88C,OAAO,GAAGlR,cAAgB5rC,EAASksC,MAAM,GAEzD9xB,EAAI,EAAGA,EAAIwiC,EAASngD,OAAQ2d,IAAK,CACxC,IAAI2iC,EAASH,EAASxiC,GAClB4iC,EAAUD,EAAS,GAAKA,EAASF,EAAY78C,EACjD,QAA4C,IAAjC8rB,SAASsE,KAAK9S,MAAM0/B,GAC7B,OAAOA,EAGX,OAAO,KAQT,SAAS/uB,IAsBP,OArBA/1B,KAAKsB,MAAM2iD,aAAc,EAGrBK,EAAkBtkD,KAAKq1B,UAAW,gBACpCr1B,KAAK21B,OAAOovB,gBAAgB,eAC5B/kD,KAAK21B,OAAOvQ,MAAMhc,SAAW,GAC7BpJ,KAAK21B,OAAOvQ,MAAM9b,IAAM,GACxBtJ,KAAK21B,OAAOvQ,MAAM/b,KAAO,GACzBrJ,KAAK21B,OAAOvQ,MAAM+R,MAAQ,GAC1Bn3B,KAAK21B,OAAOvQ,MAAMgS,OAAS,GAC3Bp3B,KAAK21B,OAAOvQ,MAAM4/B,WAAa,GAC/BhlD,KAAK21B,OAAOvQ,MAAMq/B,EAAyB,cAAgB,IAG7DzkD,KAAKq2B,wBAIDr2B,KAAK4kC,QAAQqgB,iBACfjlD,KAAK21B,OAAOgnB,WAAW9iB,YAAY75B,KAAK21B,QAEnC31B,KAQT,SAASklD,EAAU3vB,GACjB,IAAI+mB,EAAgB/mB,EAAQ+mB,cAC5B,OAAOA,EAAgBA,EAAcC,YAAch2B,OAGrD,SAAS4+B,EAAsBxE,EAActgD,EAAO6f,EAAUklC,GAC5D,IAAIC,EAAmC,SAA1B1E,EAAajE,SACtBxvC,EAASm4C,EAAS1E,EAAarE,cAAcC,YAAcoE,EAC/DzzC,EAAOke,iBAAiB/qB,EAAO6f,EAAU,CAAEua,SAAS,IAE/C4qB,GACHF,EAAsBtI,EAAgB3vC,EAAOyvC,YAAat8C,EAAO6f,EAAUklC,GAE7EA,EAAc9iC,KAAKpV,GASrB,SAASo4C,EAAoBpI,EAAWtY,EAAStjC,EAAOikD,GAEtDjkD,EAAMikD,YAAcA,EACpBL,EAAUhI,GAAW9xB,iBAAiB,SAAU9pB,EAAMikD,YAAa,CAAE9qB,SAAS,IAG9E,IAAI+qB,EAAgB3I,EAAgBK,GAKpC,OAJAiI,EAAsBK,EAAe,SAAUlkD,EAAMikD,YAAajkD,EAAM8jD,eACxE9jD,EAAMkkD,cAAgBA,EACtBlkD,EAAM6zB,eAAgB,EAEf7zB,EAST,SAAS80B,IACFp2B,KAAKsB,MAAM6zB,gBACdn1B,KAAKsB,MAAQgkD,EAAoBtlD,KAAKk9C,UAAWl9C,KAAK4kC,QAAS5kC,KAAKsB,MAAOtB,KAAKm2B,iBAkCpF,SAASE,IAxBT,IAA8B6mB,EAAW57C,EAyBnCtB,KAAKsB,MAAM6zB,gBACbxO,qBAAqB3mB,KAAKm2B,gBAC1Bn2B,KAAKsB,OA3BqB47C,EA2BQl9C,KAAKk9C,UA3BF57C,EA2BatB,KAAKsB,MAzBzD4jD,EAAUhI,GAAW/xB,oBAAoB,SAAU7pB,EAAMikD,aAGzDjkD,EAAM8jD,cAAcvhD,SAAQ,SAAUqJ,GACpCA,EAAOie,oBAAoB,SAAU7pB,EAAMikD,gBAI7CjkD,EAAMikD,YAAc,KACpBjkD,EAAM8jD,cAAgB,GACtB9jD,EAAMkkD,cAAgB,KACtBlkD,EAAM6zB,eAAgB,EACf7zB,IAwBT,SAASmkD,EAAUC,GACjB,MAAa,KAANA,IAAap/B,MAAMm5B,WAAWiG,KAAOC,SAASD,GAWvD,SAASE,EAAUrwB,EAASxqB,GAC1BpB,OAAOsH,KAAKlG,GAAQlH,SAAQ,SAAU6d,GACpC,IAAImkC,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQ/6C,QAAQ4W,IAAgB+jC,EAAU16C,EAAO2W,MACjGmkC,EAAO,MAETtwB,EAAQnQ,MAAM1D,GAAQ3W,EAAO2W,GAAQmkC,KAgIzC,IAAIC,EAAYpK,GAAa,WAAWv3C,KAAKw3C,UAAUG,WA8GvD,SAASiK,EAAmB1wB,EAAW2wB,EAAgBC,GACrD,IAAIC,EAAa77B,EAAKgL,GAAW,SAAUrX,GAEzC,OADWA,EAAKrN,OACAq1C,KAGdl0B,IAAeo0B,GAAc7wB,EAAUmvB,MAAK,SAAUpF,GACxD,OAAOA,EAASzuC,OAASs1C,GAAiB7G,EAASnqB,SAAWmqB,EAASlqB,MAAQgxB,EAAWhxB,SAG5F,IAAKpD,EAAY,CACf,IAAIq0B,EAAc,IAAMH,EAAiB,IACrCI,EAAY,IAAMH,EAAgB,IACtCp2C,QAAQC,KAAKs2C,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,KAEnJ,OAAOr0B,EAoIT,IAAIu0B,GAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,GAAkBD,GAAWrS,MAAM,GAYvC,SAASuS,GAAU1xB,GACjB,IAAI2xB,EAAU77C,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,IAAmBA,UAAU,GAEzEm/B,EAAQwc,GAAgBx7C,QAAQ+pB,GAChC6uB,EAAM4C,GAAgBtS,MAAMlK,EAAQ,GAAG9kB,OAAOshC,GAAgBtS,MAAM,EAAGlK,IAC3E,OAAO0c,EAAU9C,EAAI+C,UAAY/C,EAkfnC,IAkWIgD,GAAW,CAKb7xB,UAAW,SAMXO,eAAe,EAMfD,eAAe,EAOf8vB,iBAAiB,EAQjBZ,SAAU,aAUVjL,SAAU,aAOV/jB,UAnZc,CASdsxB,MAAO,CAELzxB,MAAO,IAEPD,SAAS,EAETT,GA9HJ,SAAe9lB,GACb,IAAImmB,EAAYnmB,EAAKmmB,UACjB+xB,EAAgB/xB,EAAUvwB,MAAM,KAAK,GACrCuiD,EAAiBhyB,EAAUvwB,MAAM,KAAK,GAG1C,GAAIuiD,EAAgB,CAClB,IAAIC,EAAgBp4C,EAAKgnB,QACrBwnB,EAAY4J,EAAc5J,UAC1BvnB,EAASmxB,EAAcnxB,OAEvBoxB,GAA2D,IAA9C,CAAC,SAAU,OAAOj8C,QAAQ87C,GACvCrvB,EAAOwvB,EAAa,OAAS,MAC7BvD,EAAcuD,EAAa,QAAU,SAErCC,EAAe,CACjB5I,MAAO55B,EAAe,GAAI+S,EAAM2lB,EAAU3lB,IAC1C8mB,IAAK75B,EAAe,GAAI+S,EAAM2lB,EAAU3lB,GAAQ2lB,EAAUsG,GAAe7tB,EAAO6tB,KAGlF90C,EAAKgnB,QAAQC,OAASpF,EAAS,GAAIoF,EAAQqxB,EAAaH,IAG1D,OAAOn4C,IAgJPipB,OAAQ,CAENzC,MAAO,IAEPD,SAAS,EAETT,GA7RJ,SAAgB9lB,EAAMsP,GACpB,IAQI0X,EARAiC,EAAS3Z,EAAK2Z,OACd9C,EAAYnmB,EAAKmmB,UACjBiyB,EAAgBp4C,EAAKgnB,QACrBC,EAASmxB,EAAcnxB,OACvBunB,EAAY4J,EAAc5J,UAE1B0J,EAAgB/xB,EAAUvwB,MAAM,KAAK,GAwBzC,OApBEoxB,EADE+vB,GAAW9tB,GACH,EAAEA,EAAQ,GAvFxB,SAAqBA,EAAQyrB,EAAeF,EAAkB0D,GAC5D,IAAIlxB,EAAU,CAAC,EAAG,GAKduxB,GAA0D,IAA9C,CAAC,QAAS,QAAQn8C,QAAQ87C,GAItCM,EAAYvvB,EAAOrzB,MAAM,WAAW6e,KAAI,SAAUgkC,GACpD,OAAOA,EAAKC,UAKVC,EAAUH,EAAUp8C,QAAQuf,EAAK68B,GAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAKG,OAAO,YAGjBJ,EAAUG,KAAiD,IAArCH,EAAUG,GAASv8C,QAAQ,MACnD+E,QAAQC,KAAK,gFAKf,IAAIy3C,EAAa,cACbC,GAAmB,IAAbH,EAAiB,CAACH,EAAUlT,MAAM,EAAGqT,GAASriC,OAAO,CAACkiC,EAAUG,GAAS/iD,MAAMijD,GAAY,KAAM,CAACL,EAAUG,GAAS/iD,MAAMijD,GAAY,IAAIviC,OAAOkiC,EAAUlT,MAAMqT,EAAU,KAAO,CAACH,GAqC9L,OAlCAM,EAAMA,EAAIrkC,KAAI,SAAUskC,EAAI3d,GAE1B,IAAI0Z,GAAyB,IAAV1Z,GAAemd,EAAYA,GAAa,SAAW,QAClES,GAAoB,EACxB,OAAOD,EAGNn2C,QAAO,SAAU8wC,EAAGC,GACnB,MAAwB,KAApBD,EAAEA,EAAE79C,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAKuG,QAAQu3C,IAC/CD,EAAEA,EAAE79C,OAAS,GAAK89C,EAClBqF,GAAoB,EACbtF,GACEsF,GACTtF,EAAEA,EAAE79C,OAAS,IAAM89C,EACnBqF,GAAoB,EACbtF,GAEAA,EAAEp9B,OAAOq9B,KAEjB,IAEFl/B,KAAI,SAAUwkC,GACb,OAxGN,SAAiBA,EAAKnE,EAAaJ,EAAeF,GAEhD,IAAI5+C,EAAQqjD,EAAI3D,MAAM,6BAClBtjD,GAAS4D,EAAM,GACfuhD,EAAOvhD,EAAM,GAGjB,OAAK5D,EAIqB,IAAtBmlD,EAAK/6C,QAAQ,KAYJm1C,EATJ,OADC4F,EAEMzC,EAKAF,GAIFM,GAAe,IAAM9iD,EACf,OAATmlD,GAA0B,OAATA,GAGb,OAATA,EACK78B,KAAK2hB,IAAI/W,SAASohB,gBAAgBla,aAAcvU,OAAO66B,aAAe,GAEtEp4B,KAAK2hB,IAAI/W,SAASohB,gBAAgBna,YAAatU,OAAO46B,YAAc,IAE/D,IAAMzgD,EAIbA,EA7BAinD,EAgGEC,CAAQD,EAAKnE,EAAaJ,EAAeF,SAKpDsE,EAAI3jD,SAAQ,SAAU4jD,EAAI3d,GACxB2d,EAAG5jD,SAAQ,SAAUsjD,EAAMU,GACrBpC,EAAU0B,KACZzxB,EAAQoU,IAAUqd,GAA2B,MAAnBM,EAAGI,EAAS,IAAc,EAAI,UAIvDnyB,EAyBKoyB,CAAYnwB,EAAQhC,EAAQunB,EAAW0J,GAG7B,SAAlBA,GACFjxB,EAAOrsB,KAAOosB,EAAQ,GACtBC,EAAOtsB,MAAQqsB,EAAQ,IACI,UAAlBkxB,GACTjxB,EAAOrsB,KAAOosB,EAAQ,GACtBC,EAAOtsB,MAAQqsB,EAAQ,IACI,QAAlBkxB,GACTjxB,EAAOtsB,MAAQqsB,EAAQ,GACvBC,EAAOrsB,KAAOosB,EAAQ,IACK,WAAlBkxB,IACTjxB,EAAOtsB,MAAQqsB,EAAQ,GACvBC,EAAOrsB,KAAOosB,EAAQ,IAGxBhnB,EAAKinB,OAASA,EACPjnB,GAkQLipB,OAAQ,GAoBVC,gBAAiB,CAEf1C,MAAO,IAEPD,SAAS,EAETT,GAlRJ,SAAyB9lB,EAAMk2B,GAC7B,IAAIlN,EAAoBkN,EAAQlN,mBAAqB+lB,EAAgB/uC,EAAKyoC,SAASxhB,QAK/EjnB,EAAKyoC,SAAS+F,YAAcxlB,IAC9BA,EAAoB+lB,EAAgB/lB,IAMtC,IAAIqwB,EAAgBtD,EAAyB,aACzCuD,EAAet5C,EAAKyoC,SAASxhB,OAAOvQ,MACpC9b,EAAM0+C,EAAa1+C,IACnBD,EAAO2+C,EAAa3+C,KACpBE,EAAYy+C,EAAaD,GAE7BC,EAAa1+C,IAAM,GACnB0+C,EAAa3+C,KAAO,GACpB2+C,EAAaD,GAAiB,GAE9B,IAAItG,EAAaD,EAAc9yC,EAAKyoC,SAASxhB,OAAQjnB,EAAKyoC,SAAS+F,UAAWtY,EAAQh8B,QAAS8uB,EAAmBhpB,EAAK0mB,eAIvH4yB,EAAa1+C,IAAMA,EACnB0+C,EAAa3+C,KAAOA,EACpB2+C,EAAaD,GAAiBx+C,EAE9Bq7B,EAAQ6c,WAAaA,EAErB,IAAIvsB,EAAQ0P,EAAQqjB,SAChBtyB,EAASjnB,EAAKgnB,QAAQC,OAEtBguB,EAAQ,CACV59C,QAAS,SAAiB8uB,GACxB,IAAIn0B,EAAQi1B,EAAOd,GAInB,OAHIc,EAAOd,GAAa4sB,EAAW5sB,KAAe+P,EAAQ/M,sBACxDn3B,EAAQsoB,KAAK2hB,IAAIhV,EAAOd,GAAY4sB,EAAW5sB,KAE1CrQ,EAAe,GAAIqQ,EAAWn0B,IAEvCwnD,UAAW,SAAmBrzB,GAC5B,IAAIyuB,EAAyB,UAAdzuB,EAAwB,OAAS,MAC5Cn0B,EAAQi1B,EAAO2tB,GAInB,OAHI3tB,EAAOd,GAAa4sB,EAAW5sB,KAAe+P,EAAQ/M,sBACxDn3B,EAAQsoB,KAAK0hB,IAAI/U,EAAO2tB,GAAW7B,EAAW5sB,IAA4B,UAAdA,EAAwBc,EAAO5sB,MAAQ4sB,EAAOjtB,UAErG8b,EAAe,GAAI8+B,EAAU5iD,KAWxC,OAPAw0B,EAAMrxB,SAAQ,SAAUgxB,GACtB,IAAI0C,GAA+C,IAAxC,CAAC,OAAQ,OAAOzsB,QAAQ+pB,GAAoB,UAAY,YACnEc,EAASpF,EAAS,GAAIoF,EAAQguB,EAAMpsB,GAAM1C,OAG5CnmB,EAAKgnB,QAAQC,OAASA,EAEfjnB,GA2NLu5C,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnCr/C,QAAS,EAMT8uB,kBAAmB,gBAYrBywB,aAAc,CAEZjzB,MAAO,IAEPD,SAAS,EAETT,GAlgBJ,SAAsB9lB,GACpB,IAAIo4C,EAAgBp4C,EAAKgnB,QACrBC,EAASmxB,EAAcnxB,OACvBunB,EAAY4J,EAAc5J,UAE1BroB,EAAYnmB,EAAKmmB,UAAUvwB,MAAM,KAAK,GACtC8jD,EAAQp/B,KAAKo/B,MACbrB,GAAuD,IAA1C,CAAC,MAAO,UAAUj8C,QAAQ+pB,GACvC0C,EAAOwvB,EAAa,QAAU,SAC9BsB,EAAStB,EAAa,OAAS,MAC/BvD,EAAcuD,EAAa,QAAU,SASzC,OAPIpxB,EAAO4B,GAAQ6wB,EAAMlL,EAAUmL,MACjC35C,EAAKgnB,QAAQC,OAAO0yB,GAAUD,EAAMlL,EAAUmL,IAAW1yB,EAAO6tB,IAE9D7tB,EAAO0yB,GAAUD,EAAMlL,EAAU3lB,MACnC7oB,EAAKgnB,QAAQC,OAAO0yB,GAAUD,EAAMlL,EAAU3lB,KAGzC7oB,IA4fP4mB,MAAO,CAELJ,MAAO,IAEPD,SAAS,EAETT,GApxBJ,SAAe9lB,EAAMk2B,GACnB,IAAI0jB,EAGJ,IAAKvC,EAAmBr3C,EAAKyoC,SAAS9hB,UAAW,QAAS,gBACxD,OAAO3mB,EAGT,IAAI65C,EAAe3jB,EAAQrP,QAG3B,GAA4B,iBAAjBgzB,GAIT,KAHAA,EAAe75C,EAAKyoC,SAASxhB,OAAO0D,cAAckvB,IAIhD,OAAO75C,OAKT,IAAKA,EAAKyoC,SAASxhB,OAAOikB,SAAS2O,GAEjC,OADA14C,QAAQC,KAAK,iEACNpB,EAIX,IAAImmB,EAAYnmB,EAAKmmB,UAAUvwB,MAAM,KAAK,GACtCwiD,EAAgBp4C,EAAKgnB,QACrBC,EAASmxB,EAAcnxB,OACvBunB,EAAY4J,EAAc5J,UAE1B6J,GAAuD,IAA1C,CAAC,OAAQ,SAASj8C,QAAQ+pB,GAEvC2zB,EAAMzB,EAAa,SAAW,QAC9B0B,EAAkB1B,EAAa,MAAQ,OACvCxvB,EAAOkxB,EAAgBC,cACvBC,EAAU5B,EAAa,OAAS,MAChCsB,EAAStB,EAAa,SAAW,QACjC6B,EAAmBjG,EAAc4F,GAAcC,GAQ/CtL,EAAUmL,GAAUO,EAAmBjzB,EAAO4B,KAChD7oB,EAAKgnB,QAAQC,OAAO4B,IAAS5B,EAAO4B,IAAS2lB,EAAUmL,GAAUO,IAG/D1L,EAAU3lB,GAAQqxB,EAAmBjzB,EAAO0yB,KAC9C35C,EAAKgnB,QAAQC,OAAO4B,IAAS2lB,EAAU3lB,GAAQqxB,EAAmBjzB,EAAO0yB,IAE3E35C,EAAKgnB,QAAQC,OAASsqB,EAAcvxC,EAAKgnB,QAAQC,QAGjD,IAAIsV,EAASiS,EAAU3lB,GAAQ2lB,EAAUsL,GAAO,EAAII,EAAmB,EAInE/+C,EAAMuyC,EAAyB1tC,EAAKyoC,SAASxhB,QAC7CkzB,EAAmBpJ,WAAW51C,EAAI,SAAW4+C,IAC7CK,EAAmBrJ,WAAW51C,EAAI,SAAW4+C,EAAkB,UAC/DM,EAAY9d,EAASv8B,EAAKgnB,QAAQC,OAAO4B,GAAQsxB,EAAmBC,EAQxE,OALAC,EAAY//B,KAAK2hB,IAAI3hB,KAAK0hB,IAAI/U,EAAO6yB,GAAOI,EAAkBG,GAAY,GAE1Er6C,EAAK65C,aAAeA,EACpB75C,EAAKgnB,QAAQJ,OAAmC9Q,EAA1B8jC,EAAsB,GAAwC/wB,EAAMvO,KAAKC,MAAM8/B,IAAavkC,EAAe8jC,EAAqBK,EAAS,IAAKL,GAE7J55C,GA8sBL6mB,QAAS,aAcXiC,KAAM,CAEJtC,MAAO,IAEPD,SAAS,EAETT,GA5oBJ,SAAc9lB,EAAMk2B,GAElB,GAAI0f,EAAkB51C,EAAKyoC,SAAS9hB,UAAW,SAC7C,OAAO3mB,EAGT,GAAIA,EAAKw1C,SAAWx1C,EAAKmmB,YAAcnmB,EAAKy1C,kBAE1C,OAAOz1C,EAGT,IAAI+yC,EAAaD,EAAc9yC,EAAKyoC,SAASxhB,OAAQjnB,EAAKyoC,SAAS+F,UAAWtY,EAAQh8B,QAASg8B,EAAQlN,kBAAmBhpB,EAAK0mB,eAE3HP,EAAYnmB,EAAKmmB,UAAUvwB,MAAM,KAAK,GACtC0kD,EAAoBlG,EAAqBjuB,GACzC2tB,EAAY9zC,EAAKmmB,UAAUvwB,MAAM,KAAK,IAAM,GAE5C2kD,EAAY,GAEhB,OAAQrkB,EAAQnN,UACd,IAhCI,OAiCFwxB,EAAY,CAACp0B,EAAWm0B,GACxB,MACF,IAlCS,YAmCPC,EAAY1C,GAAU1xB,GACtB,MACF,IApCgB,mBAqCdo0B,EAAY1C,GAAU1xB,GAAW,GACjC,MACF,QACEo0B,EAAYrkB,EAAQnN,SAyDxB,OAtDAwxB,EAAUplD,SAAQ,SAAUqlD,EAAMpf,GAChC,GAAIjV,IAAcq0B,GAAQD,EAAU1kD,SAAWulC,EAAQ,EACrD,OAAOp7B,EAGTmmB,EAAYnmB,EAAKmmB,UAAUvwB,MAAM,KAAK,GACtC0kD,EAAoBlG,EAAqBjuB,GAEzC,IAAIuuB,EAAgB10C,EAAKgnB,QAAQC,OAC7BwzB,EAAaz6C,EAAKgnB,QAAQwnB,UAG1BkL,EAAQp/B,KAAKo/B,MACbgB,EAA4B,SAAdv0B,GAAwBuzB,EAAMhF,EAAcjsB,OAASixB,EAAMe,EAAW9/C,OAAuB,UAAdwrB,GAAyBuzB,EAAMhF,EAAc/5C,MAAQ++C,EAAMe,EAAWhyB,QAAwB,QAAdtC,GAAuBuzB,EAAMhF,EAAchsB,QAAUgxB,EAAMe,EAAW7/C,MAAsB,WAAdurB,GAA0BuzB,EAAMhF,EAAc95C,KAAO8+C,EAAMe,EAAW/xB,QAEjUiyB,EAAgBjB,EAAMhF,EAAc/5C,MAAQ++C,EAAM3G,EAAWp4C,MAC7DigD,EAAiBlB,EAAMhF,EAAcjsB,OAASixB,EAAM3G,EAAWtqB,OAC/DoyB,EAAenB,EAAMhF,EAAc95C,KAAO8+C,EAAM3G,EAAWn4C,KAC3DkgD,EAAkBpB,EAAMhF,EAAchsB,QAAUgxB,EAAM3G,EAAWrqB,QAEjEqyB,EAAoC,SAAd50B,GAAwBw0B,GAA+B,UAAdx0B,GAAyBy0B,GAAgC,QAAdz0B,GAAuB00B,GAA8B,WAAd10B,GAA0B20B,EAG3KzC,GAAuD,IAA1C,CAAC,MAAO,UAAUj8C,QAAQ+pB,GAGvC60B,IAA0B9kB,EAAQ+kB,iBAAmB5C,GAA4B,UAAdvE,GAAyB6G,GAAiBtC,GAA4B,QAAdvE,GAAuB8G,IAAmBvC,GAA4B,UAAdvE,GAAyB+G,IAAiBxC,GAA4B,QAAdvE,GAAuBgH,GAGlQI,IAA8BhlB,EAAQilB,0BAA4B9C,GAA4B,UAAdvE,GAAyB8G,GAAkBvC,GAA4B,QAAdvE,GAAuB6G,IAAkBtC,GAA4B,UAAdvE,GAAyBgH,IAAoBzC,GAA4B,QAAdvE,GAAuB+G,GAElRO,EAAmBJ,GAAyBE,GAE5CR,GAAeK,GAAuBK,KAExCp7C,EAAKw1C,SAAU,GAEXkF,GAAeK,KACjB50B,EAAYo0B,EAAUnf,EAAQ,IAG5BggB,IACFtH,EAvJR,SAA8BA,GAC5B,MAAkB,QAAdA,EACK,QACgB,UAAdA,EACF,MAEFA,EAiJWuH,CAAqBvH,IAGnC9zC,EAAKmmB,UAAYA,GAAa2tB,EAAY,IAAMA,EAAY,IAI5D9zC,EAAKgnB,QAAQC,OAASpF,EAAS,GAAI7hB,EAAKgnB,QAAQC,OAAQstB,EAAiBv0C,EAAKyoC,SAASxhB,OAAQjnB,EAAKgnB,QAAQwnB,UAAWxuC,EAAKmmB,YAE5HnmB,EAAOk1C,EAAal1C,EAAKyoC,SAAS9hB,UAAW3mB,EAAM,YAGhDA,GA4jBL+oB,SAAU,OAKV7uB,QAAS,EAOT8uB,kBAAmB,WAQnBiyB,gBAAgB,EAQhBE,yBAAyB,GAU3BG,MAAO,CAEL90B,MAAO,IAEPD,SAAS,EAETT,GArQJ,SAAe9lB,GACb,IAAImmB,EAAYnmB,EAAKmmB,UACjB+xB,EAAgB/xB,EAAUvwB,MAAM,KAAK,GACrCwiD,EAAgBp4C,EAAKgnB,QACrBC,EAASmxB,EAAcnxB,OACvBunB,EAAY4J,EAAc5J,UAE1BmG,GAAwD,IAA9C,CAAC,OAAQ,SAASv4C,QAAQ87C,GAEpCqD,GAA6D,IAA5C,CAAC,MAAO,QAAQn/C,QAAQ87C,GAO7C,OALAjxB,EAAO0tB,EAAU,OAAS,OAASnG,EAAU0J,IAAkBqD,EAAiBt0B,EAAO0tB,EAAU,QAAU,UAAY,GAEvH30C,EAAKmmB,UAAYiuB,EAAqBjuB,GACtCnmB,EAAKgnB,QAAQC,OAASsqB,EAActqB,GAE7BjnB,IAkQPmnB,KAAM,CAEJX,MAAO,IAEPD,SAAS,EAETT,GA9TJ,SAAc9lB,GACZ,IAAKq3C,EAAmBr3C,EAAKyoC,SAAS9hB,UAAW,OAAQ,mBACvD,OAAO3mB,EAGT,IAAIqzC,EAAUrzC,EAAKgnB,QAAQwnB,UACvBgN,EAAQ7/B,EAAK3b,EAAKyoC,SAAS9hB,WAAW,SAAU+pB,GAClD,MAAyB,oBAAlBA,EAASzuC,QACf8wC,WAEH,GAAIM,EAAQ3qB,OAAS8yB,EAAM5gD,KAAOy4C,EAAQ14C,KAAO6gD,EAAM/yB,OAAS4qB,EAAQz4C,IAAM4gD,EAAM9yB,QAAU2qB,EAAQ5qB,MAAQ+yB,EAAM7gD,KAAM,CAExH,IAAkB,IAAdqF,EAAKmnB,KACP,OAAOnnB,EAGTA,EAAKmnB,MAAO,EACZnnB,EAAK7B,WAAW,uBAAyB,OACpC,CAEL,IAAkB,IAAd6B,EAAKmnB,KACP,OAAOnnB,EAGTA,EAAKmnB,MAAO,EACZnnB,EAAK7B,WAAW,wBAAyB,EAG3C,OAAO6B,IAoTPy7C,aAAc,CAEZj1B,MAAO,IAEPD,SAAS,EAETT,GAtgCJ,SAAsB9lB,EAAMk2B,GAC1B,IAAIlhC,EAAIkhC,EAAQlhC,EACZwnC,EAAItG,EAAQsG,EACZvV,EAASjnB,EAAKgnB,QAAQC,OAItBy0B,EAA8B//B,EAAK3b,EAAKyoC,SAAS9hB,WAAW,SAAU+pB,GACxE,MAAyB,eAAlBA,EAASzuC,QACf05C,qBACiCx/C,IAAhCu/C,GACFv6C,QAAQC,KAAK,iIAEf,IA6BIzG,EACAC,EA9BA+gD,OAAkDx/C,IAAhCu/C,EAA4CA,EAA8BxlB,EAAQylB,gBAEpG1M,EAAeF,EAAgB/uC,EAAKyoC,SAASxhB,QAC7C20B,EAAmB7jC,EAAsBk3B,GAGzC5yC,EAAS,CACX3B,SAAUusB,EAAOvsB,UAGfssB,EA9DN,SAA2BhnB,EAAM67C,GAC/B,IAAIzD,EAAgBp4C,EAAKgnB,QACrBC,EAASmxB,EAAcnxB,OACvBunB,EAAY4J,EAAc5J,UAC1Bj0B,EAAQD,KAAKC,MACbm/B,EAAQp/B,KAAKo/B,MAEboC,EAAU,SAAiBC,GAC7B,OAAOA,GAGLC,EAAiBzhC,EAAMi0B,EAAUn0C,OACjC4hD,EAAc1hC,EAAM0M,EAAO5sB,OAE3Bg+C,GAA4D,IAA/C,CAAC,OAAQ,SAASj8C,QAAQ4D,EAAKmmB,WAC5C+1B,GAA+C,IAAjCl8C,EAAKmmB,UAAU/pB,QAAQ,KAIrC+/C,EAAuBN,EAAwBxD,GAAc6D,GAH3CF,EAAiB,GAAMC,EAAc,EAGuC1hC,EAAQm/B,EAAjEoC,EACrCM,EAAqBP,EAAwBthC,EAAVuhC,EAEvC,MAAO,CACLnhD,KAAMwhD,EANWH,EAAiB,GAAM,GAAKC,EAAc,GAAM,IAMtBC,GAAeL,EAAc50B,EAAOtsB,KAAO,EAAIssB,EAAOtsB,MACjGC,IAAKwhD,EAAkBn1B,EAAOrsB,KAC9B8tB,OAAQ0zB,EAAkBn1B,EAAOyB,QACjCD,MAAO0zB,EAAoBl1B,EAAOwB,QAoCtB4zB,CAAkBr8C,EAAM6X,OAAOykC,iBAAmB,IAAMlF,GAElEvG,EAAc,WAAN77C,EAAiB,MAAQ,SACjC87C,EAAc,UAANtU,EAAgB,OAAS,QAKjC+f,EAAmBxG,EAAyB,aAiChD,GAhBIn7C,EAJU,WAAVi2C,EAG4B,SAA1B5B,EAAajB,UACRiB,EAAa7iB,aAAepF,EAAQ0B,QAEpCkzB,EAAiB5hD,OAASgtB,EAAQ0B,OAGrC1B,EAAQpsB,IAIZD,EAFU,UAAVm2C,EAC4B,SAA1B7B,EAAajB,UACPiB,EAAa9iB,YAAcnF,EAAQyB,OAEnCmzB,EAAiBvhD,MAAQ2sB,EAAQyB,MAGpCzB,EAAQrsB,KAEbghD,GAAmBY,EACrBlgD,EAAOkgD,GAAoB,eAAiB5hD,EAAO,OAASC,EAAM,SAClEyB,EAAOw0C,GAAS,EAChBx0C,EAAOy0C,GAAS,EAChBz0C,EAAOi6C,WAAa,gBACf,CAEL,IAAIkG,EAAsB,WAAV3L,GAAsB,EAAI,EACtC4L,EAAuB,UAAV3L,GAAqB,EAAI,EAC1Cz0C,EAAOw0C,GAASj2C,EAAM4hD,EACtBngD,EAAOy0C,GAASn2C,EAAO8hD,EACvBpgD,EAAOi6C,WAAazF,EAAQ,KAAOC,EAIrC,IAAI3yC,EAAa,CACf,cAAe6B,EAAKmmB,WAQtB,OAJAnmB,EAAK7B,WAAa0jB,EAAS,GAAI1jB,EAAY6B,EAAK7B,YAChD6B,EAAK3D,OAASwlB,EAAS,GAAIxlB,EAAQ2D,EAAK3D,QACxC2D,EAAKknB,YAAcrF,EAAS,GAAI7hB,EAAKgnB,QAAQJ,MAAO5mB,EAAKknB,aAElDlnB,GAo7BL27C,iBAAiB,EAMjB3mD,EAAG,SAMHwnC,EAAG,SAkBL1V,WAAY,CAEVN,MAAO,IAEPD,SAAS,EAETT,GAzpCJ,SAAoB9lB,GApBpB,IAAuB6mB,EAAS1oB,EAoC9B,OAXA+4C,EAAUl3C,EAAKyoC,SAASxhB,OAAQjnB,EAAK3D,QAzBhBwqB,EA6BP7mB,EAAKyoC,SAASxhB,OA7BE9oB,EA6BM6B,EAAK7B,WA5BzClD,OAAOsH,KAAKpE,GAAYhJ,SAAQ,SAAU6d,IAE1B,IADF7U,EAAW6U,GAErB6T,EAAQyC,aAAatW,EAAM7U,EAAW6U,IAEtC6T,EAAQwvB,gBAAgBrjC,MA0BxBhT,EAAK65C,cAAgB5+C,OAAOsH,KAAKvC,EAAKknB,aAAarxB,QACrDqhD,EAAUl3C,EAAK65C,aAAc75C,EAAKknB,aAG7BlnB,GA2oCL08C,OA9nCJ,SAA0BlO,EAAWvnB,EAAQiP,EAASymB,EAAiB/pD,GAErE,IAAI4hD,EAAmBT,EAAoBnhD,EAAOq0B,EAAQunB,EAAWtY,EAAQxP,eAKzEP,EAAYitB,EAAqBld,EAAQ/P,UAAWquB,EAAkBvtB,EAAQunB,EAAWtY,EAAQvP,UAAUmC,KAAKE,kBAAmBkN,EAAQvP,UAAUmC,KAAK5uB,SAQ9J,OANA+sB,EAAOqC,aAAa,cAAenD,GAInC+wB,EAAUjwB,EAAQ,CAAEvsB,SAAUw7B,EAAQxP,cAAgB,QAAU,aAEzDwP,GAsnCLylB,qBAAiBx/C,KAuGjBwsB,GAAS,WASX,SAASA,EAAO6lB,EAAWvnB,GACzB,IAAIrnB,EAAQtO,KAER4kC,EAAUj6B,UAAUpG,OAAS,QAAsBsG,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAClFi1C,EAAe5/C,KAAMq3B,GAErBr3B,KAAKm2B,eAAiB,WACpB,OAAO3P,sBAAsBlY,EAAMkB,SAIrCxP,KAAKwP,OAASusC,EAAS/7C,KAAKwP,OAAOwT,KAAKhjB,OAGxCA,KAAK4kC,QAAUrU,EAAS,GAAI8G,EAAOqvB,SAAU9hB,GAG7C5kC,KAAKsB,MAAQ,CACX2iD,aAAa,EACbG,WAAW,EACXgB,cAAe,IAIjBplD,KAAKk9C,UAAYA,GAAaA,EAAUoO,OAASpO,EAAU,GAAKA,EAChEl9C,KAAK21B,OAASA,GAAUA,EAAO21B,OAAS31B,EAAO,GAAKA,EAGpD31B,KAAK4kC,QAAQvP,UAAY,GACzB1rB,OAAOsH,KAAKsf,EAAS,GAAI8G,EAAOqvB,SAASrxB,UAAWuP,EAAQvP,YAAYxxB,SAAQ,SAAU8M,GACxFrC,EAAMs2B,QAAQvP,UAAU1kB,GAAQ4f,EAAS,GAAI8G,EAAOqvB,SAASrxB,UAAU1kB,IAAS,GAAIi0B,EAAQvP,UAAYuP,EAAQvP,UAAU1kB,GAAQ,OAIpI3Q,KAAKq1B,UAAY1rB,OAAOsH,KAAKjR,KAAK4kC,QAAQvP,WAAWlS,KAAI,SAAUxS,GACjE,OAAO4f,EAAS,CACd5f,KAAMA,GACLrC,EAAMs2B,QAAQvP,UAAU1kB,OAG5BwxC,MAAK,SAAUC,EAAGC,GACjB,OAAOD,EAAEltB,MAAQmtB,EAAEntB,SAOrBl1B,KAAKq1B,UAAUxxB,SAAQ,SAAUwnD,GAC3BA,EAAgBp2B,SAAWinB,EAAWmP,EAAgBD,SACxDC,EAAgBD,OAAO98C,EAAM4uC,UAAW5uC,EAAMqnB,OAAQrnB,EAAMs2B,QAASymB,EAAiB/8C,EAAMhN,UAKhGtB,KAAKwP,SAEL,IAAI2lB,EAAgBn1B,KAAK4kC,QAAQzP,cAC7BA,GAEFn1B,KAAKo2B,uBAGPp2B,KAAKsB,MAAM6zB,cAAgBA,EAqD7B,OA9CA0qB,EAAYxoB,EAAQ,CAAC,CACnB/V,IAAK,SACL5gB,MAAO,WACL,OAAO8O,EAAOjB,KAAKvO,QAEpB,CACDshB,IAAK,UACL5gB,MAAO,WACL,OAAOq1B,EAAQxnB,KAAKvO,QAErB,CACDshB,IAAK,uBACL5gB,MAAO,WACL,OAAO01B,EAAqB7nB,KAAKvO,QAElC,CACDshB,IAAK,wBACL5gB,MAAO,WACL,OAAO21B,EAAsB9nB,KAAKvO,UA4B/Bq3B,EA7HI,GAqJbA,GAAOk0B,OAA2B,oBAAXhlC,OAAyBA,OAAS,EAAAs0B,GAAQ2Q,YACjEn0B,GAAOgvB,WAAaA,GACpBhvB,GAAOqvB,SAAWA,GAElB,oCCpjFA,IAAInwB,EAAUpQ,MAAMoQ,QAChBk1B,EAAU9hD,OAAOsH,KACjBy6C,EAAU/hD,OAAOmF,UAAU0hB,eAC3Bm7B,EAAoC,oBAAZC,QAE5B,SAASC,EAAMzJ,EAAGC,GAEhB,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,IAEIngC,EACA3d,EACA+c,EAJAwqC,EAAOv1B,EAAQ6rB,GACf2J,EAAOx1B,EAAQ8rB,GAKnB,GAAIyJ,GAAQC,EAAM,CAEhB,IADAxnD,EAAS69C,EAAE79C,SACG89C,EAAE99C,OAAQ,OAAO,EAC/B,IAAK2d,EAAI3d,EAAgB,GAAR2d,KACf,IAAK2pC,EAAMzJ,EAAElgC,GAAImgC,EAAEngC,IAAK,OAAO,EACjC,OAAO,EAGT,GAAI4pC,GAAQC,EAAM,OAAO,EAEzB,IAAIC,EAAQ5J,aAAav8B,KACrBomC,EAAQ5J,aAAax8B,KACzB,GAAImmC,GAASC,EAAO,OAAO,EAC3B,GAAID,GAASC,EAAO,OAAO7J,EAAE8J,WAAa7J,EAAE6J,UAE5C,IAAIC,EAAU/J,aAAapI,OACvBoS,EAAU/J,aAAarI,OAC3B,GAAImS,GAAWC,EAAS,OAAO,EAC/B,GAAID,GAAWC,EAAS,OAAOhK,EAAEt8B,YAAcu8B,EAAEv8B,WAEjD,IAAI7U,EAAOw6C,EAAQrJ,GAGnB,IAFA79C,EAAS0M,EAAK1M,UAECknD,EAAQpJ,GAAG99C,OACxB,OAAO,EAET,IAAK2d,EAAI3d,EAAgB,GAAR2d,KACf,IAAKwpC,EAAQn9C,KAAK8zC,EAAGpxC,EAAKiR,IAAK,OAAO,EAKxC,GAAIypC,GAAkBvJ,aAAawJ,SAAWvJ,aAAauJ,QACzD,OAAOxJ,IAAMC,EAGf,IAAKngC,EAAI3d,EAAgB,GAAR2d,KAEf,KAAY,YADZZ,EAAMrQ,EAAKiR,KACakgC,EAAEiK,UAQnBR,EAAMzJ,EAAE9gC,GAAM+gC,EAAE/gC,KAAO,OAAO,EAMvC,OAAO,EAGT,OAAO8gC,GAAMA,GAAKC,GAAMA,EAI1B/I,EAAO5qB,QAAU,SAAuB0zB,EAAGC,GACzC,IACE,OAAOwJ,EAAMzJ,EAAGC,GAChB,MAAOiK,GACP,GAAKA,EAAMC,SAAWD,EAAMC,QAAQvI,MAAM,sBAA2C,aAAlBsI,EAAME,OAOvE,OADA38C,QAAQC,KAAK,mEAAoEw8C,EAAM37C,KAAM27C,EAAMC,UAC5F,EAGT,MAAMD,kCCrFV,IAAI/7B,EAAW5mB,OAAOC,QAAU,SAAUsD,GAAU,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CAAE,IAAImC,EAAS1Z,UAAUuX,GAAI,IAAK,IAAIZ,KAAO+C,EAAc1a,OAAOmF,UAAU0hB,eAAejiB,KAAK8V,EAAQ/C,KAAQpU,EAAOoU,GAAO+C,EAAO/C,IAAY,OAAOpU,GAEnPu/C,EAAe,WAAc,SAASloC,EAAiBrX,EAAQpN,GAAS,IAAK,IAAIoiB,EAAI,EAAGA,EAAIpiB,EAAMyE,OAAQ2d,IAAK,CAAE,IAAI49B,EAAahgD,EAAMoiB,GAAI49B,EAAW37B,WAAa27B,EAAW37B,aAAc,EAAO27B,EAAWjI,cAAe,EAAU,UAAWiI,IAAYA,EAAWlI,UAAW,GAAMjuC,OAAO6a,eAAetX,EAAQ4yC,EAAWx+B,IAAKw+B,IAAiB,OAAO,SAAU1I,EAAa2I,EAAYC,GAAiJ,OAA9HD,GAAYx7B,EAAiB6yB,EAAYtoC,UAAWixC,GAAiBC,GAAaz7B,EAAiB6yB,EAAa4I,GAAqB5I,GAA7gB,GAEfjnB,EAAS,EAAQ,OAEjBopB,EAAUnpB,EAAuBD,GAIjC6mB,EAAc5mB,EAFD,EAAQ,QAIzB,SAASA,EAAuBlN,GAAO,OAAOA,GAAOA,EAAIoN,WAAapN,EAAM,CAAE9d,QAAS8d,GAUvF,IAAIwpC,EAAa,CAChBtjD,SAAU,WACVE,IAAK,EACLD,KAAM,EACNsjD,WAAY,SACZjkD,OAAQ,EACRsB,SAAU,SACVnH,WAAY,OAGT+pD,EAAwB,CAAC,aAAc,eAAgB,iBAAkB,WAAY,aAAc,WAAY,aAAc,yBAS7HC,EAAa,SAAoB9hD,EAAQsV,GAC5CA,EAAK+E,MAAMtkB,SAAWiK,EAAOjK,SAC7Buf,EAAK+E,MAAMpL,WAAajP,EAAOiP,WAC/BqG,EAAK+E,MAAM5iB,WAAauI,EAAOvI,WAC/B6d,EAAK+E,MAAM7iB,UAAYwI,EAAOxI,UAC9B8d,EAAK+E,MAAM0nC,cAAgB/hD,EAAO+hD,cAClCzsC,EAAK+E,MAAM2nC,cAAgBhiD,EAAOgiD,eAG/BxP,IAAyB,oBAAXh3B,SAA0BA,OAAOo1B,YAAY,yBAAyBx3C,KAAKoiB,OAAOo1B,UAAUG,WAE1GkR,EAAa,WAGhB,OAAOzP,EAAO,IAAMv0B,KAAKikC,SAASnnC,SAAS,IAAIonC,OAAO,EAAG,SAAMriD,GAG5DsiD,EAAgB,SAAU7nC,GAY7B,SAAS6nC,EAAcrtD,IAtDxB,SAAyBq3C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAuD9GH,CAAgBl3C,KAAMmtD,GAEtB,IAAI7+C,EAvDN,SAAoCipC,EAAMhpC,GAAQ,IAAKgpC,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOjpC,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BgpC,EAAPhpC,EAuDpN+oC,CAA2Bt3C,MAAOmtD,EAAcpV,WAAapuC,OAAOmnB,eAAeq8B,IAAgB5+C,KAAKvO,KAAMF,IAsB1H,OApBAwO,EAAM8+C,SAAW,SAAU7L,GAC1BjzC,EAAM4jB,MAAQqvB,EACsB,mBAAzBjzC,EAAMxO,MAAMstD,UACtB9+C,EAAMxO,MAAMstD,SAAS7L,IAIvBjzC,EAAM++C,oBAAsB,SAAU9L,GACrCjzC,EAAMg/C,iBAAmB/L,GAG1BjzC,EAAMi/C,SAAW,SAAUhM,GAC1BjzC,EAAMk/C,MAAQjM,GAGfjzC,EAAMhN,MAAQ,CACbmsD,WAAY3tD,EAAM0zB,SAClBk6B,QAAS5tD,EAAM0vB,IAAMw9B,IACrBW,OAAQ7tD,EAAM0vB,IAERlhB,EA4IR,OAvND,SAAmBopC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIN,UAAU,kEAAoEM,GAAeD,EAAS5oC,UAAYnF,OAAOwX,OAAOw2B,GAAcA,EAAW7oC,UAAW,CAAEjP,YAAa,CAAEa,MAAOg3C,EAAUvzB,YAAY,EAAOyzB,UAAU,EAAMC,cAAc,KAAeF,IAAYhuC,OAAOmuC,eAAiBnuC,OAAOmuC,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAuCheF,CAAU0V,EAAe7nC,GAEzBmnC,EAAaU,EAAe,KAAM,CAAC,CAClC7rC,IAAK,2BACL5gB,MAAO,SAAkCZ,EAAOwB,GAC/C,IAAIkuB,EAAK1vB,EAAM0vB,GAEf,OAAOA,IAAOluB,EAAMqsD,OAAS,CAAED,QAASl+B,GAAMw9B,IAAcW,OAAQn+B,GAAO,SAgC7Ei9B,EAAaU,EAAe,CAAC,CAC5B7rC,IAAK,oBACL5gB,MAAO,WACNV,KAAKwjB,SAAU,EACfxjB,KAAK4tD,kBACL5tD,KAAK6tD,qBAEJ,CACFvsC,IAAK,qBACL5gB,MAAO,SAA4B2d,EAAWJ,GACzCA,EAAUwvC,aAAeztD,KAAKsB,MAAMmsD,YACF,mBAA1BztD,KAAKF,MAAMguD,YACrB9tD,KAAKF,MAAMguD,WAAW9tD,KAAKsB,MAAMmsD,YAGnCztD,KAAK6tD,qBAEJ,CACFvsC,IAAK,uBACL5gB,MAAO,WACNV,KAAKwjB,SAAU,IAEd,CACFlC,IAAK,kBACL5gB,MAAO,WACN,GAAKV,KAAKwjB,SAAY+C,OAAOi2B,iBAA7B,CAGA,IAAIuR,EAAc/tD,KAAKkyB,OAAS3L,OAAOi2B,iBAAiBx8C,KAAKkyB,OACxD67B,IAGLlB,EAAWkB,EAAa/tD,KAAKwtD,OACzBxtD,KAAKstD,kBACRT,EAAWkB,EAAa/tD,KAAKstD,sBAG7B,CACFhsC,IAAK,mBACL5gB,MAAO,WACN,GAAKV,KAAKwjB,SAAYxjB,KAAKwtD,YAA2C,IAA3BxtD,KAAKwtD,MAAMQ,YAAtD,CAGA,IAAIC,OAAgB,EAEnBA,EADGjuD,KAAKF,MAAMutB,eAAiBrtB,KAAKF,MAAMY,OAASV,KAAKF,MAAMY,OAASV,KAAKF,MAAMouD,uBAClEllC,KAAK2hB,IAAI3qC,KAAKwtD,MAAMQ,YAAahuD,KAAKstD,iBAAiBU,aAAe,EAEtEhuD,KAAKwtD,MAAMQ,YAAc,GAI1CC,GADqC,WAApBjuD,KAAKF,MAAMmN,WAA+CpC,IAA1B7K,KAAKF,MAAMquD,WAA2B,GAAK1e,SAASzvC,KAAKF,MAAMquD,aAAe,GAE3GnuD,KAAKF,MAAM0zB,WAC9By6B,EAAgBjuD,KAAKF,MAAM0zB,UAExBy6B,IAAkBjuD,KAAKsB,MAAMmsD,YAChCztD,KAAKwL,SAAS,CACbiiD,WAAYQ,OAIb,CACF3sC,IAAK,WACL5gB,MAAO,WACN,OAAOV,KAAKkyB,QAEX,CACF5Q,IAAK,QACL5gB,MAAO,WACNV,KAAKkyB,MAAMjrB,UAEV,CACFqa,IAAK,OACL5gB,MAAO,WACNV,KAAKkyB,MAAM7D,SAEV,CACF/M,IAAK,SACL5gB,MAAO,WACNV,KAAKkyB,MAAMhE,WAEV,CACF5M,IAAK,eACL5gB,MAAO,WAIN,IAAI0tD,EAAepuD,KAAKF,MAAMsuD,aAE9B,OAAO7Q,GAAQ6Q,EAAe7U,EAAQn0C,QAAQyqB,cAAc,QAAS,CAAEE,wBAAyB,CAC9FC,OAAQ,SAAWhwB,KAAKsB,MAAMosD,QAAU,kCAClC,OAEP,CACFpsC,IAAK,SACL5gB,MAAO,WACN,IAAI2tD,EAAa,CAACruD,KAAKF,MAAM+kC,aAAc7kC,KAAKF,MAAMY,MAAO,IAAI4Q,QAAO,SAAUg9C,EAAeC,GAChG,OAAID,QACIA,EAEDC,KAGJC,EAAej+B,EAAS,GAAIvwB,KAAKF,MAAMslB,OACtCopC,EAAalsD,UAASksD,EAAalsD,QAAU,gBAElD,IAAImsD,EAAal+B,EAAS,CACzBluB,UAAW,cACX0G,MAAO/I,KAAKsB,MAAMmsD,WAAa,MAC7BztD,KAAKF,MAAM2uD,YAEVC,EAnMP,SAAkCxrC,EAAKjS,GAAQ,IAAI/D,EAAS,GAAI,IAAK,IAAIgV,KAAKgB,EAAWjS,EAAKnG,QAAQoX,IAAM,GAAkBvY,OAAOmF,UAAU0hB,eAAejiB,KAAK2U,EAAKhB,KAAchV,EAAOgV,GAAKgB,EAAIhB,IAAM,OAAOhV,EAmM/LyhD,CAAyB3uD,KAAKF,MAAO,IAOtD,OAtLmB,SAAyB4uD,GAC9C9B,EAAsB/oD,SAAQ,SAAU+qD,GACvC,cAAcF,EAAWE,MA+KxBC,CAAgBH,GAChBA,EAAWpiD,UAAYtM,KAAKF,MAAMgvD,eAClCJ,EAAWl/B,GAAKxvB,KAAKsB,MAAMosD,QAC3BgB,EAAWtpC,MAAQqpC,EAEZlV,EAAQn0C,QAAQyqB,cACtB,MACA,CAAEvjB,UAAWtM,KAAKF,MAAMwM,UAAW8Y,MAAOopC,GAC1CxuD,KAAK+uD,eACLxV,EAAQn0C,QAAQyqB,cAAc,QAASU,EAAS,GAAIm+B,EAAY,CAAE5qD,IAAK9D,KAAKotD,YAC5E7T,EAAQn0C,QAAQyqB,cACf,MACA,CAAE/rB,IAAK9D,KAAKutD,SAAUnoC,MAAOsnC,GAC7B2B,GAEDruD,KAAKF,MAAMutB,YAAcksB,EAAQn0C,QAAQyqB,cACxC,MACA,CAAE/rB,IAAK9D,KAAKqtD,oBAAqBjoC,MAAOsnC,GACxC1sD,KAAKF,MAAMutB,aACR,UAKA8/B,EAjLY,CAkLlBh9B,EAAOvwB,WAETutD,EAAcpsC,UAAY,CACzBzU,UAAW0qC,EAAY5xC,QAAQ4pD,OAC/BnqB,aAAcmS,EAAY5xC,QAAQ6pD,IAClCd,WAAYnX,EAAY5xC,QAAQ8pD,UAAU,CAC1ClY,EAAY5xC,QAAQonD,OAAQxV,EAAY5xC,QAAQ4pD,SAChDx/B,GAAIwnB,EAAY5xC,QAAQ4pD,OACxBZ,aAAcpX,EAAY5xC,QAAQ+pD,KAClCL,eAAgB9X,EAAY5xC,QAAQ4pD,OACpC5B,SAAUpW,EAAY5xC,QAAQgqD,KAC9BX,WAAYzX,EAAY5xC,QAAQye,OAChC2P,SAAUwjB,EAAY5xC,QAAQ8pD,UAAU,CACxClY,EAAY5xC,QAAQonD,OAAQxV,EAAY5xC,QAAQ4pD,SAChDlB,WAAY9W,EAAY5xC,QAAQgqD,KAChCnsB,SAAU+T,EAAY5xC,QAAQgqD,KAC9B/hC,YAAa2pB,EAAY5xC,QAAQ4pD,OACjCd,sBAAuBlX,EAAY5xC,QAAQ+pD,KAC3C/pC,MAAO4xB,EAAY5xC,QAAQye,OAC3BnjB,MAAOs2C,EAAY5xC,QAAQ6pD,KAE5B9B,EAAc3/C,aAAe,CAC5BgmB,SAAU,EACV46B,cAAc,GAGf1/B,EAAQ,EAAUy+B,gCCrQlB,SAASkC,IAEP,IAAI/tD,EAAQtB,KAAKH,YAAYke,yBAAyB/d,KAAKF,MAAOE,KAAKsB,OACnEA,SACFtB,KAAKwL,SAASlK,GAIlB,SAASu3C,EAA0Bj3B,GAQjC5hB,KAAKwL,SALL,SAAiByS,GACf,IAAI3c,EAAQtB,KAAKH,YAAYke,yBAAyB6D,EAAW3D,GACjE,OAAO3c,QAAwCA,EAAQ,MAGnC0hB,KAAKhjB,OAG7B,SAASsvD,EAAoB1tC,EAAW3B,GACtC,IACE,IAAI5B,EAAYre,KAAKF,MACjBme,EAAYje,KAAKsB,MACrBtB,KAAKF,MAAQ8hB,EACb5hB,KAAKsB,MAAQ2e,EACbjgB,KAAKuvD,6BAA8B,EACnCvvD,KAAKwvD,wBAA0BxvD,KAAKyvD,wBAClCpxC,EACAJ,GAEF,QACAje,KAAKF,MAAQue,EACbre,KAAKsB,MAAQ2c,GAUjB,SAASyxC,EAAS9vD,GAChB,IAAIkP,EAAYlP,EAAUkP,UAE1B,IAAKA,IAAcA,EAAU6gD,iBAC3B,MAAM,IAAIjrD,MAAM,sCAGlB,GACgD,mBAAvC9E,EAAUme,0BAC4B,mBAAtCjP,EAAU2gD,wBAEjB,OAAO7vD,EAMT,IAAIgwD,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,mBAAjChhD,EAAUugD,mBACnBO,EAAqB,qBACmC,mBAAxC9gD,EAAU2xB,4BAC1BmvB,EAAqB,6BAE4B,mBAAxC9gD,EAAU+pC,0BACnBgX,EAA4B,4BACmC,mBAA/C/gD,EAAU+xB,mCAC1BgvB,EAA4B,oCAEe,mBAAlC/gD,EAAUwgD,oBACnBQ,EAAsB,sBACmC,mBAAzChhD,EAAUihD,6BAC1BD,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAIhiD,EAAgBlO,EAAUgO,aAAehO,EAAU+Q,KACnDq/C,EAC4C,mBAAvCpwD,EAAUme,yBACb,6BACA,4BAEN,MAAMrZ,MACJ,2FACEoJ,EACA,SACAkiD,EACA,uDACwB,OAAvBJ,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IATjE,wIA0BJ,GARkD,mBAAvClwD,EAAUme,2BACnBjP,EAAUugD,mBAAqBA,EAC/BvgD,EAAU+pC,0BAA4BA,GAMS,mBAAtC/pC,EAAU2gD,wBAAwC,CAC3D,GAA4C,mBAAjC3gD,EAAUsP,mBACnB,MAAM,IAAI1Z,MACR,qHAIJoK,EAAUwgD,oBAAsBA,EAEhC,IAAIlxC,EAAqBtP,EAAUsP,mBAEnCtP,EAAUsP,mBAAqB,SAC7BC,EACAJ,EACAgyC,GAUA,IAAIC,EAAWlwD,KAAKuvD,4BAChBvvD,KAAKwvD,wBACLS,EAEJ7xC,EAAmB7P,KAAKvO,KAAMqe,EAAWJ,EAAWiyC,IAIxD,OAAOtwD,iCA7GTyvD,EAAmBc,8BAA+B,EAClDtX,EAA0BsX,8BAA+B,EACzDb,EAAoBa,8BAA+B,gCC7CnDxmD,OAAO6a,eAAekK,EAAS,aAAc,CAC3ChuB,OAAO,IAGT,IAAI+rD,EAAe,WAAc,SAASloC,EAAiBrX,EAAQpN,GAAS,IAAK,IAAIoiB,EAAI,EAAGA,EAAIpiB,EAAMyE,OAAQ2d,IAAK,CAAE,IAAI49B,EAAahgD,EAAMoiB,GAAI49B,EAAW37B,WAAa27B,EAAW37B,aAAc,EAAO27B,EAAWjI,cAAe,EAAU,UAAWiI,IAAYA,EAAWlI,UAAW,GAAMjuC,OAAO6a,eAAetX,EAAQ4yC,EAAWx+B,IAAKw+B,IAAiB,OAAO,SAAU1I,EAAa2I,EAAYC,GAAiJ,OAA9HD,GAAYx7B,EAAiB6yB,EAAYtoC,UAAWixC,GAAiBC,GAAaz7B,EAAiB6yB,EAAa4I,GAAqB5I,GAA7gB,GAEfjnB,EAAS,EAAQ,OAEjBigC,EAAY,EAAQ,OAExB,SAASlZ,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAA2BC,EAAMhpC,GAAQ,IAAKgpC,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOjpC,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BgpC,EAAPhpC,EAIlO,IAAI8hD,EAAe,SAAU/qC,GAG3B,SAAS+qC,IAGP,OAFAnZ,EAAgBl3C,KAAMqwD,GAEf/Y,EAA2Bt3C,MAAOqwD,EAAatY,WAAapuC,OAAOmnB,eAAeu/B,IAAet+C,MAAM/R,KAAM2K,YAoBtH,OA5BF,SAAmB+sC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIN,UAAU,kEAAoEM,GAAeD,EAAS5oC,UAAYnF,OAAOwX,OAAOw2B,GAAcA,EAAW7oC,UAAW,CAAEjP,YAAa,CAAEa,MAAOg3C,EAAUvzB,YAAY,EAAOyzB,UAAU,EAAMC,cAAc,KAAeF,IAAYhuC,OAAOmuC,eAAiBnuC,OAAOmuC,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAG/dF,CAAU4Y,EAAc/qC,GAQxBmnC,EAAa4D,EAAc,CAAC,CAC1B/uC,IAAK,oBACL5gB,MAAO,WACLV,KAAKF,MAAMquB,UAAS,EAAIiiC,EAAUE,aAAatwD,SAEhD,CACDshB,IAAK,uBACL5gB,MAAO,WACLV,KAAKF,MAAMquB,SAAS,QAErB,CACD7M,IAAK,SACL5gB,MAAO,WACL,OAAOV,KAAKF,MAAMW,aAIf4vD,EA1BU,CA2BjBlgC,EAAOvwB,WAET8uB,EAAA,QAAkB2hC,gCCzClB,IAAIE,EAAgB,EAAQ,OAE5B5mD,OAAO6a,eAAekK,EAAS,IAA/B,CACEvK,YAAY,EACZ6M,IAAK,WACH,OAI4B9N,EAJEqtC,EAIYrtC,GAAOA,EAAIoN,WAAapN,EAAM,CAAE9d,QAAS8d,IAJtC9d,QAIjD,IAAgC8d,2BCf/B,IAEoDstC,EAAnD,oBAAsBjZ,MAAOA,KAD+B+B,EAAO5qB,SAChB8hC,EADkC,EAAQ,OAEpF,SAASC,GACZ,SAAS,EAAoBC,GACzB,GAAIC,EAAiBD,GAAW,OAAOC,EAAiBD,GAAUhiC,QAClE,IAAI4qB,EAASqX,EAAiBD,GAAY,CACtCxuC,EAAGwuC,EACHE,GAAG,EACHliC,QAAS,IAEb,OAAO+hC,EAAQC,GAAUniD,KAAK+qC,EAAO5qB,QAAS4qB,EAAQA,EAAO5qB,QAAS,GACtE4qB,EAAOsX,GAAI,EAAItX,EAAO5qB,QAE1B,IAAIiiC,EAAmB,GACvB,OAAO,EAAoBpiC,EAAIkiC,EAAS,EAAoBrvC,EAAIuvC,EAChE,EAAoBE,EAAI,SAASniC,EAAS/d,EAAMmgD,GAC5C,EAAoBC,EAAEriC,EAAS/d,IAAShH,OAAO6a,eAAekK,EAAS/d,EAAM,CACzEknC,cAAc,EACd1zB,YAAY,EACZ6M,IAAK8/B,KAEV,EAAoBpL,EAAI,SAASpM,GAChC,IAAIwX,EAASxX,GAAUA,EAAOhpB,WAAa,WACvC,OAAOgpB,EAAOl0C,SACd,WACA,OAAOk0C,GAEX,OAAO,EAAoBuX,EAAEC,EAAQ,IAAKA,GAASA,GACpD,EAAoBC,EAAI,SAASltC,EAAQ/b,GACxC,OAAO6B,OAAOmF,UAAU0hB,eAAejiB,KAAKsV,EAAQ/b,IACrD,EAAoBqJ,EAAI,GAAI,EAAoB,EAAoB6/C,EAAI,GA5BxE,CA6BL,CAAE,SAAS1X,EAAQ2X,EAAqB,GACtC,aACA,SAASC,EAAexN,EAAKxhC,GACzB,OAmCJ,SAAyBwhC,GACrB,GAAIv9B,MAAMoQ,QAAQmtB,GAAM,OAAOA,EApCxByN,CAAgBzN,IAiB3B,SAA+BA,EAAKxhC,GAChC,GAAI,oBAAsBkvC,QAAUA,OAAOC,YAAY1nD,OAAO+5C,GAAM,CAChE,IAAI4N,EAAO,GAAIC,GAAK,EAAIC,GAAK,EAAIC,OAAK,EACtC,IACI,IAAK,IAAIC,EAAI7/C,EAAK6xC,EAAI0N,OAAOC,cAAeE,GAAMG,EAAK7/C,EAAGmQ,QAAQgJ,QAAUsmC,EAAKhvC,KAAKovC,EAAGhxD,QACxFwhB,GAAKovC,EAAK/sD,SAAW2d,GAAIqvC,GAAK,IACjC,MAAOI,GACLH,GAAK,EAAIC,EAAKE,EAChB,QACE,IACIJ,GAAM,MAAQ1/C,EAAG+/C,QAAU//C,EAAG+/C,SAChC,QACE,GAAIJ,EAAI,MAAMC,GAGtB,OAAOH,GAhCoBO,CAAsBnO,EAAKxhC,IAK9D,SAAqC6uC,EAAGe,GACpC,GAAIf,EAAG,CACH,GAAI,iBAAmBA,EAAG,OAAOgB,EAAkBhB,EAAGe,GACtD,IAAIpM,EAAI/7C,OAAOmF,UAAUgX,SAASvX,KAAKwiD,GAAG/c,MAAM,GAAI,GACpD,MAAO,WAAa0R,GAAKqL,EAAElxD,cAAgB6lD,EAAIqL,EAAElxD,YAAY8Q,MAAO,QAAU+0C,GAAK,QAAUA,EAAIv/B,MAAM3K,KAAKu1C,GAAK,cAAgBrL,GAAK,2CAA2CvhD,KAAKuhD,GAAKqM,EAAkBhB,EAAGe,QAAU,GAT9JE,CAA4BtO,EAAKxhC,IAErG,WACI,MAAM,IAAIm1B,UAAU,6IAHmF4a,GAY3G,SAASF,EAAkBrO,EAAK8E,IAC3B,MAAQA,GAAOA,EAAM9E,EAAIn/C,UAAYikD,EAAM9E,EAAIn/C,QAChD,IAAK,IAAI2d,EAAI,EAAGgwC,EAAO,IAAI/rC,MAAMqiC,GAAMtmC,EAAIsmC,EAAKtmC,IAAKgwC,EAAKhwC,GAAKwhC,EAAIxhC,GACnE,OAAOgwC,EAuBX,IAAIC,EAAsC,EAAoB,GAAIC,EAA8C,EAAoB1M,EAAEyM,GAAsCE,EAAgD,EAAoB,GAAIC,EAAwD,EAAoB5M,EAAE2M,GAAgDE,EAAqD,EAAoB,GAAIC,EAAsD,EAAoB,IAAKC,EAA8D,EAAoB/M,EAAE8M,GAAsDE,EAAyC,EAAoB,GAAIC,EAAyC,EAAoB,GAEnxBC,EAAgB,SAAS1vC,GACxB,IAAKA,EAAK,OAAO,KACjB,IAAIjS,EAAOtH,OAAOsH,KAAKiS,GACvB,OAAO,IAAMjS,EAAK1M,OAAS,KAAO0M,EAAKK,QAAO,SAAS4P,EAAQI,GAC3D,OAAOJ,EAAOvX,OAAO4oD,EAAmDnQ,EAA1Dz4C,CAA6D2X,IAAQ4B,EAAI5B,GACvFJ,IACD,KACJ2xC,EAAc,WACb,IAAI/uD,EAAMsuD,EAA4ChQ,EAAE3e,QAAO,GAC/D,OAAO2uB,EAA4ChQ,EAAEvV,WAAU,WAC3D/oC,EAAIC,SAAU,IACf,IAAKD,EAAIC,SASb+uD,EAAW,SAASC,GACnB,IAAIC,EAAW,WACX,OAxB8xB,SAASD,GAC3yB,OAAOA,EAASE,OAAStpD,OAAO+oD,EAAuCtQ,EAA9Cz4C,CAAiDopD,GAuB/DG,CAAUH,IACmEI,EAAmBjC,EAArFkB,EAA4ChQ,EAAE9e,SAAS0vB,GAA+D,GAAIC,EAAQE,EAAiB,GAAIC,EAAWD,EAAiB,GACzM,OAAOf,EAA4ChQ,EAAEvV,WAAU,WAC3D,IAAIwmB,EAAWL,IACfC,IAAUI,GAAYD,EAASC,KAChC,CAAEN,IAAaE,GA4BtBhC,EAAoB7O,EARD,SAAS2Q,EAAUO,EAAQrwB,GAC1C,IAAIswB,EApCO,SAASC,GACpB,IAAIC,EAAoBrB,EAA4ChQ,EAAEpmC,WAAW22C,EAAuCvQ,GAAIsR,EAAY,WACpI,OAAOd,EAAcY,IAAoBZ,EAAca,IAC6BE,EAAmBzC,EAAtFkB,EAA4ChQ,EAAE9e,SAASowB,GAA+D,GAAIJ,EAASK,EAAiB,GAAIC,EAAYD,EAAiB,GAC1M,OAAOvB,EAA4ChQ,EAAEvV,WAAU,WAC3D,IAAIgnB,EAAYH,IAChBjB,IAA8Da,EAAQO,IAAcD,EAAUC,KAC/F,CAAEL,EAAiBC,IAAsBH,EA6BvBQ,CAAUR,GAASL,EAAQH,EAASC,GACzD,IAAKE,EAAO,MAAM,IAAIvuD,MAAM,kCAC5B,IAAIqvD,EAtBW,SAASd,EAAOK,GAC/B,IAAIU,EAAgB,WAChB,OAAO1B,IAAwDW,EAAOK,GAAU,KAAMA,IACGW,EAAmB/C,EAA1FkB,EAA4ChQ,EAAE9e,SAAS0wB,GAAoE,GAAID,EAAKE,EAAiB,GAAIC,EAAQD,EAAiB,GAAIE,EAAWtB,IACvN,OAAOT,EAA4ChQ,EAAEvV,WAAU,WAC3D,OAAOsnB,GAAYD,EAAMF,KAAkB,WACvCD,EAAGK,aAER,CAAEnB,EAAOK,IAAWS,EAcdM,CAAcpB,EAAOM,GAAiBe,EAbnC,SAASC,GACrB,IAAmGC,EAAmBtD,EAA/FkB,EAA4ChQ,EAAE9e,SAASixB,EAAWD,SAA8D,GAAIA,EAAUE,EAAiB,GAAIC,EAAaD,EAAiB,GACxN,OAAOpC,EAA4ChQ,EAAEvV,WAAU,WAC3D,IAAI6nB,EAAgB,WAChBD,EAAWF,EAAWD,UAE1B,OAAOC,EAAWI,YAAYD,GAAgBA,IAAiB,WAC3DH,EAAWK,eAAeF,MAE/B,CAAEH,IAAeD,EAIqCO,CAAWd,GAAKI,EAAWtB,IACpF,OAAOT,EAA4ChQ,EAAEvV,WAAU,WAC3DsnB,GAAYlxB,GAAYA,EAASqxB,KAClC,CAAEA,IAAYA,IAGtB,SAAShb,EAAQ5qB,GAChB4qB,EAAO5qB,QAAU8hC,GAClB,SAASlX,EAAQ2X,EAAqB6D,GACrC,aACA,SAASC,EAAc/Q,GACnB,MAAO,IAAMA,EAAM0E,cAOvB,IAAIsM,EAAmB,SAAUC,EAAY,OAAQC,EAAQ,GAC7DjE,EAAoB7O,EANpB,SAA4BzxC,GACxB,GAAIukD,EAAM1kC,eAAe7f,GAAO,OAAOukD,EAAMvkD,GAC7C,IAAIwkD,EAAQxkD,EAAK8e,QAAQulC,EAAkBD,GAC3C,OAAOG,EAAMvkD,GAAQskD,EAAU9wD,KAAKgxD,GAAS,IAAMA,EAAQA,IAIhE,SAAS7b,EAAQ2X,EAAqB,GACrC,aACA,IAAImE,EAAqD,EAAoB,GAAIC,EAA4C,EAAoB,IAcjJpE,EAAoB7O,EAPP,SAASl/B,GAClB,IAAIoyC,EAAQ,GACZ,OAAO3rD,OAAOsH,KAAKokD,EAA0CjT,EAAEmT,KAAK1xD,SAAQ,SAASuf,GACjF,IAAIqnC,EAAIvnC,EAAIE,GACZ,MAAQqnC,GAAK6K,EAAMhzC,KATf,SAASc,EAAGqnC,GACpB,IAAI+K,EAAU7rD,OAAOyrD,EAAmDhT,EAA1Dz4C,CAA6DyZ,GAC3E,MAAO,iBAAmBqnC,IAAMA,EAAI,GAAGzlC,OAAOylC,EAAG,QAAQ,IAAOA,EAAI+K,GAAU,IAAO/K,EAH9E,OAAOzlC,OAGkFwwC,GAAW,IAAIxwC,OAAOwwC,EAAS,MAAMxwC,OAAOylC,EAAG,KAOnHgL,CAAOryC,EAAGqnC,OAC7B6K,EANI7wD,KAAK,WASvB,SAAS60C,EAAQ5qB,EAAS,GACzB,aACA4qB,EAAO5qB,QAAU,EAAoB,KACtC,SAAS4qB,EAAQ5qB,EAASomC,GACzB,aACAxb,EAAO5qB,QAAU,gDAClB,SAAS4qB,EAAQ2X,EAAqB,GACrC,aACA,IAAIkB,EAAsC,EAAoB,GAA8GuD,EAA5D,EAAoBhQ,EAAEyM,GAA4F/P,EAAEtmC,gBACpOm1C,EAAoB7O,EAAIsT,GACzB,SAASpc,EAAQ2X,EAAqB,GACrC,aACAtnD,OAAO6a,eAAeysC,EAAqB,aAAc,CACrDvwD,OAAO,IAEX,IAAIi1D,EAA+C,EAAoB,GAAIC,EAA2C,EAAoB,IAAKC,EAAyC,EAAoB,GAAIC,EAAyC,EAAoB,GAC7Q,EAAoBjF,EAAEI,EAAqB,WAAW,WAClD,OAAO2E,EAAyCxT,KAChD,EAAoByO,EAAEI,EAAqB,iBAAiB,WAC5D,OAAO0E,EAA6CvT,KACpD,EAAoByO,EAAEI,EAAqB,WAAW,WACtD,OAAO4E,EAAuCzT,KAC9C,EAAoByO,EAAEI,EAAqB,WAAW,WACtD,OAAO6E,EAAuC1T,MAEnD,SAAS9I,EAAQ5qB,EAAS,GACzB,aACA,SAASqnC,EAAI9C,EAAOhwC,EAAQ+yC,GAOxB,SAASxmD,EAAOymD,GACZ1e,EAAK+c,QAAU2B,EAAI3B,QAAS/c,EAAK2e,MAAQD,EAAIC,MAKjD,IAAI3e,EAAOv3C,KACX,GAAIm2D,IAAiBH,EAAa,CAC9B,IAAII,EAAMD,EAAa5nD,KAAKgY,OAAQ0sC,GACpCjzD,KAAKs0D,QAAU8B,EAAI9B,QAASt0D,KAAKk2D,MAAQE,EAAIF,MAAOE,EAAIzB,YAAYnlD,QACjExP,KAAKs0D,QAAU+B,EAAYpD,EAAOhwC,GAASjjB,KAAKk2D,MAAQjD,EAC/DjzD,KAAK20D,YAjBL,SAAqB2B,GACjBF,GAAOA,EAAIzB,YAAY2B,IAgBKt2D,KAAK40D,eAdrC,SAAwB0B,GACpBF,GAAOA,EAAIxB,eAAe0B,IAawCt2D,KAAKo0D,QAR3E,WACIgC,GAAOA,EAAIxB,eAAeplD,IAYlC,IAAI6mD,EAAc,EAAoB,GAAGrS,MAAOmS,EAAe,oBAAsB5vC,OAASA,OAAOgwC,WAAa,KAClHjd,EAAO5qB,QAJP,SAAoBukC,EAAOhwC,EAAQ+yC,GAC/B,OAAO,IAAID,EAAI9C,EAAOhwC,EAAQ+yC,KAInC,SAAS1c,EAAQ5qB,EAASomC,GACzB,aAkDA,SAAS0B,EAAWjC,GAChB,OAAOA,EAAWjwD,MAAM,KAAK6e,KAAI,SAAS8vC,GAEtC,IAAIwD,GADJxD,EAAQA,EAAM7L,QACOpD,MAAM0S,GAAiBtX,EAAWqX,EAAS,GAAIxpD,EAAOwpD,EAAS,GAAIE,EAAcF,EAAS,IAAM,GAAIG,EAAS,GAClI,OAAOA,EAAOC,UAAYzX,GAAY,QAAUA,EAASsJ,cAAekO,EAAO3pD,KAAOA,EAAOA,EAAKy7C,cAAgB,MAClHiO,EAAcA,EAAY3S,MAAM,gBAAkB,GAAI4S,EAAOD,YAAcA,EAAYxzC,KAAI,SAAS2zC,GAChG,IAAIL,EAAWK,EAAW9S,MAAM+S,GAAmBC,EAAUP,EAAS,GAAG/N,cAAc1E,MAAMiT,GAC7F,MAAO,CACH7X,SAAU4X,EAAQ,GAClBA,QAASA,EAAQ,GACjBt2D,MAAO+1D,EAAS,OAEpBG,KAGZ,SAASM,EAAUC,GACf,IAAIC,EAASC,EAAU3+B,OAAOy+B,GAC9B,OAAOE,IAA2DA,GAA/CD,EAAUD,EAAMnT,MAAM,yBAA2C,GAAKoT,EAAQ,IACjGC,EAEJ,SAASC,EAAMC,GACX,IAAI72D,EAAQ++C,WAAW8X,GACvB,OAAQC,OAAOD,GAAYvT,MAAMyT,GAAoB,IACnD,IAAK,OACH,OAAO/2D,EAAQ,KAEjB,IAAK,OACH,OAAO,GAAKA,EAEd,QACE,OAAOA,GAGf,SAASg3D,EAAKnzD,GACV,IAAI7D,EAAQ++C,WAAWl7C,GACvB,OAAQizD,OAAOjzD,GAAQy/C,MAAM2T,GAAgB,IAC3C,IAAK,KACL,IAAK,MACH,OAAO,GAAKj3D,EAEd,IAAK,KACH,OAAO,GAAKA,EAAQ,KAEtB,IAAK,KACH,OAAO,GAAKA,EAAQ,KAAO,GAE7B,IAAK,KACH,OAAO,GAAKA,EAEd,IAAK,KACH,OAAO,GAAKA,EAEd,IAAK,KACH,OAAO,GAAKA,EAAQ,GAEtB,QACE,OAAOA,GAGfguB,EAAQs1B,MA5GR,SAAoBuQ,EAAYtxC,GAC5B,OAAOuzC,EAAWjC,GAAY/P,MAAK,SAASyO,GACxC,IAAI4D,EAAU5D,EAAM4D,QAASe,EAAY,QAAU3E,EAAMhmD,MAAQgW,EAAOhW,OAASgmD,EAAMhmD,KACvF,GAAI2qD,GAAaf,IAAYe,IAAcf,EAAS,OAAO,EAC3D,IAAIgB,EAAmB5E,EAAM0D,YAAYmB,OAAM,SAAShB,GACpD,IAAIE,EAAUF,EAAWE,QAAS5X,EAAW0X,EAAW1X,SAAU2Y,EAAWjB,EAAWp2D,MAAOA,EAAQuiB,EAAO+zC,GAC9G,IAAKt2D,EAAO,OAAO,EACnB,OAAQs2D,GACN,IAAK,cACL,IAAK,OACH,OAAOt2D,EAAMgoD,gBAAkBqP,EAASrP,cAE1C,IAAK,QACL,IAAK,SACL,IAAK,eACL,IAAK,gBACHqP,EAAWL,EAAKK,GAAWr3D,EAAQg3D,EAAKh3D,GACxC,MAEF,IAAK,aACHq3D,EAAWT,EAAMS,GAAWr3D,EAAQ42D,EAAM52D,GAC1C,MAEF,IAAK,eACL,IAAK,sBACL,IAAK,qBACHq3D,EAAWb,EAAUa,GAAWr3D,EAAQw2D,EAAUx2D,GAClD,MAEF,IAAK,OACL,IAAK,QACL,IAAK,cACL,IAAK,aACHq3D,EAAWtoB,SAASsoB,EAAU,KAAO,EAAGr3D,EAAQ+uC,SAAS/uC,EAAO,KAAO,EAE3E,OAAQ0+C,GACN,IAAK,MACH,OAAO1+C,GAASq3D,EAElB,IAAK,MACH,OAAOr3D,GAASq3D,EAElB,QACE,OAAOr3D,IAAUq3D,MAGzB,OAAOF,IAAqBhB,IAAYgB,GAAoBhB,MA8DxCnoC,EAAQpf,MAAQknD,EAC5C,IAAIE,EAAiB,sDAAuDK,EAAmB,gDAAiDE,EAAgB,uBAAwBU,EAAiB,+BAAgCF,EAAqB,qBAC/P,SAASne,EAAQ5qB,EAASomC,GACzB,aAYAxb,EAAO5qB,QAXP,SAA6BspC,EAAMC,GAC/B,GAAID,IAASC,EAAM,OAAO,EAC1B,IAAKD,IAASC,EAAM,OAAO,EAC3B,IAAIC,EAAQvuD,OAAOsH,KAAK+mD,GAAOG,EAAQxuD,OAAOsH,KAAKgnD,GAAOzP,EAAM0P,EAAM3zD,OACtE,GAAI4zD,EAAM5zD,SAAWikD,EAAK,OAAO,EACjC,IAAK,IAAItmC,EAAI,EAAGA,EAAIsmC,EAAKtmC,IAAK,CAC1B,IAAIZ,EAAM42C,EAAMh2C,GAChB,GAAI81C,EAAK12C,KAAS22C,EAAK32C,KAAS3X,OAAOmF,UAAU0hB,eAAejiB,KAAK0pD,EAAM32C,GAAM,OAAO,EAE5F,OAAO,IAGZ,SAASg4B,EAAQ2X,EAAqB,GACrC,aACA,SAASrtC,EAAQC,EAAQC,GACrB,IAAI7S,EAAOtH,OAAOsH,KAAK4S,GACvB,GAAIla,OAAOoa,sBAAuB,CAC9B,IAAIC,EAAUra,OAAOoa,sBAAsBF,GAC3CC,IAAmBE,EAAUA,EAAQrgB,QAAO,SAASsgB,GACjD,OAAOta,OAAOua,yBAAyBL,EAAQI,GAAKE,eACnDlT,EAAKqR,KAAKvQ,MAAMd,EAAM+S,GAE/B,OAAO/S,EAEX,SAASmT,EAAclX,GACnB,IAAK,IAAIgV,EAAI,EAAGA,EAAIvX,UAAUpG,OAAQ2d,IAAK,CACvC,IAAImC,EAAS,MAAQ1Z,UAAUuX,GAAKvX,UAAUuX,GAAK,GACnDA,EAAI,EAAI0B,EAAQja,OAAO0a,IAAS,GAAIxgB,SAAQ,SAASyd,GACjD82C,EAAgBlrD,EAAQoU,EAAK+C,EAAO/C,OACnC3X,OAAO2a,0BAA4B3a,OAAO4a,iBAAiBrX,EAAQvD,OAAO2a,0BAA0BD,IAAWT,EAAQja,OAAO0a,IAASxgB,SAAQ,SAASyd,GACzJ3X,OAAO6a,eAAetX,EAAQoU,EAAK3X,OAAOua,yBAAyBG,EAAQ/C,OAGnF,OAAOpU,EAEX,SAASkrD,EAAgBl1C,EAAK5B,EAAK5gB,GAC/B,OAAO4gB,KAAO4B,EAAMvZ,OAAO6a,eAAetB,EAAK5B,EAAK,CAChD5gB,MAAOA,EACPyjB,YAAY,EACZ0zB,cAAc,EACdD,UAAU,IACT10B,EAAI5B,GAAO5gB,EAAOwiB,EAE3B,IAAIm1C,EAA2C,EAAoB,IAAKC,EAAmD,EAAoB5S,EAAE2S,GAA2CE,EAAiBD,EAAiDlW,EAAE8M,UAAU,CAAEoJ,EAAiDlW,EAAE4M,OAAQsJ,EAAiDlW,EAAEoK,SAAWgM,EAAW,CAC5YC,YAAaH,EAAiDlW,EAAEsW,MAAM,CAAE,WAAY,cACpFC,KAAML,EAAiDlW,EAAEsW,MAAM,CAAE,cAAe,cAChFE,YAAaN,EAAiDlW,EAAE4M,OAChE6J,kBAAmBP,EAAiDlW,EAAE4M,OACtEtmD,OAAQ6vD,EACRO,aAAcP,EACdxvD,MAAOwvD,EACPQ,YAAaR,EACb/zD,MAAO8zD,EAAiDlW,EAAE+M,KAC1D6J,WAAYV,EAAiDlW,EAAE+M,KAC/D8J,WAAYX,EAAiDlW,EAAE+M,KAC/DoI,WAAYgB,GACbW,EAAW90C,EAAc,CACxB+0C,eAAgBb,EAAiDlW,EAAE4M,OACnEoK,eAAgBd,EAAiDlW,EAAE4M,OACnEqK,qBAAsBf,EAAiDlW,EAAE4M,OACzEsK,qBAAsBhB,EAAiDlW,EAAE4M,OACzExiC,UAAW+rC,EACXgB,UAAWhB,EACXiB,gBAAiBjB,EACjBkB,gBAAiBlB,EACjB/kC,SAAU+kC,EACV91D,SAAU81D,EACVmB,eAAgBnB,EAChBoB,eAAgBpB,EAChBqB,SAAUtB,EAAiDlW,EAAEoK,OAC7DqN,SAAUvB,EAAiDlW,EAAEoK,OAC7DsN,cAAexB,EAAiDlW,EAAEoK,OAClEuN,cAAezB,EAAiDlW,EAAEoK,OAClEwN,cAAe1B,EAAiDlW,EAAEoK,OAClEyN,cAAe3B,EAAiDlW,EAAEoK,OAClE0N,cAAe3B,EACf4B,cAAe5B,GAChBC,GAAW4B,EAAQ,CAClB7E,IAAK+C,EAAiDlW,EAAE+M,KACxDkL,KAAM/B,EAAiDlW,EAAE+M,KACzDmL,MAAOhC,EAAiDlW,EAAE+M,KAC1DoL,QAASjC,EAAiDlW,EAAE+M,KAC5DqL,SAAUlC,EAAiDlW,EAAE+M,KAC7DsL,MAAOnC,EAAiDlW,EAAE+M,KAC1DuL,WAAYpC,EAAiDlW,EAAE+M,KAC/D3U,OAAQ8d,EAAiDlW,EAAE+M,KAC3DwL,IAAKrC,EAAiDlW,EAAE+M,KACxDyL,GAAItC,EAAiDlW,EAAE+M,KACvD0L,SAAUvC,EAAiDlW,EAAE+M,MAC9DoG,EAAMnxC,EAAcA,EAAc,GAAIg2C,GAAQlB,GACjDV,EAASvrD,KAAOtD,OAAOsH,KAAKmpD,GAAQnJ,EAAoB7O,EAAI,CACxDmT,IAAKA,EACL6E,MAAOA,EACP5B,SAAUA,EACVU,SAAUA,IAEf,SAAS5f,EAAQ5qB,EAAS,GACzB,IAAIosC,EAAU,EAAoB,GAClCxhB,EAAO5qB,QAAU,EAAoB,GAApB,CAAwBosC,EAAQC,WAAW,IAC7D,SAASzhB,EAAQ5qB,EAASomC,GACzB,cACC,WAIG,SAASkG,EAAOn3C,GACZ,GAAI,iBAAmBA,GAAU,OAASA,EAAQ,CAC9C,IAAIwoC,EAAWxoC,EAAOwoC,SACtB,OAAQA,GACN,KAAK4O,EACH,IAAIhuD,EAAO4W,EAAO5W,KAClB,OAAQA,GACN,KAAKiuD,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACH,OAAOtuD,EAET,QACE,IAAIuuD,EAAevuD,GAAQA,EAAKo/C,SAChC,OAAQmP,GACN,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACL,KAAKC,EACH,OAAOL,EAET,QACE,OAAOnP,GAIjB,KAAKyP,EACH,OAAOzP,IASnB,SAAS0P,EAAiBl4C,GACtB,OAAOm3C,EAAOn3C,KAAYs3C,EAmC9B,IAAIa,EAAY,mBAAqB5K,QAAUA,OAAO6K,IAAKhB,EAAqBe,EAAY5K,OAAO6K,IAAI,iBAAmB,MAAOH,EAAoBE,EAAY5K,OAAO6K,IAAI,gBAAkB,MAAOb,EAAsBY,EAAY5K,OAAO6K,IAAI,kBAAoB,MAAOX,EAAyBU,EAAY5K,OAAO6K,IAAI,qBAAuB,MAAOZ,EAAsBW,EAAY5K,OAAO6K,IAAI,kBAAoB,MAAOJ,EAAsBG,EAAY5K,OAAO6K,IAAI,kBAAoB,MAAOR,EAAqBO,EAAY5K,OAAO6K,IAAI,iBAAmB,MAAOf,EAAwBc,EAAY5K,OAAO6K,IAAI,oBAAsB,MAAOd,EAA6Ba,EAAY5K,OAAO6K,IAAI,yBAA2B,MAAOP,EAAyBM,EAAY5K,OAAO6K,IAAI,qBAAuB,MAAOV,EAAsBS,EAAY5K,OAAO6K,IAAI,kBAAoB,MAAOC,EAA2BF,EAAY5K,OAAO6K,IAAI,uBAAyB,MAAOL,EAAkBI,EAAY5K,OAAO6K,IAAI,cAAgB,MAAON,EAAkBK,EAAY5K,OAAO6K,IAAI,cAAgB,MAAOE,EAAmBH,EAAY5K,OAAO6K,IAAI,eAAiB,MAAOG,EAAyBJ,EAAY5K,OAAO6K,IAAI,qBAAuB,MAAOI,EAAuBL,EAAY5K,OAAO6K,IAAI,mBAAqB,MAAOK,EAAmBN,EAAY5K,OAAO6K,IAAI,eAAiB,MAAOM,EAAYrB,EAAuBsB,EAAiBrB,EAA4BsB,EAAkBhB,EAAoBiB,EAAkBb,EAAqBjQ,EAAUqP,EAAoB0B,EAAajB,EAAwB9xB,EAAWwxB,EAAqBwB,EAAOjB,EAAiBkB,EAAOjB,EAAiBpiC,EAASsiC,EAAmBgB,EAAWzB,EAAqB0B,EAAazB,EAAwB0B,EAAWzB,EAAqB0B,GAAsC,EAC9yDvuC,EAAQ6tC,UAAYA,EAAW7tC,EAAQ8tC,eAAiBA,EAAgB9tC,EAAQ+tC,gBAAkBA,EAClG/tC,EAAQguC,gBAAkBA,EAAiBhuC,EAAQk9B,QAAUA,EAASl9B,EAAQiuC,WAAaA,EAC3FjuC,EAAQkb,SAAWA,EAAUlb,EAAQkuC,KAAOA,EAAMluC,EAAQmuC,KAAOA,EAAMnuC,EAAQ8K,OAASA,EACxF9K,EAAQouC,SAAWA,EAAUpuC,EAAQquC,WAAaA,EAAYruC,EAAQsuC,SAAWA,EACjFtuC,EAAQwuC,YA9CR,SAAqBr5C,GACjB,OAAOo5C,IAAwCA,GAAsC,EACrFptD,QAAQC,KAAK,kLACbisD,EAAiBl4C,IAAWm3C,EAAOn3C,KAAYq3C,GA2ChBxsC,EAAQqtC,iBAAmBA,EAC9DrtC,EAAQyuC,kBAvCR,SAA2Bt5C,GACvB,OAAOm3C,EAAOn3C,KAAY43C,GAsCiB/sC,EAAQ0uC,kBApCvD,SAA2Bv5C,GACvB,OAAOm3C,EAAOn3C,KAAYg4C,GAoC9BntC,EAAQqsC,UAlCR,SAAmBl3C,GACf,MAAO,iBAAmBA,GAAU,OAASA,GAAUA,EAAOwoC,WAAa4O,GAiChDvsC,EAAQ2uC,aA/BvC,SAAsBx5C,GAClB,OAAOm3C,EAAOn3C,KAAY63C,GA8BsChtC,EAAQ4uC,WA5B5E,SAAoBz5C,GAChB,OAAOm3C,EAAOn3C,KAAYu3C,GA4B9B1sC,EAAQ6uC,OA1BR,SAAgB15C,GACZ,OAAOm3C,EAAOn3C,KAAY83C,GAyBLjtC,EAAQ8uC,OAvBjC,SAAgB35C,GACZ,OAAOm3C,EAAOn3C,KAAY+3C,GAsBoBltC,EAAQ+uC,SApB1D,SAAkB55C,GACd,OAAOm3C,EAAOn3C,KAAYi4C,GAmBiDptC,EAAQgvC,WAjBvF,SAAoB75C,GAChB,OAAOm3C,EAAOn3C,KAAYw3C,GAiB9B3sC,EAAQivC,aAfR,SAAsB95C,GAClB,OAAOm3C,EAAOn3C,KAAYy3C,GAcO5sC,EAAQkvC,WAZ7C,SAAoB/5C,GAChB,OAAOm3C,EAAOn3C,KAAY03C,GAWwC7sC,EAAQmvC,mBAxF9E,SAA4B5wD,GACxB,MAAO,iBAAmBA,GAAQ,mBAAqBA,GAAQA,IAASmuD,GAAuBnuD,IAASkuD,GAA8BluD,IAASouD,GAAuBpuD,IAASquD,GAA0BruD,IAASsuD,GAAuBtuD,IAASivD,GAA4B,iBAAmBjvD,GAAQ,OAASA,IAASA,EAAKo/C,WAAasP,GAAmB1uD,EAAKo/C,WAAauP,GAAmB3uD,EAAKo/C,WAAawP,GAAuB5uD,EAAKo/C,WAAaoP,GAAsBxuD,EAAKo/C,WAAaqP,GAA0BzuD,EAAKo/C,WAAa+P,GAA0BnvD,EAAKo/C,WAAagQ,GAAwBpvD,EAAKo/C,WAAaiQ,GAAoBrvD,EAAKo/C,WAAa8P,IAwFppBztC,EAAQssC,OAASA,EA1FpB,IA4FF,SAAS1hB,EAAQ5qB,EAAS,GACzB,aACA,SAASovC,IACL,OAAO,KAEX,IAA4NC,EAAxNjD,EAAU,EAAoB,GAAIlxD,EAAS,EAAoB,IAAKo0D,EAAuB,EAAoB,GAAIC,EAAiB,EAAoB,IAAKC,EAAMC,SAAS5vD,KAAKyU,KAAKrZ,OAAOmF,UAAU0hB,gBAC3MutC,EAAe,SAAStlD,GACpB,IAAI8zC,EAAU,YAAc9zC,EAC5B,oBAAsB5I,SAAWA,QAAQy8C,MAAMC,GAC/C,IACI,MAAM,IAAI7nD,MAAM6nD,GAClB,MAAO7oD,MACV41C,EAAO5qB,QAAU,SAASnN,EAAgB68C,GAKzC,SAASC,EAAG36D,EAAGwnC,GACX,OAAOxnC,IAAMwnC,EAAI,IAAMxnC,GAAK,EAAIA,GAAK,EAAIwnC,EAAIxnC,GAAMA,GAAKwnC,GAAMA,EAElE,SAASozB,EAAc/R,GACnBvsD,KAAKusD,QAAUA,EAASvsD,KAAKu+D,MAAQ,GAEzC,SAASC,EAA2BC,GAChC,SAASC,EAAU5sC,EAAYhyB,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,EAAcC,GACnF,GAAI/wD,EAAgBA,GAAiBgxD,EAAWF,EAAeA,GAAgBD,EAC/EE,IAAWb,EAAsB,CAC7B,GAAII,EAAqB,CACrB,IAAIzM,EAAM,IAAIjtD,MAAM,qLACpB,MAAMitD,EAAIhhD,KAAO,sBAAuBghD,EAE5C,GAAI,oBAAsB9hD,QAAS,CAC/B,IAAIkvD,EAAWjxD,EAAgB,IAAM6wD,GACpCK,EAAwBD,IAAaE,EAA6B,IAAMlB,EAAa,2EAA6Ea,EAAe,cAAgB9wD,EAAgB,wNAClNkxD,EAAwBD,IAAY,EAAIE,MAGhD,OAAO,MAAQn/D,EAAM6+D,GAAY7sC,EAAa,IAAIwsC,EAAc,OAASx+D,EAAM6+D,GAAY,OAASvuB,EAAW,KAAOwuB,EAAe,+BAAiC9wD,EAAgB,8BAAgC,OAASsiC,EAAW,KAAOwuB,EAAe,+BAAiC9wD,EAAgB,oCAAsC,KAAO2wD,EAAS3+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GAErZ,IAAII,EAA0B,GAAIC,EAA6B,EAAGC,EAAmBR,EAAU17C,KAAK,MAAM,GAC1G,OAAOk8C,EAAiBptC,WAAa4sC,EAAU17C,KAAK,MAAM,GAAKk8C,EAEnE,SAASC,EAA2BC,GAMhC,OAAOZ,GALP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,EAAcC,GACtE,IAAIQ,EAAYv/D,EAAM6+D,GACtB,OAAIW,EAAYD,KAAeD,EAAqB,IAAId,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,cAAgBW,EAAeF,GAAa,kBAAoBvxD,EAAgB,gBAAkBsxD,EAAe,MAC9N,QAmGf,SAASI,EAAOH,GACZ,cAAeA,GACb,IAAK,SACL,IAAK,SACL,IAAK,YACH,OAAO,EAET,IAAK,UACH,OAAQA,EAEV,IAAK,SACH,GAAIl5C,MAAMoQ,QAAQ8oC,GAAY,OAAOA,EAAUvH,MAAM0H,GACrD,GAAI,OAASH,GAAa99C,EAAe89C,GAAY,OAAO,EAC5D,IAAII,EAjJZ,SAAuBC,GACnB,IAAID,EAAaC,IAAkBC,GAAmBD,EAAcC,IAAoBD,EAAcE,IACtG,GAAI,mBAAqBH,EAAY,OAAOA,EA+IvBI,CAAcR,GAC/B,IAAKI,EAAY,OAAO,EACxB,IAAIvW,EAAMmI,EAAWoO,EAAWlxD,KAAK8wD,GACrC,GAAII,IAAeJ,EAAUS,SACzB,OAAQ5W,EAAOmI,EAASrvC,QAAQgJ,MAAQ,IAAKw0C,EAAOtW,EAAKxoD,OAAQ,OAAO,OACrE,OAAQwoD,EAAOmI,EAASrvC,QAAQgJ,MAAQ,CAC3C,IAAI+0C,EAAQ7W,EAAKxoD,MACjB,GAAIq/D,IAAUP,EAAOO,EAAM,IAAK,OAAO,EAE3C,OAAO,EAET,QACE,OAAO,GAMf,SAAST,EAAYD,GACjB,IAAIW,SAAkBX,EACtB,OAAOl5C,MAAMoQ,QAAQ8oC,GAAa,QAAUA,aAAqBrlB,OAAS,SAL9E,SAAkBgmB,EAAUX,GACxB,MAAO,WAAaW,KAAcX,IAAc,WAAaA,EAAU,kBAAoB,mBAAqBjO,QAAUiO,aAAqBjO,QAI1D6O,CAASD,EAAUX,GAAa,SAAWW,EAEpI,SAAST,EAAeF,GACpB,GAAI,MAAWA,EAAiC,MAAO,GAAKA,EAC5D,IAAIW,EAAWV,EAAYD,GAC3B,GAAI,WAAaW,EAAU,CACvB,GAAIX,aAAqBx5C,KAAM,MAAO,OACtC,GAAIw5C,aAAqBrlB,OAAQ,MAAO,SAE5C,OAAOgmB,EAEX,SAASE,EAAyBx/D,GAC9B,IAAIuM,EAAOsyD,EAAe7+D,GAC1B,OAAQuM,GACN,IAAK,QACL,IAAK,SACH,MAAO,MAAQA,EAEjB,IAAK,UACL,IAAK,OACL,IAAK,SACH,MAAO,KAAOA,EAEhB,QACE,OAAOA,GAMf,IAAI0yD,EAAkB,mBAAqBvO,QAAUA,OAAOC,SAAUuO,EAAuB,aAAcd,EAAY,gBAAiBqB,EAAiB,CACrJC,MAAOjB,EAA2B,SAClChQ,KAAMgQ,EAA2B,WACjC/P,KAAM+P,EAA2B,YACjC3S,OAAQ2S,EAA2B,UACnCt7C,OAAQs7C,EAA2B,UACnCnQ,OAAQmQ,EAA2B,UACnCkB,OAAQlB,EAA2B,UACnClQ,IACWuP,EAA2BV,GAEtCwC,QAzKJ,SAAkCC,GAa9B,OAAO/B,GAZP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,GAAI,mBAAqB2B,EAAa,OAAO,IAAIjC,EAAc,aAAeM,EAAe,mBAAqB9wD,EAAgB,mDAClI,IAAIuxD,EAAYv/D,EAAM6+D,GACtB,IAAKx4C,MAAMoQ,QAAQ8oC,GACf,OAAO,IAAIf,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,cAAgBU,EAAYD,GAAa,kBAAoBvxD,EAAgB,yBAExJ,IAAK,IAAIoU,EAAI,EAAGA,EAAIm9C,EAAU96D,OAAQ2d,IAAK,CACvC,IAAIoqC,EAAQiU,EAAYlB,EAAWn9C,EAAGpU,EAAesiC,EAAUwuB,EAAe,IAAM18C,EAAI,IAAK87C,GAC7F,GAAI1R,aAAiB5nD,MAAO,OAAO4nD,EAEvC,OAAO,SA+JX/2B,QAQWipC,GAPP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,IAAIS,EAAYv/D,EAAM6+D,GACtB,OAAKp9C,EAAe89C,GAGb,KAFI,IAAIf,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,cAAgBU,EAAYD,GAAa,kBAAoBvxD,EAAgB,yCAMhK0yD,YAQWhC,GAPP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,IAAIS,EAAYv/D,EAAM6+D,GACtB,OAAK7D,EAAQ+C,mBAAmBwB,GAGzB,KAFI,IAAIf,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,cAAgBU,EAAYD,GAAa,kBAAoBvxD,EAAgB,8CAMhK2yD,WA/KJ,SAAmCC,GAQ/B,OAAOlC,GAPP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,KAAM9+D,EAAM6+D,aAAqB+B,GAAgB,CAC7C,IAAIC,EAAoBD,EAAc/vD,MAAQmuD,EAC9C,OAAO,IAAIR,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,iBAwI7DS,EAxI0Fv/D,EAAM6+D,IAyIjG9+D,aAAew/D,EAAUx/D,YAAY8Q,KAAO0uD,EAAUx/D,YAAY8Q,KAAOmuD,GAzIqC,mBAAoBhxD,EAAgB,4BAA8B6yD,EAAoB,MAwIzN,IAAsBtB,EAtId,OAAO,SA0KXh/C,KAIWm+C,GAHP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,OAAOY,EAAO1/D,EAAM6+D,IAAa,KAAO,IAAIL,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,kBAAoB9wD,EAAgB,+BAIpJ8yD,SAjKJ,SAAmCL,GAW/B,OAAO/B,GAVP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,GAAI,mBAAqB2B,EAAa,OAAO,IAAIjC,EAAc,aAAeM,EAAe,mBAAqB9wD,EAAgB,oDAClI,IAAIuxD,EAAYv/D,EAAM6+D,GAAWqB,EAAWV,EAAYD,GACxD,GAAI,WAAaW,EAAU,OAAO,IAAI1B,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,cAAgBoB,EAAW,kBAAoBlyD,EAAgB,0BACjK,IAAK,IAAIwT,KAAO+9C,EAAW,GAAInB,EAAImB,EAAW/9C,GAAM,CAChD,IAAIgrC,EAAQiU,EAAYlB,EAAW/9C,EAAKxT,EAAesiC,EAAUwuB,EAAe,IAAMt9C,EAAK08C,GAC3F,GAAI1R,aAAiB5nD,MAAO,OAAO4nD,EAEvC,OAAO,SAyJXoM,MA7KJ,SAA+BmI,GAC3B,SAASpC,EAAS3+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,IAAK,IAAIS,EAAYv/D,EAAM6+D,GAAWz8C,EAAI,EAAGA,EAAI2+C,EAAet8D,OAAQ2d,IAAK,GAAIm8C,EAAGgB,EAAWwB,EAAe3+C,IAAK,OAAO,KAC1H,IAAI4+C,EAAezxD,KAAKE,UAAUsxD,GAAgB,SAASv/C,EAAK5gB,GAC5D,MAAO,WAAa6+D,EAAe7+D,GAAS82D,OAAO92D,GAASA,KAEhE,OAAO,IAAI49D,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,eAAiBpH,OAAO6H,GAAa,kBAAoBvxD,EAAgB,sBAAwBgzD,EAAe,KAE3L,OAAO36C,MAAMoQ,QAAQsqC,GAAkBrC,EAA2BC,IAAaV,EAAapzD,UAAUpG,OAAS,EAAI,+DAAiEoG,UAAUpG,OAAS,uFAAyF,0DAChSu5D,IAqKA5O,UAtJJ,SAAgC6R,GAO5B,IAAK56C,MAAMoQ,QAAQwqC,GAAsB,OAAOhD,EAAa,0EAC7DD,EACA,IAAK,IAAI57C,EAAI,EAAGA,EAAI6+C,EAAoBx8D,OAAQ2d,IAAK,CACjD,IAAI8+C,EAAUD,EAAoB7+C,GAClC,GAAI,mBAAqB8+C,EAAS,OAAOjD,EAAa,8FAAgGmC,EAAyBc,GAAW,aAAe9+C,EAAI,KAC7M47C,EAEJ,OAAOU,GAbP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,IAAK,IAAI18C,EAAI,EAAGA,EAAI6+C,EAAoBx8D,OAAQ2d,IAC5C,GAAI,OAAQ,EAAI6+C,EAAoB7+C,IAAIpiB,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,EAAcZ,GAAuB,OAAO,KAElI,OAAO,IAAIM,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,kBAAoB9wD,EAAgB,UAkJ/GmzD,MAvIJ,SAAgCC,GAa5B,OAAO1C,GAZP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,IAAIS,EAAYv/D,EAAM6+D,GAAWqB,EAAWV,EAAYD,GACxD,GAAI,WAAaW,EAAU,OAAO,IAAI1B,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,cAAgBoB,EAAW,kBAAoBlyD,EAAgB,yBACjK,IAAK,IAAIwT,KAAO4/C,EAAY,CACxB,IAAIF,EAAUE,EAAW5/C,GACzB,GAAI0/C,EAAS,CACT,IAAI1U,EAAQ0U,EAAQ3B,EAAW/9C,EAAKxT,EAAesiC,EAAUwuB,EAAe,IAAMt9C,EAAK08C,GACvF,GAAI1R,EAAO,OAAOA,GAG1B,OAAO,SA6HX6U,MAzHJ,SAAsCD,GAalC,OAAO1C,GAZP,SAAkB1+D,EAAO6+D,EAAU7wD,EAAesiC,EAAUwuB,GACxD,IAAIS,EAAYv/D,EAAM6+D,GAAWqB,EAAWV,EAAYD,GACxD,GAAI,WAAaW,EAAU,OAAO,IAAI1B,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,cAAgBoB,EAAW,kBAAoBlyD,EAAgB,yBACjK,IAAIszD,EAAUx3D,EAAO,GAAI9J,EAAM6+D,GAAWuC,GAC1C,IAAK,IAAI5/C,KAAO8/C,EAAS,CACrB,IAAIJ,EAAUE,EAAW5/C,GACzB,IAAK0/C,EAAS,OAAO,IAAI1C,EAAc,WAAaluB,EAAW,KAAOwuB,EAAe,UAAYt9C,EAAM,kBAAoBxT,EAAgB,mBAAqBuB,KAAKE,UAAUzP,EAAM6+D,GAAW,KAAM,MAAQ,iBAAmBtvD,KAAKE,UAAU5F,OAAOsH,KAAKiwD,GAAa,KAAM,OAC/Q,IAAI5U,EAAQ0U,EAAQ3B,EAAW/9C,EAAKxT,EAAesiC,EAAUwuB,EAAe,IAAMt9C,EAAK08C,GACvF,GAAI1R,EAAO,OAAOA,EAEtB,OAAO,UAgHf,OAAOgS,EAAcxvD,UAAYpK,MAAMoK,UAAWqxD,EAAelC,eAAiBA,EAClFkC,EAAekB,kBAAoBpD,EAAeoD,kBAAmBlB,EAAemB,UAAYnB,EAChGA,IAEL,SAAS7mB,EAAQ5qB,EAASomC,GACzB,aACA,SAASyM,EAASC,GACd,GAAI,MAASA,EAAuB,MAAM,IAAInqB,UAAU,yDACxD,OAAO1tC,OAAO63D,GAOlB,IAAIz9C,EAAwBpa,OAAOoa,sBAAuByM,EAAiB7mB,OAAOmF,UAAU0hB,eAAgBixC,EAAmB93D,OAAOmF,UAAU4yD,qBAChJpoB,EAAO5qB,QAAU,WACb,IACI,IAAK/kB,OAAOC,OAAQ,OAAO,EAC3B,IAAI+3D,EAAQ,IAAInK,OAAO,OACvB,GAAImK,EAAM,GAAK,KAAM,MAAQh4D,OAAOi4D,oBAAoBD,GAAO,GAAI,OAAO,EAC1E,IAAK,IAAIE,EAAQ,GAAI3/C,EAAI,EAAGA,EAAI,GAAIA,IAAK2/C,EAAM,IAAMrK,OAAOsK,aAAa5/C,IAAMA,EAC/E,GAAI,eAAiBvY,OAAOi4D,oBAAoBC,GAAO1+C,KAAI,SAASuiC,GAChE,OAAOmc,EAAMnc,MACdjhD,KAAK,IAAK,OAAO,EACpB,IAAIs9D,EAAQ,GACZ,MAAO,uBAAuBz9D,MAAM,IAAIT,SAAQ,SAASm+D,GACrDD,EAAMC,GAAUA,KAChB,yBAA2Br4D,OAAOsH,KAAKtH,OAAOC,OAAO,GAAIm4D,IAAQt9D,KAAK,IAC5E,MAAOktD,GACL,OAAO,GAdE,GAgBXhoD,OAAOC,OAAS,SAASsD,EAAQmX,GACnC,IAAK,IAAI7I,EAAMwI,EAASvI,EAAK8lD,EAASr0D,GAAS8jD,EAAI,EAAGA,EAAIrmD,UAAUpG,OAAQysD,IAAK,CAE7E,IAAK,IAAI1vC,KADT9F,EAAO7R,OAAOgB,UAAUqmD,IACFxgC,EAAejiB,KAAKiN,EAAM8F,KAAS7F,EAAG6F,GAAO9F,EAAK8F,IACxE,GAAIyC,EAAuB,CACvBC,EAAUD,EAAsBvI,GAChC,IAAK,IAAI0G,EAAI,EAAGA,EAAI8B,EAAQzf,OAAQ2d,IAAKu/C,EAAiBlzD,KAAKiN,EAAMwI,EAAQ9B,MAAQzG,EAAGuI,EAAQ9B,IAAM1G,EAAKwI,EAAQ9B,MAG3H,OAAOzG,IAEZ,SAAS69B,EAAQ5qB,EAAS,GACzB,aACA,SAASuvC,EAAegE,EAAWh/C,EAAQmtB,EAAUtiC,EAAeo0D,GAChE,IAAK,IAAIC,KAAgBF,EAAW,GAAI/D,EAAI+D,EAAWE,GAAe,CAClE,IAAI7V,EACJ,IACI,GAAI,mBAAqB2V,EAAUE,GAAe,CAC9C,IAAIxQ,EAAMjtD,OAAOoJ,GAAiB,eAAiB,KAAOsiC,EAAW,UAAY+xB,EAAe,oGAAsGF,EAAUE,GAAgB,MAChO,MAAMxQ,EAAIhhD,KAAO,sBAAuBghD,EAE5CrF,EAAQ2V,EAAUE,GAAcl/C,EAAQk/C,EAAcr0D,EAAesiC,EAAU,KAAM4tB,GACvF,MAAOoE,GACL9V,EAAQ8V,EAEZ,IAAK9V,GAASA,aAAiB5nD,OAASq5D,GAAcjwD,GAAiB,eAAiB,2BAA6BsiC,EAAW,KAAO+xB,EAAe,kGAAoG7V,EAAQ,kKAClQA,aAAiB5nD,SAAW4nD,EAAMC,WAAW8V,GAAqB,CAC9DA,EAAmB/V,EAAMC,UAAW,EACpC,IAAIgS,EAAQ2D,EAAWA,IAAa,GACpCnE,EAAa,UAAY3tB,EAAW,UAAYkc,EAAMC,SAAW,MAAQgS,EAAQA,EAAQ,OAIrG,IAAIR,EAAe,aAAeC,EAAuB,EAAoB,GAAIqE,EAAqB,GAAInE,EAAMC,SAAS5vD,KAAKyU,KAAKrZ,OAAOmF,UAAU0hB,gBACpJutC,EAAe,SAAStlD,GACpB,IAAI8zC,EAAU,YAAc9zC,EAC5B,oBAAsB5I,SAAWA,QAAQy8C,MAAMC,GAC/C,IACI,MAAM,IAAI7nD,MAAM6nD,GAClB,MAAO7oD,MACVu6D,EAAeoD,kBAAoB,WAClCgB,EAAqB,IACtB/oB,EAAO5qB,QAAUuvC,GACrB,SAAS3kB,EAAQ2X,EAAqB,GACrC,aACA,SAAStC,EAAyBtqC,EAAQi+C,GACtC,GAAI,MAAQj+C,EAAQ,MAAO,GAC3B,IAAI/C,EAAKY,EAAGhV,EAOhB,SAAuCmX,EAAQi+C,GAC3C,GAAI,MAAQj+C,EAAQ,MAAO,GAC3B,IAAI/C,EAAKY,EAAGhV,EAAS,GAAIq1D,EAAa54D,OAAOsH,KAAKoT,GAClD,IAAKnC,EAAI,EAAGA,EAAIqgD,EAAWh+D,OAAQ2d,IAAKZ,EAAMihD,EAAWrgD,GAAIogD,EAASx3D,QAAQwW,IAAQ,IAAMpU,EAAOoU,GAAO+C,EAAO/C,IACjH,OAAOpU,EAXcs1D,CAA8Bn+C,EAAQi+C,GAC3D,GAAI34D,OAAOoa,sBAAuB,CAC9B,IAAI0+C,EAAmB94D,OAAOoa,sBAAsBM,GACpD,IAAKnC,EAAI,EAAGA,EAAIugD,EAAiBl+D,OAAQ2d,IAAKZ,EAAMmhD,EAAiBvgD,GAAIogD,EAASx3D,QAAQwW,IAAQ,GAAK3X,OAAOmF,UAAU4yD,qBAAqBnzD,KAAK8V,EAAQ/C,KAASpU,EAAOoU,GAAO+C,EAAO/C,IAE5L,OAAOpU,EAYX+jD,EAAoB7O,EAJpB,SAAoBpkC,GAChB,IAAIvd,EAAWud,EAAKvd,SAAU6yD,EAASt1C,EAAKs1C,OAAQrwB,EAAWjlB,EAAKilB,SAAU8vB,EAAWpE,EAAyB3wC,EAAM,CAAE,WAAY,SAAU,aAAes2C,EAAU3qD,OAAOgsD,EAA6CvT,EAApDz4C,CAAuDopD,EAAUO,EAAQrwB,GAClP,MAAO,mBAAqBxiC,EAAWA,EAAS6zD,GAAWA,EAAU7zD,EAAW,MAGpF,IAAIk1D,EAA+C,EAAoB,oGCn2BhE,SAASzE,EAAexN,EAAKxhC,GAC1C,OCLa,SAAyBwhC,GACtC,GAAIv9B,MAAMoQ,QAAQmtB,GAAM,OAAOA,EDIxB,CAAeA,IELT,SAA+BA,EAAKxhC,GACjD,IAAIrQ,EAAY,MAAP6xC,EAAc,KAAyB,oBAAX0N,QAA0B1N,EAAI0N,OAAOC,WAAa3N,EAAI,cAE3F,GAAU,MAAN7xC,EAAJ,CACA,IAII6/C,EAAID,EAJJH,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAK3/C,EAAKA,EAAGtD,KAAKm1C,KAAQ6N,GAAMG,EAAK7/C,EAAGmQ,QAAQgJ,QAC9CsmC,EAAKhvC,KAAKovC,EAAGhxD,QAETwhB,GAAKovC,EAAK/sD,SAAW2d,GAH4BqvC,GAAK,IAK5D,MAAOI,GACPH,GAAK,EACLC,EAAKE,EACL,QACA,IACOJ,GAAsB,MAAhB1/C,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAI2/C,EAAI,MAAMC,GAIlB,OAAOH,GFtBuB,CAAqB5N,EAAKxhC,KAAM,EAAAwgD,EAAA,GAA2Bhf,EAAKxhC,IGLjF,WACb,MAAM,IAAIm1B,UAAU,6IHIgF,GI+QtG,iKAlQIsrB,EAAa,CAAC,CAChBzxC,KAAM,IACN0xC,QAAS,sCACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,OACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,MACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,aACR,CACD1xC,KAAM,IACN0xC,QAAS,gBACR,CACD1xC,KAAM,IACN0xC,QAAS,kBACR,CACD1xC,KAAM,KACN0xC,QAAS,MACR,CACD1xC,KAAM,KACN0xC,QAAS,MACR,CACD1xC,KAAM,IACN0xC,QAAS,kCACR,CACD1xC,KAAM,IACN0xC,QAAS,UACR,CACD1xC,KAAM,IACN0xC,QAAS,mBACR,CACD1xC,KAAM,IACN0xC,QAAS,kBACR,CACD1xC,KAAM,IACN0xC,QAAS,wBACR,CACD1xC,KAAM,IACN0xC,QAAS,SACR,CACD1xC,KAAM,IACN0xC,QAAS,kBACR,CACD1xC,KAAM,IACN0xC,QAAS,sBACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,YACR,CACD1xC,KAAM,IACN0xC,QAAS,oBACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,+CACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,cACR,CACD1xC,KAAM,IACN0xC,QAAS,UACR,CACD1xC,KAAM,IACN0xC,QAAS,qBACR,CACD1xC,KAAM,IACN0xC,QAAS,qBACR,CACD1xC,KAAM,IACN0xC,QAAS,mBACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,sCACR,CACD1xC,KAAM,IACN0xC,QAAS,YACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,cACR,CACD1xC,KAAM,IACN0xC,QAAS,SACR,CACD1xC,KAAM,IACN0xC,QAAS,mBACR,CACD1xC,KAAM,IACN0xC,QAAS,kBACR,CACD1xC,KAAM,IACN0xC,QAAS,uCACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,OACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,MACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,aACR,CACD1xC,KAAM,IACN0xC,QAAS,iBACR,CACD1xC,KAAM,IACN0xC,QAAS,kBACR,CACD1xC,KAAM,KACN0xC,QAAS,MACR,CACD1xC,KAAM,IACN0xC,QAAS,mCACR,CACD1xC,KAAM,IACN0xC,QAAS,UACR,CACD1xC,KAAM,IACN0xC,QAAS,mBACR,CACD1xC,KAAM,IACN0xC,QAAS,mBACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,wBACR,CACD1xC,KAAM,IACN0xC,QAAS,UACR,CACD1xC,KAAM,IACN0xC,QAAS,kBACR,CACD1xC,KAAM,IACN0xC,QAAS,uBACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,YACR,CACD1xC,KAAM,IACN0xC,QAAS,qBACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,+CACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,cACR,CACD1xC,KAAM,IACN0xC,QAAS,UACR,CACD1xC,KAAM,IACN0xC,QAAS,qBACR,CACD1xC,KAAM,IACN0xC,QAAS,sBACR,CACD1xC,KAAM,IACN0xC,QAAS,oBACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,sCACR,CACD1xC,KAAM,IACN0xC,QAAS,YACR,CACD1xC,KAAM,KACN0xC,QAAS,KACR,CACD1xC,KAAM,IACN0xC,QAAS,eACR,CACD1xC,KAAM,IACN0xC,QAAS,SACR,CACD1xC,KAAM,IACN0xC,QAAS,oBACR,CACD1xC,KAAM,IACN0xC,QAAS,mBAEPC,EAAe,IAAI7oB,OAAO,IA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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/getStyles.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/theme.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Content.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/IconWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/InnerWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/LoadingSpinner.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Button.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/react-select/node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-select/node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-select/node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-select/node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/react-select/node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/react-select/animated/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js","webpack:///./node_modules/@atlaskit/select/dist/esm/components/indicators.js","webpack:///./node_modules/@atlaskit/select/dist/esm/components/index.js","webpack:///./node_modules/@atlaskit/select/dist/esm/createSelect.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/glyph/hipchat/chevron-down.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/glyph/select-clear.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack:///./node_modules/@babel/runtime/helpers/esm/get.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/textfield/dist/esm/components/Input.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/textfield/dist/esm/component-tokens.js","webpack:///./node_modules/@atlaskit/textfield/dist/esm/theme.js","webpack:///./node_modules/@atlaskit/textfield/dist/esm/components/Textfield.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/popper/dist/es2019/Popper.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/styled.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/utils/analytics-payloads.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/Tooltip.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/icon/glyph/question-circle.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/color-palettes.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/elevation.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/typography.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/components/AtlaskitThemeProvider.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/components/Appearance.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/components/Reset.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-switch/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-switch/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-switch/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-switch/src/components/label.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-switch/src/components/toggle.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-switch/src/switch.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-switch/src/switch.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-switch/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-switch/src/utils/keyboard.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/react-select/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/select/dist/esm/Select.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/models/edition.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/edition-select/edition-select.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/edition-select/edition-select.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/tracking.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/period-switch.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/utils/collections.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/currency.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-summary/pricing-summary.styles.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-summary/pricing-summary.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-summary/message-selectors.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-breakdown-toggle.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/pricing-calculator.common.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-details.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-details.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/components/labels.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/curve.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/components/thumb.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/components/track-division.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/components/track.styles.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/components/track.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/components/slider.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/hooks/use-on-mouse-down.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/pricing-plan-slider/pricing-plan-slider.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/hooks/use-bounding-client-rect-ref.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/shared/sanitized-html.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/shared/sanitized-formatted-html-message.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/billing-message/components/annual-billing-message.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/billing-message/components/monthly-billing-message.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/billing-message/billing-message.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/units-textfield/units-textfield.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/units-textfield/units-textfield.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/utils/math.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/enterprise-edition-cta/enterprise-edition-cta.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/components/enterprise-edition-cta/enterprise-edition-cta.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/pricing-calculator.desktop.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/pricing-calculator.desktop.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/pricing-calculator.mobile.styles.ts","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/pricing-calculator.mobile.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-pricing-calculator/src/pricing-calculator.tsx","webpack:///./resources/js/react/cms-components/pricing-calculator/PricingCalculatorContainer.tsx","webpack:///./resources/js/react/cms-components/pricing-calculator/use-geo-currency.ts","webpack:///./resources/js/react/contexts/bundle-context.ts","webpack:///./node_modules/create-react-context/lib/implementation.js","webpack:///./node_modules/create-react-context/lib/index.js","webpack:///./node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/flushable/dist/index.umd.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-input-autosize/lib/AutosizeInput.js","webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/react-node-resolver/lib/NodeResolver.js","webpack:///./node_modules/react-node-resolver/lib/index.js","webpack:///./node_modules/react-responsive/dist/react-responsive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/react-select/dist/Select-e1cf49ae.browser.esm.js","webpack:///./node_modules/react-select/dist/index-75b02bac.browser.esm.js","webpack:///./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack:///./node_modules/react-select/dist/stateManager-2f2b6f5b.browser.esm.js","webpack:///./node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/react-transition-group/Transition.js","webpack:///./node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/react-transition-group/index.js","webpack:///./node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/uuid/index.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/uuid/v4.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsListener extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n channel,\n onEvent\n } = this.props;\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n\n const handler = (event, eventChannel) => {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n\n return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n });\n\n _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return getAtlaskitAnalyticsContext();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsListener;","import LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nlet ExportedAnalyticsListener;\n\nif (typeof process !== 'undefined' && process.env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsListener = ModernAnalyticsListener;\n} else {\n ExportedAnalyticsListener = LegacyAnalyticsListener;\n}\n\nexport default ExportedAnalyticsListener;","import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { applyPropertyStyle, baseTheme } from '../theme';\nconst compactButtonHeight = `${(gridSize() * 3) / fontSize()}em`;\nconst buttonHeight = `${(gridSize() * 4) / fontSize()}em`;\n/** Background */\nconst getBackground = (props) => applyPropertyStyle('background', props, baseTheme);\n/** Box Shadow */\nconst getBoxShadow = (props) => {\n const boxShadowColor = applyPropertyStyle('boxShadowColor', props, baseTheme);\n return `0 0 0 2px ${boxShadowColor}`;\n};\n/** Color */\nconst getColor = (props) => applyPropertyStyle('color', props, baseTheme);\n/** Cursor */\nconst getCursor = ({ state = 'default' }) => state === 'hover' || state === 'active' || state === 'selected'\n ? 'pointer'\n : state === 'disabled'\n ? 'not-allowed'\n : 'default';\n/** Height */\nconst getHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'auto'\n : buttonHeight;\n/** Line Height */\nconst getLineHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'inherit'\n : buttonHeight;\n/** Padding */\nconst getPadding = ({ spacing = 'default' }) => spacing === 'none' ? 0 : `0 ${gridSize()}px`;\n/** Text Decoration */\nconst getTextDecoration = ({ appearance = 'default', state = 'default', }) => state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n ? 'underline'\n : 'inherit';\n/** Transition */\nconst getTransition = ({ state = 'default' }) => state === 'hover'\n ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n/** Transition Duration */\nconst getTransitionDuration = ({ state = 'default' }) => state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n/** Vertical Align */\nconst getVerticalAlign = ({ spacing = 'default' }) => spacing === 'none' ? 'baseline' : 'middle';\n/** Width */\nconst getWidth = ({ shouldFitContainer }) => shouldFitContainer ? '100%' : 'auto';\n/** Base styles */\nconst staticStyles = {\n alignItems: 'baseline',\n borderWidth: 0,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n fontWeight: '500',\n maxWidth: '100%',\n outline: 'none !important',\n textAlign: 'center',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexport const getButtonStyles = (props) => ({\n ...staticStyles,\n background: getBackground(props),\n borderRadius: `${borderRadius()}px`,\n boxShadow: getBoxShadow(props),\n color: `${getColor(props)} !important`,\n cursor: getCursor(props),\n height: getHeight(props),\n lineHeight: getLineHeight(props),\n padding: getPadding(props),\n transition: getTransition(props),\n transitionDuration: getTransitionDuration(props),\n verticalAlign: getVerticalAlign(props),\n width: getWidth(props),\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0,\n },\n '&:hover': {\n textDecoration: getTextDecoration(props),\n },\n ...(props.isLoading && { pointerEvents: 'none' }),\n});\n/**\n * SPINNER STYLES\n */\nexport const getSpinnerStyles = () => ({\n display: 'flex',\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n});\n//# sourceMappingURL=getStyles.js.map","export const mapAttributesToState = ({ isDisabled = false, isActive = false, isFocus = false, isHover = false, isSelected = false, }) => {\n if (isDisabled) {\n return 'disabled';\n }\n if (isSelected && isFocus) {\n return 'focusSelected';\n }\n if (isSelected) {\n return 'selected';\n }\n if (isActive) {\n return 'active';\n }\n if (isHover) {\n return 'hover';\n }\n if (isFocus) {\n return 'focus';\n }\n return 'default';\n};\nexport const filterProps = (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n{ createAnalyticsEvent, ...props }, type) => {\n if (type === 'span') {\n const { target, href, ...rest } = props;\n return rest;\n }\n return props;\n};\nexport const getLoadingStyle = (isLoading) => ({\n transition: 'opacity 0.3s',\n opacity: isLoading ? 0 : 1,\n});\nexport const composeRefs = (...refs) => {\n return (x) => {\n refs\n .filter(r => !!r)\n .forEach(ref => {\n if (typeof ref === 'function') {\n ref(x);\n }\n else {\n ref.current = x;\n }\n });\n };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nexport function hex2rgba(hex, alpha = 1) {\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n let colorArr = hex.substring(1).split('');\n if (colorArr.length === 3) {\n colorArr = [\n colorArr[0],\n colorArr[0],\n colorArr[1],\n colorArr[1],\n colorArr[2],\n colorArr[2],\n ];\n }\n const color = `0x${colorArr.join('')}`;\n // FIXME: `>>` operand can validly take a string value\n const r = (color >> 16) & 255;\n const g = (color >> 8) & 255;\n const b = color & 255;\n return `rgba(${[r, g, b].join(',')}, ${alpha})`;\n }\n throw new Error('Bad Hex');\n}\n//# sourceMappingURL=utils.js.map","import * as colors from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { getButtonStyles, getSpinnerStyles } from './components/getStyles';\nimport { hex2rgba } from './components/utils';\nexport const fallbacks = {\n background: { light: colors.N20A, dark: colors.DN70 },\n color: { light: colors.N400, dark: colors.DN400 },\n textDecoration: { light: 'none', dark: 'none' },\n};\nexport const baseTheme = {\n // Default appearance\n background: {\n default: {\n default: { light: colors.N20A, dark: colors.DN70 },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n primary: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n warning: {\n default: { light: colors.Y300, dark: colors.Y300 },\n hover: { light: colors.Y200, dark: colors.Y200 },\n active: { light: colors.Y400, dark: colors.Y400 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.Y400, dark: colors.Y400 },\n focusSelected: { light: colors.Y400, dark: colors.Y400 },\n },\n danger: {\n default: { light: colors.R400, dark: colors.R400 },\n hover: { light: colors.R300, dark: colors.R300 },\n active: { light: colors.R500, dark: colors.R500 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.R500, dark: colors.R500 },\n focusSelected: { light: colors.R500, dark: colors.R500 },\n },\n link: {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n subtle: {\n default: { light: 'none', dark: 'none' },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n 'subtle-link': {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n },\n boxShadowColor: {\n default: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n primary: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n warning: {\n focus: { light: colors.Y500, dark: colors.Y500 },\n focusSelected: { light: colors.Y500, dark: colors.Y500 },\n },\n danger: {\n focus: { light: colors.R100, dark: colors.R100 },\n focusSelected: { light: colors.R100, dark: colors.R100 },\n },\n link: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n subtle: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n 'subtle-link': {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n },\n color: {\n default: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n primary: {\n default: { light: colors.N0, dark: colors.DN30 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n warning: {\n default: { light: colors.N800, dark: colors.N800 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N800, dark: colors.N800 },\n focusSelected: { light: colors.N800, dark: colors.N800 },\n },\n danger: {\n default: { light: colors.N0, dark: colors.N0 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N0, dark: colors.N0 },\n focusSelected: { light: colors.N0, dark: colors.N0 },\n },\n link: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.N700 },\n focusSelected: { light: colors.N20, dark: colors.N700 },\n },\n subtle: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n 'subtle-link': {\n default: { light: colors.N200, dark: colors.DN400 },\n hover: { light: colors.N90, dark: colors.B50 },\n active: { light: colors.N400, dark: colors.DN300 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n },\n};\nexport function applyPropertyStyle(property, { appearance = 'default', state = 'default', mode = 'light', }, theme) {\n const propertyStyles = theme[property];\n if (!propertyStyles) {\n return 'initial';\n }\n // Check for relevant fallbacks\n if (!propertyStyles[appearance]) {\n if (!propertyStyles['default']) {\n return fallbacks[property][mode] ? fallbacks[property][mode] : 'initial';\n }\n appearance = 'default';\n }\n // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n // return the 'default' state of that appearance.\n if (!propertyStyles[appearance][state]) {\n state = 'default';\n }\n const appearanceStyles = propertyStyles[appearance];\n const stateStyles = appearanceStyles[state];\n if (!stateStyles) {\n return 'inherit';\n }\n return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexport const Theme = createTheme(themeProps => ({\n buttonStyles: getButtonStyles(themeProps),\n spinnerStyles: getSpinnerStyles(),\n}));\n//# sourceMappingURL=theme.js.map","import { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ children, followsIcon, spacing, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignItems: followsIcon ? 'baseline' : 'center',\n alignSelf: followsIcon ? 'baseline' : 'center',\n flex: '1 1 auto',\n margin: spacing === 'none' ? 0 : `0 ${gridSize() / 2}px`,\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...getLoadingStyle(isLoading),\n } }, rest), children));\n//# sourceMappingURL=Content.js.map","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ spacing, icon, isOnlyChild, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'flex',\n flexShrink: 0,\n lineHeight: 0,\n fontSize: 0,\n userSelect: 'none',\n margin: spacing === 'none'\n ? 0\n : isOnlyChild\n ? `0 -${gridSize() / 4}px`\n : `0 ${gridSize() / 2}px`,\n ...getLoadingStyle(isLoading),\n } }, rest), icon));\n//# sourceMappingURL=IconWrapper.js.map","import { jsx } from '@emotion/core';\nexport default ({ fit, children, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'inline-flex',\n flexWrap: 'nowrap',\n maxWidth: '100%',\n position: 'relative',\n ...(fit && { width: '100%' }),\n ...(fit && { justifyContent: 'center' }),\n } }, rest), children));\n//# sourceMappingURL=InnerWrapper.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport Spinner from '@atlaskit/spinner';\nconst appearances = ['primary', 'danger'];\nexport default class LoadingSpinner extends React.Component {\n constructor() {\n super(...arguments);\n this.invertSpinner = () => {\n const { appearance, isSelected, isDisabled } = this.props;\n if (isSelected) {\n return true;\n }\n if (isDisabled) {\n return false;\n }\n if (appearance !== undefined) {\n if (appearances.indexOf(appearance) !== -1) {\n return true;\n }\n }\n return false;\n };\n }\n render() {\n const { spacing, styles } = this.props;\n let spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n return (jsx(\"div\", { css: styles },\n jsx(Spinner, { size: spinnerSize, appearance: this.invertSpinner() ? 'invert' : 'inherit' })));\n }\n}\n//# sourceMappingURL=LoadingSpinner.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport memoize from 'memoize-one';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Content from './Content';\nimport IconWrapper from './IconWrapper';\nimport InnerWrapper from './InnerWrapper';\nimport LoadingSpinner from './LoadingSpinner';\nimport { composeRefs, filterProps, mapAttributesToState } from './utils';\nexport class Button extends React.Component {\n constructor() {\n super(...arguments);\n // ref can be a range of things because we render button, a, span or other React components\n this.button = React.createRef();\n // Makes sure we don't call ref every render.\n this.getComposedRefs = memoize(composeRefs);\n this.state = {\n isActive: false,\n isFocus: false,\n isHover: false,\n };\n this.isInteractive = () => !this.props.isDisabled && !this.props.isLoading;\n this.onMouseEnter = (e) => {\n this.setState({ isHover: true });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n this.onMouseLeave = (e) => {\n this.setState({ isHover: false, isActive: false });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n this.onMouseDown = (e) => {\n e.preventDefault();\n this.setState({ isActive: true });\n if (this.props.onMouseDown) {\n this.props.onMouseDown(e);\n }\n };\n this.onMouseUp = (e) => {\n this.setState({ isActive: false });\n if (this.props.onMouseUp) {\n this.props.onMouseUp(e);\n }\n };\n this.onFocus = event => {\n this.setState({ isFocus: true });\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n this.onBlur = event => {\n this.setState({ isFocus: false });\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n this.getElement = () => {\n const { href, isDisabled } = this.props;\n if (href) {\n return isDisabled ? 'span' : 'a';\n }\n return 'button';\n };\n // Swallow click events when the button is disabled\n // to prevent inner child clicks bubbling up.\n this.onInnerClick = e => {\n if (!this.isInteractive()) {\n e.stopPropagation();\n }\n return true;\n };\n }\n componentDidMount() {\n if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n this.button.focus();\n }\n }\n render() {\n const { appearance = 'default', children, className, component: CustomComponent, consumerRef, iconAfter, iconBefore, isDisabled = false, isLoading = false, isSelected = false, shouldFitContainer = false, spacing = 'default', theme = (current, props) => current(props), testId, ...rest } = this.props;\n const attributes = { ...this.state, isSelected, isDisabled };\n const StyledButton = CustomComponent || this.getElement();\n const iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n (iconAfter && !iconBefore && !children));\n const specifiers = (styles) => {\n if (StyledButton === 'a') {\n return {\n 'a&': styles,\n };\n }\n else if (StyledButton === CustomComponent) {\n return {\n '&, a&, &:hover, &:active, &:focus': styles,\n };\n }\n return styles;\n };\n return (jsx(Theme.Provider, { value: theme },\n jsx(GlobalTheme.Consumer, null, ({ mode }) => (jsx(Theme.Consumer, Object.assign({ mode: mode, state: mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, this.props), ({ buttonStyles, spinnerStyles }) => (jsx(StyledButton, Object.assign({}, filterProps(rest, StyledButton), { \"data-testid\": testId, ref: this.getComposedRefs(this.button, consumerRef), onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onMouseDown: this.onMouseDown, onMouseUp: this.onMouseUp, onFocus: this.onFocus, onBlur: this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n jsx(InnerWrapper, { onClick: this.onInnerClick, fit: !!shouldFitContainer },\n isLoading && (jsx(LoadingSpinner, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n iconBefore && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n children && (jsx(Content, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n iconAfter && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter }))))))))));\n }\n}\nButton.defaultProps = {\n appearance: 'default',\n autoFocus: false,\n isDisabled: false,\n isLoading: false,\n isSelected: false,\n shouldFitContainer: false,\n spacing: 'default',\n type: 'button',\n};\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nconst ButtonWithRef = React.forwardRef((props, ref) => jsx(Button, Object.assign({}, props, { consumerRef: ref })));\nButtonWithRef.displayName = 'Button';\nexport default withAnalyticsContext({\n componentName: 'button',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onClick: createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'button',\n attributes: {\n componentName: 'button',\n packageName,\n packageVersion,\n },\n }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n from {\n transform: rotate(50deg);\n opacity: 0;\n stroke-dashoffset: 60;\n }\n to {\n transform: rotate(230deg);\n opacity: 1;\n stroke-dashoffset: 50;\n }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n if (mode === 'light') {\n return appearance === 'inherit' ? N500 : N0;\n }\n // Dark mode: colours provided by Jake Miller\n return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n const size = typeof providedSize === 'number'\n ? providedSize\n : presetSizes[providedSize];\n return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n const strokeColor = getStrokeColor({\n mode: tokens.mode,\n appearance,\n });\n // The Spinner animation uses a combination of two\n // css animations on two separate elements.\n return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n /* align better inline with text */\n vertical-align: middle;\n /* We are going to animate this in */\n opacity: 0;\n\n animation: ${loadIn} 1s ease-in-out;\n /* When the animation completes, stay at the last frame of the animation */\n animation-fill-mode: forwards;\n animation-delay: ${delay}ms;\n ` },\n jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n fill: none;\n stroke: ${strokeColor};\n stroke-width: 1.5;\n stroke-linecap: round;\n stroke-dasharray: 60;\n stroke-dashoffset: inherit;\n transform-origin: center;\n animation: ${rotate} 0.86s infinite;\n animation-delay: ${delay}ms;\n animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n ` })));\n }));\n}));\n//# sourceMappingURL=spinner.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\nimport memoizeOne from 'memoize-one';\nimport '@emotion/core';\nimport 'react-dom';\nimport '@babel/runtime/helpers/typeof';\nimport { B as exportedEqual, y as defaultComponents } from '../../dist/index-75b02bac.browser.esm.js';\nimport '@emotion/css';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport 'react-input-autosize';\nimport { Transition, TransitionGroup } from 'react-transition-group';\n\n// strip transition props off before spreading onto select component\n// note we need to be explicit about innerRef for flow\nvar AnimatedInput = function AnimatedInput(WrappedComponent) {\n return function (_ref) {\n var inProp = _ref.in,\n onExited = _ref.onExited,\n appear = _ref.appear,\n enter = _ref.enter,\n exit = _ref.exit,\n props = _objectWithoutProperties(_ref, [\"in\", \"onExited\", \"appear\", \"enter\", \"exit\"]);\n\n return /*#__PURE__*/React.createElement(WrappedComponent, props);\n };\n};\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar Fade = function Fade(_ref) {\n var Tag = _ref.component,\n _ref$duration = _ref.duration,\n duration = _ref$duration === void 0 ? 1 : _ref$duration,\n inProp = _ref.in,\n onExited = _ref.onExited,\n props = _objectWithoutProperties(_ref, [\"component\", \"duration\", \"in\", \"onExited\"]);\n\n var transition = {\n entering: {\n opacity: 0\n },\n entered: {\n opacity: 1,\n transition: \"opacity \".concat(duration, \"ms\")\n },\n exiting: {\n opacity: 0\n },\n exited: {\n opacity: 0\n }\n };\n return /*#__PURE__*/React.createElement(Transition, {\n mountOnEnter: true,\n unmountOnExit: true,\n in: inProp,\n timeout: duration\n }, function (state) {\n var innerProps = {\n style: _objectSpread({}, transition[state])\n };\n return /*#__PURE__*/React.createElement(Tag, _extends({\n innerProps: innerProps\n }, props));\n });\n}; // ==============================\n// Collapse Transition\n// ==============================\n\nvar collapseDuration = 260;\n// wrap each MultiValue with a collapse transition; decreases width until\n// finally removing from DOM\nvar Collapse = /*#__PURE__*/function (_Component) {\n _inherits(Collapse, _Component);\n\n var _super = _createSuper(Collapse);\n\n function Collapse() {\n var _this;\n\n _classCallCheck(this, Collapse);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.duration = collapseDuration;\n _this.rafID = void 0;\n _this.state = {\n width: 'auto'\n };\n _this.transition = {\n exiting: {\n width: 0,\n transition: \"width \".concat(_this.duration, \"ms ease-out\")\n },\n exited: {\n width: 0\n }\n };\n\n _this.getWidth = function (ref) {\n if (ref && isNaN(_this.state.width)) {\n /*\n Here we're invoking requestAnimationFrame with a callback invoking our\n call to getBoundingClientRect and setState in order to resolve an edge case\n around portalling. Certain portalling solutions briefly remove children from the DOM\n before appending them to the target node. This is to avoid us trying to call getBoundingClientrect\n while the Select component is in this state.\n */\n // cannot use `offsetWidth` because it is rounded\n _this.rafID = window.requestAnimationFrame(function () {\n var _ref$getBoundingClien = ref.getBoundingClientRect(),\n width = _ref$getBoundingClien.width;\n\n _this.setState({\n width: width\n });\n });\n }\n };\n\n _this.getStyle = function (width) {\n return {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n width: width\n };\n };\n\n _this.getTransition = function (state) {\n return _this.transition[state];\n };\n\n return _this;\n }\n\n _createClass(Collapse, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.rafID) {\n window.cancelAnimationFrame(this.rafID);\n }\n } // width must be calculated; cannot transition from `undefined` to `number`\n\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in;\n var width = this.state.width;\n return /*#__PURE__*/React.createElement(Transition, {\n enter: false,\n mountOnEnter: true,\n unmountOnExit: true,\n in: inProp,\n timeout: this.duration\n }, function (state) {\n var style = _objectSpread(_objectSpread({}, _this2.getStyle(width)), _this2.getTransition(state));\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: _this2.getWidth,\n style: style\n }, children);\n });\n }\n }]);\n\n return Collapse;\n}(Component);\n\nvar AnimatedMultiValue = function AnimatedMultiValue(WrappedComponent) {\n return function (_ref) {\n var inProp = _ref.in,\n onExited = _ref.onExited,\n props = _objectWithoutProperties(_ref, [\"in\", \"onExited\"]);\n\n return /*#__PURE__*/React.createElement(Collapse, {\n in: inProp,\n onExited: onExited\n }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({\n cropWithEllipsis: inProp\n }, props)));\n };\n};\n\nvar AnimatedPlaceholder = function AnimatedPlaceholder(WrappedComponent) {\n return function (props) {\n return /*#__PURE__*/React.createElement(Fade, _extends({\n component: WrappedComponent,\n duration: props.isMulti ? collapseDuration : 1\n }, props));\n };\n};\n\nvar AnimatedSingleValue = function AnimatedSingleValue(WrappedComponent) {\n return function (props) {\n return /*#__PURE__*/React.createElement(Fade, _extends({\n component: WrappedComponent\n }, props));\n };\n};\n\n// make ValueContainer a transition group\nvar AnimatedValueContainer = function AnimatedValueContainer(WrappedComponent) {\n return function (props) {\n return /*#__PURE__*/React.createElement(TransitionGroup, _extends({\n component: WrappedComponent\n }, props));\n };\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar makeAnimated = function makeAnimated() {\n var externalComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var components = defaultComponents({\n components: externalComponents\n });\n\n var Input = components.Input,\n MultiValue = components.MultiValue,\n Placeholder = components.Placeholder,\n SingleValue = components.SingleValue,\n ValueContainer = components.ValueContainer,\n rest = _objectWithoutProperties(components, [\"Input\", \"MultiValue\", \"Placeholder\", \"SingleValue\", \"ValueContainer\"]);\n\n return _objectSpread$1({\n Input: AnimatedInput(Input),\n MultiValue: AnimatedMultiValue(MultiValue),\n Placeholder: AnimatedPlaceholder(Placeholder),\n SingleValue: AnimatedSingleValue(SingleValue),\n ValueContainer: AnimatedValueContainer(ValueContainer)\n }, rest);\n};\n\nvar AnimatedComponents = makeAnimated();\nvar Input = AnimatedComponents.Input;\nvar MultiValue = AnimatedComponents.MultiValue;\nvar Placeholder = AnimatedComponents.Placeholder;\nvar SingleValue = AnimatedComponents.SingleValue;\nvar ValueContainer = AnimatedComponents.ValueContainer;\nvar index = memoizeOne(makeAnimated, exportedEqual);\n\nexport default index;\nexport { Input, MultiValue, Placeholder, SingleValue, ValueContainer };\n","export var SIZES_MAP = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\nexport var DEFAULT_SIZE = SIZES_MAP.small;\n//# sourceMappingURL=constants.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled, { keyframes, css } from 'styled-components';\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to use dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"]))),\n enterRotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n from { transform: rotate(50deg); }\\n to { transform: rotate(230deg); }\\n \"], [\"\\n from { transform: rotate(50deg); }\\n to { transform: rotate(230deg); }\\n \"]))),\n leaveRotate: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n from { transform: rotate(230deg); }\\n to { transform: rotate(510deg); }\\n \"], [\"\\n from { transform: rotate(230deg); }\\n to { transform: rotate(510deg); }\\n \"]))),\n leaveOpacity: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n from { opacity: 1; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 1; }\\n to { opacity: 0; }\\n \"]))),\n};\nexport var getContainerAnimation = function (_a) {\n var delay = _a.delay, phase = _a.phase;\n if (phase === 'DELAY') {\n /* This hides the spinner and allows us to use animationend events to move to the next phase in\n * the same way we do with the other lifecycle stages */\n return css(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n animation: \", \"s \", \";\\n \"], [\"\\n animation: \", \"s \", \";\\n \"])), delay, keyframeNames.noop);\n }\n if (phase === 'ENTER' || phase === 'IDLE') {\n return css(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n animation: 1s ease-in-out forwards \", \";\\n \"], [\"\\n animation: 1s ease-in-out forwards \", \";\\n \"])), keyframeNames.enterRotate);\n }\n if (phase === 'LEAVE') {\n return css(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n animation: 0.53s ease-in-out forwards \", \",\\n 0.2s ease-in-out 0.33s \", \";\\n \"], [\"\\n animation: 0.53s ease-in-out forwards \", \",\\n 0.2s ease-in-out 0.33s \", \";\\n \"])), keyframeNames.leaveRotate, keyframeNames.leaveOpacity);\n }\n return '';\n};\nvar getSize = function (_a) {\n var size = _a.size;\n return size + \"px\";\n};\nvar Container = styled.span(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n \", \"\\n display: flex;\\n height: \", \";\\n width: \", \";\\n\\n /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n * they complete their exit animations. This rules hides the spinner if another one has been\\n * added. */\\n div + & {\\n display: none;\\n }\\n\"], [\"\\n \", \"\\n display: flex;\\n height: \", \";\\n width: \", \";\\n\\n /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n * they complete their exit animations. This rules hides the spinner if another one has been\\n * added. */\\n div + & {\\n display: none;\\n }\\n\"])), getContainerAnimation, getSize, getSize);\nContainer.displayName = 'SpinnerContainer';\nexport default Container;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n//# sourceMappingURL=styledContainer.js.map","import { __makeTemplateObject, __rest } from \"tslib\";\nimport styled, { css, keyframes } from 'styled-components';\nimport { themed } from '@atlaskit/theme/components';\nimport { N500, N0 } from '@atlaskit/theme/colors';\nimport { SIZES_MAP } from './constants';\nvar getStrokeWidth = function (size) { return Math.round(size / 10); };\nvar getStrokeCircumference = function (size) {\n var strokeWidth = getStrokeWidth(size);\n var strokeRadius = size / 2 - strokeWidth / 2;\n return Math.PI * strokeRadius * 2;\n};\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"]))),\n rotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n to { transform: rotate(360deg); }\\n \"], [\"\\n to { transform: rotate(360deg); }\\n \"]))),\n enterOpacity: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n from { opacity: 0; }\\n to { opacity: 1; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 1; }\\n \"]))),\n smallEnterStroke: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.small), getStrokeCircumference(SIZES_MAP.small) *\n 0.8),\n mediumEnterStroke: keyframes(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.medium), getStrokeCircumference(SIZES_MAP.medium) *\n 0.8),\n largeEnterStroke: keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.large), getStrokeCircumference(SIZES_MAP.large) *\n 0.8),\n xlargeEnterStroke: keyframes(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.xlarge), getStrokeCircumference(SIZES_MAP.xlarge) *\n 0.8),\n};\n/* If a standard size is used, we can use one of our statically defined keyframes, otherwise\n * we're forced to dynamically create the keyframe and incur a performance cost.\n */\nvar getEnterStrokeKeyframe = function (size) {\n var standardSizeName = Object.keys(SIZES_MAP).find(function (sizeName) { return size === SIZES_MAP[sizeName]; });\n if (standardSizeName) {\n return keyframeNames[standardSizeName + \"EnterStroke\"];\n }\n var circumference = getStrokeCircumference(size);\n return keyframes(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"])), circumference, circumference * 0.8);\n};\nvar spinnerColor = themed({ light: N500, dark: N0 });\nvar spinnerColorInverted = themed({ light: N0, dark: N0 });\nexport var getStrokeColor = function (_a) {\n var invertColor = _a.invertColor, props = __rest(_a, [\"invertColor\"]);\n return invertColor ? spinnerColorInverted(props) : spinnerColor(props);\n};\nexport var svgStyles = css(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \",\n \";\\n\"])), function (props) {\n var circumference = getStrokeCircumference(props.size);\n var animation = function (animProps) {\n var baseAnimation = '0.86s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite';\n if (animProps.phase === 'ENTER') {\n return css(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n animation: \", \" \", \",\\n 0.8s ease-in-out \", \",\\n 0.2s ease-in-out \", \";\\n \"], [\"\\n animation: \", \" \", \",\\n 0.8s ease-in-out \", \",\\n 0.2s ease-in-out \", \";\\n \"])), baseAnimation, keyframeNames.rotate, getEnterStrokeKeyframe(animProps.size), keyframeNames.enterOpacity);\n }\n return css(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n animation: \", \" \", \";\\n \"], [\"\\n animation: \", \" \", \";\\n \"])), baseAnimation, keyframeNames.rotate);\n };\n return css(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n \", \"\\n fill: none;\\n stroke: \", \";\\n stroke-dasharray: \", \"px;\\n stroke-dashoffset: \", \"px;\\n stroke-linecap: round;\\n stroke-width: \", \"px;\\n transform-origin: center;\\n \"], [\"\\n \", \"\\n fill: none;\\n stroke: \", \";\\n stroke-dasharray: \", \"px;\\n stroke-dashoffset: \", \"px;\\n stroke-linecap: round;\\n stroke-width: \", \"px;\\n transform-origin: center;\\n \"])), animation, getStrokeColor, circumference, circumference * 0.8, getStrokeWidth(props.size));\n});\nvar Svg = styled.svg(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), svgStyles);\nSvg.displayName = 'SpinnerSvg';\nexport default Svg;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;\n//# sourceMappingURL=styledSvg.js.map","import { __extends, __makeTemplateObject } from \"tslib\";\nimport React, { Component } from 'react';\nimport { Transition } from 'react-transition-group';\nimport styled from 'styled-components';\nimport { SIZES_MAP, DEFAULT_SIZE } from './constants';\nimport Container from './styledContainer';\nimport Svg from './styledSvg';\nvar Outer = styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: inline-block;\\n vertical-align: middle;\\n\"], [\"\\n display: inline-block;\\n vertical-align: middle;\\n\"])));\nOuter.displayName = 'Outer';\nvar Spinner = /** @class */ (function (_super) {\n __extends(Spinner, _super);\n function Spinner(props) {\n var _this = _super.call(this, props) || this;\n _this.transitionNode = null;\n _this.enter = function () {\n var delay = _this.props.delay;\n if (delay) {\n _this.setState({ phase: 'DELAY' });\n }\n else {\n _this.setState({ phase: 'ENTER' });\n }\n };\n _this.idle = function () {\n _this.setState({ phase: 'IDLE' });\n };\n _this.exit = function () {\n _this.setState({ phase: 'LEAVE' });\n };\n _this.endListener = function (node, done) {\n var executeCallback = function (event) {\n // ignore animation events on the glyph\n if (event.target.tagName === 'svg') {\n return;\n }\n if (_this.state.phase === 'DELAY') {\n _this.setState({ phase: 'ENTER' });\n _this.endListener(node, done);\n }\n else {\n done();\n }\n return node && node.removeEventListener('animationend', executeCallback);\n };\n // FIX - jest-emotion doesn't recognise the DOM node so it can't add\n // the eventListener in the @atlaskit/button tests.\n // Should be fixed when we move to emotion@10\n if (node && node.addEventListener) {\n return node.addEventListener('animationend', executeCallback);\n }\n return done();\n };\n _this.validateSize = function () {\n var size = _this.props.size;\n var spinnerSize = SIZES_MAP[size] || size;\n return typeof spinnerSize === 'number' ? spinnerSize : DEFAULT_SIZE;\n };\n _this.state = {\n phase: '',\n };\n return _this;\n }\n Spinner.prototype.render = function () {\n var _this = this;\n var phase = this.state.phase;\n var _a = this.props, delay = _a.delay, invertColor = _a.invertColor, isCompleting = _a.isCompleting, testId = _a.testId;\n var size = this.validateSize();\n var strokeWidth = Math.round(size / 10);\n var strokeRadius = size / 2 - strokeWidth / 2;\n return (React.createElement(Outer, null,\n React.createElement(Transition, { addEndListener: this.endListener, appear: true, in: !isCompleting, mountOnEnter: true, unmountOnExit: true, onEnter: this.enter, onEntered: this.idle, onExit: this.exit, onExited: function () { return _this.props.onComplete(); }, timeout: 0, ref: function (node) {\n _this.transitionNode = node;\n } },\n React.createElement(Container, { delay: delay / 1000, phase: phase, size: size, \"data-testid\": testId },\n React.createElement(Svg, { focusable: \"false\", height: size, invertColor: invertColor, phase: phase, size: size, viewBox: \"0 0 \" + size + \" \" + size, width: size, xmlns: \"http://www.w3.org/2000/svg\" },\n React.createElement(\"circle\", { cx: size / 2, cy: size / 2, r: strokeRadius }))))));\n };\n Spinner.defaultProps = {\n delay: 100,\n isCompleting: false,\n invertColor: false,\n onComplete: function () { },\n size: 'medium',\n };\n return Spinner;\n}(Component));\nexport default Spinner;\nvar templateObject_1;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { jsx as ___EmotionJSX } from \"@emotion/core\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { components } from 'react-select';\nimport Spinner from '@atlaskit/spinner';\nimport SelectClearIcon from '@atlaskit/icon/glyph/select-clear';\nimport DownIcon from '@atlaskit/icon/glyph/hipchat/chevron-down'; // indicators\n\nexport var ClearIndicator = function ClearIndicator(props) {\n return jsx(components.ClearIndicator, props, jsx(SelectClearIcon, {\n size: \"small\",\n primaryColor: \"inherit\"\n }));\n};\nexport var DropdownIndicator = function DropdownIndicator(props) {\n return jsx(components.DropdownIndicator, props, jsx(DownIcon, null));\n};\nexport var LoadingIndicator = function LoadingIndicator(props) {\n return jsx(\"div\", _extends({\n css: props.getStyles('loadingIndicator', props)\n }, props.innerProps), jsx(Spinner, {\n size: \"small\"\n }));\n};","import { jsx as ___EmotionJSX } from \"@emotion/core\";\nimport React from 'react';\nimport { components } from 'react-select';\nimport SelectClearIcon from '@atlaskit/icon/glyph/select-clear';\nexport { ClearIndicator, DropdownIndicator, LoadingIndicator } from './indicators';\nexport var MultiValueRemove = function MultiValueRemove(props) {\n return ___EmotionJSX(components.MultiValueRemove, props, ___EmotionJSX(SelectClearIcon, {\n size: \"small\",\n primaryColor: \"transparent\",\n secondaryColor: \"inherit\"\n }));\n};\nexport var IndicatorSeparator = null;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport { jsx as ___EmotionJSX } from \"@emotion/core\";\nimport React, { Component } from 'react';\nimport { mergeStyles } from 'react-select';\nimport makeAnimated from 'react-select/animated';\nimport memoizeOne from 'memoize-one';\nimport isEqual from 'react-fast-compare';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport * as colors from '@atlaskit/theme/colors';\nimport * as defaultComponents from './components'; // NOTE in the future, `Props` and `defaultProps` should come\n// directly from react-select\n\nfunction baseStyles(validationState, isCompact) {\n var BORDER_WIDTH = 2;\n var ICON_PADDING = 2;\n var paddingExcludingBorder = gridSize() - BORDER_WIDTH;\n return {\n control: function control(css, _ref) {\n var isFocused = _ref.isFocused,\n isDisabled = _ref.isDisabled;\n var borderColor = isFocused ? colors.B100 : colors.N20;\n var backgroundColor = isFocused ? colors.N0 : colors.N20;\n\n if (isDisabled) {\n backgroundColor = colors.N20;\n }\n\n if (validationState === 'error') borderColor = colors.R400;\n if (validationState === 'success') borderColor = colors.G400;\n var borderColorHover = isFocused ? colors.B100 : colors.N30;\n if (validationState === 'error') borderColorHover = colors.R400;\n if (validationState === 'success') borderColorHover = colors.G400;\n var transitionDuration = '200ms';\n return _objectSpread({}, css, {\n backgroundColor: backgroundColor,\n borderColor: borderColor,\n borderStyle: 'solid',\n borderRadius: '3px',\n borderWidth: '2px',\n boxShadow: 'none',\n minHeight: isCompact ? gridSize() * 4 : gridSize() * 5,\n padding: 0,\n transition: \"background-color \".concat(transitionDuration, \" ease-in-out,\\n border-color \").concat(transitionDuration, \" ease-in-out\"),\n msOverflowStyle: '-ms-autohiding-scrollbar',\n '::-webkit-scrollbar': {\n height: gridSize(),\n width: gridSize()\n },\n '::-webkit-scrollbar-corner': {\n display: 'none'\n },\n ':hover': {\n '::-webkit-scrollbar-thumb': {\n backgroundColor: 'rgba(0,0,0,0.2)'\n },\n cursor: 'pointer',\n backgroundColor: isFocused ? colors.N0 : colors.N30,\n borderColor: borderColorHover\n },\n '::-webkit-scrollbar-thumb:hover': {\n backgroundColor: 'rgba(0,0,0,0.4)'\n }\n });\n },\n valueContainer: function valueContainer(css) {\n return _objectSpread({}, css, {\n paddingLeft: paddingExcludingBorder,\n paddingRight: paddingExcludingBorder,\n paddingBottom: isCompact ? 0 : 2,\n paddingTop: isCompact ? 0 : 2\n });\n },\n clearIndicator: function clearIndicator(css) {\n return _objectSpread({}, css, {\n color: colors.N70,\n paddingLeft: ICON_PADDING,\n paddingRight: ICON_PADDING,\n paddingBottom: isCompact ? 0 : 6,\n paddingTop: isCompact ? 0 : 6,\n ':hover': {\n color: colors.N500\n }\n });\n },\n loadingIndicator: function loadingIndicator(css) {\n return _objectSpread({}, css, {\n paddingBottom: isCompact ? 0 : 6,\n paddingTop: isCompact ? 0 : 6\n });\n },\n dropdownIndicator: function dropdownIndicator(css, _ref2) {\n var isDisabled = _ref2.isDisabled;\n var color = colors.N500;\n\n if (isDisabled) {\n color = colors.N70;\n }\n\n return _objectSpread({}, css, {\n color: color,\n paddingLeft: ICON_PADDING,\n paddingRight: ICON_PADDING,\n paddingBottom: isCompact ? 0 : 6,\n paddingTop: isCompact ? 0 : 6,\n ':hover': {\n color: colors.N200\n }\n });\n },\n indicatorsContainer: function indicatorsContainer(css) {\n return _objectSpread({}, css, {\n paddingRight: paddingExcludingBorder - ICON_PADDING\n });\n },\n option: function option(css, _ref3) {\n var isFocused = _ref3.isFocused,\n isSelected = _ref3.isSelected;\n var color = isSelected ? colors.N0 : null;\n var backgroundColor;\n if (isSelected) backgroundColor = colors.N500;else if (isFocused) backgroundColor = colors.N30;\n return _objectSpread({}, css, {\n paddingTop: '6px',\n paddingBottom: '6px',\n backgroundColor: backgroundColor,\n color: color\n });\n },\n placeholder: function placeholder(css) {\n return _objectSpread({}, css, {\n color: colors.N100\n });\n },\n singleValue: function singleValue(css, _ref4) {\n var isDisabled = _ref4.isDisabled;\n return _objectSpread({}, css, {\n color: isDisabled ? colors.N70 : colors.N800,\n lineHeight: \"\".concat(gridSize() * 2, \"px\") // 16px\n\n });\n },\n menuList: function menuList(css) {\n return _objectSpread({}, css, {\n paddingTop: gridSize(),\n paddingBottom: gridSize()\n });\n },\n multiValue: function multiValue(css) {\n return _objectSpread({}, css, {\n borderRadius: '2px',\n backgroundColor: colors.N40,\n color: colors.N500,\n maxWidth: '100%'\n });\n },\n multiValueLabel: function multiValueLabel(css) {\n return _objectSpread({}, css, {\n padding: '2px',\n paddingRight: '2px'\n });\n },\n multiValueRemove: function multiValueRemove(css, _ref5) {\n var isFocused = _ref5.isFocused;\n return _objectSpread({}, css, {\n backgroundColor: isFocused && colors.R75,\n color: isFocused && colors.R400,\n paddingLeft: '2px',\n paddingRight: '2px',\n borderRadius: '0px 2px 2px 0px',\n ':hover': {\n color: colors.R400,\n backgroundColor: colors.R75\n }\n });\n }\n };\n}\n\nexport default function createSelect(WrappedComponent) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inherits(AtlaskitSelect, _Component);\n\n function AtlaskitSelect(props) {\n var _this;\n\n _classCallCheck(this, AtlaskitSelect);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AtlaskitSelect).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"components\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"select\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"cacheComponents\", function (components, enableAnimation) {\n if (enableAnimation) {\n _this.components = makeAnimated(_objectSpread({}, defaultComponents, components));\n } else {\n _this.components = _objectSpread({}, defaultComponents, components);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSelectRef\", function (ref) {\n _this.select = ref;\n var innerRef = _this.props.innerRef;\n\n if (_typeof(innerRef) === 'object') {\n innerRef.current = ref;\n }\n\n if (typeof innerRef === 'function') {\n innerRef(ref);\n }\n });\n\n _this.cacheComponents = memoizeOne(_this.cacheComponents, isEqual).bind(_assertThisInitialized(_this));\n\n _this.cacheComponents(props.components, props.enableAnimation);\n\n return _this;\n }\n\n _createClass(AtlaskitSelect, [{\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n this.cacheComponents(nextProps.components, nextProps.enableAnimation);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n styles = _this$props.styles,\n validationState = _this$props.validationState,\n spacing = _this$props.spacing,\n isMulti = _this$props.isMulti,\n props = _objectWithoutProperties(_this$props, [\"styles\", \"validationState\", \"spacing\", \"isMulti\"]); // eslint-disable-line\n\n\n var isCompact = spacing === 'compact'; // props must be spread first to stop `components` being overridden\n\n return ___EmotionJSX(WrappedComponent, _extends({\n ref: this.onSelectRef,\n isMulti: isMulti\n }, props, {\n components: this.components,\n styles: mergeStyles(baseStyles(validationState, isCompact), styles)\n }));\n }\n }]);\n\n return AtlaskitSelect;\n }(Component), _defineProperty(_class, \"defaultProps\", {\n enableAnimation: true,\n validationState: 'default',\n spacing: 'default',\n onClickPreventDefault: true,\n tabSelectsValue: false\n }), _temp;\n}","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importStar(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n var size = _a.size;\n return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n \", \" color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \" max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n /* Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], [\"\\n \", \" color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \" max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n /* Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\nvar Icon = /** @class */ (function (_super) {\n tslib_1.__extends(Icon, _super);\n function Icon() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\n Icon.insertDynamicGradientID = function (svgStr) {\n var id = uuid_1.default();\n var replacedSvgStr = svgStr\n .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n return replacedSvgStr;\n };\n Icon.prototype.render = function () {\n var _a = this.props, Glyph = _a.glyph, dangerouslySetGlyph = _a.dangerouslySetGlyph, primaryColor = _a.primaryColor, secondaryColor = _a.secondaryColor, size = _a.size;\n // handling the glyphs as strings\n if (dangerouslySetGlyph) {\n return (react_1.default.createElement(exports.IconWrapper, { primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"aria-label\": this.props.label, dangerouslySetInnerHTML: {\n __html: Icon.insertDynamicGradientID(dangerouslySetGlyph),\n } }));\n }\n // handling the glyphs when passed through as functions\n return (react_1.default.createElement(exports.IconWrapper, { primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"aria-label\": this.props.label }, Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null));\n };\n return Icon;\n}(react_1.Component));\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px',\n};\nexports.sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar HipchatChevronDownIcon = function HipchatChevronDownIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nHipchatChevronDownIcon.displayName = 'HipchatChevronDownIcon';\nvar _default = HipchatChevronDownIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar SelectClearIcon = function SelectClearIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nSelectClearIcon.displayName = 'SelectClearIcon';\nvar _default = SelectClearIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func\n};\n\nvar AnalyticsContext =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(AnalyticsContext, _Component);\n\n function AnalyticsContext() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, AnalyticsContext);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(AnalyticsContext)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"getChildContext\", function () {\n return {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getAnalyticsContext\", function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = typeof getAtlaskitAnalyticsContext === 'function' && getAtlaskitAnalyticsContext() || [];\n return [].concat(_toConsumableArray(ancestorData), [data]);\n });\n\n return _this;\n }\n\n _createClass(AnalyticsContext, [{\n key: \"render\",\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n\n return AnalyticsContext;\n}(Component);\n\n_defineProperty(AnalyticsContext, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsContext, \"childContextTypes\", ContextTypes);\n\nexport { AnalyticsContext as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar AnalyticsEvent =\n/*#__PURE__*/\nfunction () {\n function AnalyticsEvent(props) {\n var _this = this;\n\n _classCallCheck(this, AnalyticsEvent);\n\n _defineProperty(this, \"payload\", void 0);\n\n _defineProperty(this, \"clone\", function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({\n payload: payload\n });\n });\n\n this.payload = props.payload;\n }\n\n _createClass(AnalyticsEvent, [{\n key: \"update\",\n value: function update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n } else if (_typeof(updater) === 'object') {\n this.payload = _objectSpread({}, this.payload, updater);\n }\n\n return this;\n }\n }]);\n\n return AnalyticsEvent;\n}();\n\nexport { AnalyticsEvent as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _get from \"@babel/runtime/helpers/get\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar _console = console,\n warn = _console.warn;\n\nvar UIAnalyticsEvent =\n/*#__PURE__*/\nfunction (_AnalyticsEvent) {\n _inherits(UIAnalyticsEvent, _AnalyticsEvent);\n\n function UIAnalyticsEvent(props) {\n var _this;\n\n _classCallCheck(this, UIAnalyticsEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(UIAnalyticsEvent).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"context\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handlers\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"hasFired\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"clone\", function () {\n if (_this.hasFired) {\n warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n\n var context = _toConsumableArray(_this.context);\n\n var handlers = _toConsumableArray(_this.handlers); // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n\n\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({\n context: context,\n handlers: handlers,\n payload: payload\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"fire\", function (channel) {\n if (_this.hasFired) {\n warn('Cannot fire an event twice.');\n return;\n }\n\n _this.handlers.forEach(function (handler) {\n handler(_assertThisInitialized(_this), channel);\n });\n\n _this.hasFired = true;\n });\n\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n\n _createClass(UIAnalyticsEvent, [{\n key: \"update\",\n value: function update(updater) {\n if (this.hasFired) {\n warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n\n return _get(_getPrototypeOf(UIAnalyticsEvent.prototype), \"update\", this).call(this, updater);\n }\n }]);\n\n return UIAnalyticsEvent;\n}(AnalyticsEvent);\n\nexport { UIAnalyticsEvent as default };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n\n// This component is used to grab the analytics functions off context.\n// It uses legacy context, but provides an API similar to 16.3 context.\n// This makes it easier to use with the forward ref API.\nvar AnalyticsContextConsumer =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(AnalyticsContextConsumer, _Component);\n\n // Store references to the original and patched event props so we can determine when to update\n // the patched props\n function AnalyticsContextConsumer(_props) {\n var _this;\n\n _classCallCheck(this, AnalyticsContextConsumer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AnalyticsContextConsumer).call(this, _props));\n\n _defineProperty(_assertThisInitialized(_this), \"originalEventProps\", {});\n\n _defineProperty(_assertThisInitialized(_this), \"patchedEventProps\", {});\n\n _defineProperty(_assertThisInitialized(_this), \"updatePatchedEventProps\", function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) {\n return _this.originalEventProps[p] !== props[p];\n });\n\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = _objectSpread({}, _this.patchedEventProps, _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n\n return _this.patchedEventProps;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mapCreateEventsToProps\", function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n\n if (!['object', 'function'].includes(_typeof(eventCreator))) {\n return modified;\n }\n\n var modifiedCallback = function modifiedCallback() {\n var analyticsEvent = typeof eventCreator === 'function' ? eventCreator(_this.createAnalyticsEvent, props) : _this.createAnalyticsEvent(eventCreator);\n\n if (providedCallback) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n providedCallback.apply(void 0, args.concat([analyticsEvent]));\n }\n };\n\n return _objectSpread({}, modified, _defineProperty({}, propCallbackName, modifiedCallback));\n }, {});\n });\n\n _defineProperty(_assertThisInitialized(_this), \"createAnalyticsEvent\", function (payload) {\n var _this$context = _this.context,\n getAtlaskitAnalyticsEventHandlers = _this$context.getAtlaskitAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext = _this$context.getAtlaskitAnalyticsContext;\n var context = typeof getAtlaskitAnalyticsContext === 'function' && getAtlaskitAnalyticsContext() || [];\n var handlers = typeof getAtlaskitAnalyticsEventHandlers === 'function' && getAtlaskitAnalyticsEventHandlers() || [];\n return new UIAnalyticsEvent({\n context: context,\n handlers: handlers,\n payload: payload\n });\n });\n\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = _props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), _props.wrappedComponentProps);\n return _this;\n } // Update patched event props only if the original props have changed\n\n\n _createClass(AnalyticsContextConsumer, [{\n key: \"render\",\n value: function render() {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps\n });\n }\n }]);\n\n return AnalyticsContextConsumer;\n}(Component);\n\n_defineProperty(AnalyticsContextConsumer, \"contextTypes\", {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func\n});\n\n_defineProperty(AnalyticsContextConsumer, \"defaultProps\", {\n createEventMap: {}\n});\n\nexport default function withAnalyticsEvents() {\n var createEventMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function (WrappedComponent) {\n // $FlowFixMe - flow 0.67 doesn't know about forwardRef\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) {\n return React.createElement(AnalyticsContextConsumer, {\n createEventMap: createEventMap,\n wrappedComponentProps: props\n }, function (_ref) {\n var createAnalyticsEvent = _ref.createAnalyticsEvent,\n patchedEventProps = _ref.patchedEventProps;\n return React.createElement(WrappedComponent, _extends({}, props, patchedEventProps, {\n createAnalyticsEvent: createAnalyticsEvent,\n ref: ref\n }));\n });\n });\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\".concat(WrappedComponent.displayName || WrappedComponent.name, \")\");\n return WithAnalyticsEvents;\n };\n}\nexport var withAnalyticsForSumTypeProps = withAnalyticsEvents;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { jsx as ___EmotionJSX } from \"@emotion/core\";\nimport React from 'react';\nexport default (function (_ref) {\n var appearance = _ref.appearance,\n elemAfterInput = _ref.elemAfterInput,\n elemBeforeInput = _ref.elemBeforeInput,\n forwardedRef = _ref.forwardedRef,\n isCompact = _ref.isCompact,\n isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isHovered = _ref.isHovered,\n isInvalid = _ref.isInvalid,\n isMonospaced = _ref.isMonospaced,\n isReadOnly = _ref.isReadOnly,\n isRequired = _ref.isRequired,\n onMouseDown = _ref.onMouseDown,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n theme = _ref.theme,\n rest = _objectWithoutProperties(_ref, [\"appearance\", \"elemAfterInput\", \"elemBeforeInput\", \"forwardedRef\", \"isCompact\", \"isDisabled\", \"isFocused\", \"isHovered\", \"isInvalid\", \"isMonospaced\", \"isReadOnly\", \"isRequired\", \"onMouseDown\", \"onMouseEnter\", \"onMouseLeave\", \"theme\"]);\n\n return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n ___EmotionJSX(\"div\", {\n css: theme.container,\n onMouseDown: onMouseDown,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n }, elemBeforeInput, ___EmotionJSX(\"input\", _extends({\n ref: forwardedRef,\n disabled: isDisabled,\n readOnly: isReadOnly,\n required: isRequired,\n css: theme.input\n }, rest)), elemAfterInput)\n );\n});","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { colors } from '@atlaskit/theme'; // The following are the name for color mappings in @atlaskit/themes\n// The exports are the functions, not the objects, so could not be used here\n\nexport var disabledBackgroundColor = {\n light: colors.N20,\n dark: colors.DN20\n}; // For validation red is the new 'yellow' which was { light: colors.Y300, dark: colors.Y300 }\n\nexport var invalidBorderColor = {\n light: colors.R400,\n dark: colors.R400\n}; // The following do not yet have a darkmode 'map': N20A, N10\n\nexport var defaultBackgroundColor = {\n light: colors.N10,\n dark: colors.DN10\n};\nexport var defaultBackgroundColorFocus = {\n light: colors.N0,\n dark: colors.DN10\n};\nexport var defaultBackgroundColorHover = {\n light: colors.N30,\n dark: colors.DN30\n};\nexport var defaultBorderColor = {\n light: colors.N40,\n dark: colors.DN40\n};\nexport var defaultBorderColorFocus = {\n light: colors.B100,\n dark: colors.B75\n};\nexport var transparent = {\n light: 'transparent',\n dark: 'transparent'\n};\nexport var textColor = {\n light: colors.N900,\n dark: colors.DN600\n};\nexport var disabledTextColor = {\n light: colors.N70,\n dark: colors.DN90\n};\nexport var placeholderTextColor = {\n light: colors.N100,\n dark: colors.DN90\n};","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport { createTheme, codeFontFamily, gridSize, fontSize } from '@atlaskit/theme';\nimport * as componentTokens from './component-tokens';\nvar disabledRules = {\n light: {\n backgroundColor: componentTokens.defaultBackgroundColor.light,\n backgroundColorFocus: componentTokens.disabledBackgroundColor.light,\n backgroundColorHover: componentTokens.disabledBackgroundColor.light,\n borderColor: componentTokens.defaultBorderColor.light,\n borderColorFocus: componentTokens.defaultBorderColorFocus.light,\n textColor: componentTokens.disabledTextColor.light\n },\n dark: {\n backgroundColor: componentTokens.defaultBackgroundColor.dark,\n backgroundColorFocus: componentTokens.disabledBackgroundColor.dark,\n backgroundColorHover: componentTokens.disabledBackgroundColor.dark,\n borderColor: componentTokens.defaultBorderColor.dark,\n borderColorFocus: componentTokens.defaultBorderColorFocus.dark,\n textColor: componentTokens.disabledTextColor.dark\n }\n};\nvar invalidRules = {\n light: {\n backgroundColor: componentTokens.defaultBackgroundColor.light,\n backgroundColorFocus: componentTokens.defaultBackgroundColorFocus.light,\n backgroundColorHover: componentTokens.defaultBackgroundColorHover.light,\n borderColor: componentTokens.invalidBorderColor.light,\n borderColorFocus: componentTokens.defaultBorderColorFocus.light\n },\n dark: {\n backgroundColor: componentTokens.defaultBackgroundColor.dark,\n backgroundColorFocus: componentTokens.defaultBackgroundColorFocus.dark,\n backgroundColorHover: componentTokens.defaultBackgroundColorHover.dark,\n borderColor: componentTokens.invalidBorderColor.dark,\n borderColorFocus: componentTokens.defaultBorderColorFocus.dark\n }\n};\nvar backgroundColor = {\n standard: componentTokens.defaultBackgroundColor,\n subtle: componentTokens.transparent,\n none: componentTokens.transparent\n};\nvar backgroundColorFocus = {\n standard: componentTokens.defaultBackgroundColorFocus,\n subtle: componentTokens.defaultBackgroundColorFocus,\n none: componentTokens.transparent\n};\nvar backgroundColorHover = {\n standard: componentTokens.defaultBackgroundColorHover,\n subtle: componentTokens.defaultBackgroundColorHover,\n none: componentTokens.transparent\n};\nvar borderColor = {\n standard: componentTokens.defaultBorderColor,\n subtle: componentTokens.transparent,\n none: componentTokens.transparent\n};\nvar borderColorFocus = {\n standard: componentTokens.defaultBorderColorFocus,\n subtle: componentTokens.defaultBorderColorFocus,\n none: componentTokens.transparent\n};\n\nvar getContainerBackgroundColor = function getContainerBackgroundColor(_ref) {\n var appearance = _ref.appearance,\n isFocused = _ref.isFocused,\n isHovered = _ref.isHovered,\n isDisabled = _ref.isDisabled,\n isInvalid = _ref.isInvalid,\n mode = _ref.mode;\n\n if (isDisabled) {\n // switch on focus then switch on hover\n if (isFocused) {\n return {\n backgroundColor: disabledRules[mode].backgroundColorFocus\n };\n }\n\n if (isHovered) {\n return {\n backgroundColor: disabledRules[mode].backgroundColorHover\n };\n }\n\n return {\n backgroundColor: disabledRules[mode].backgroundColor\n };\n }\n\n if (isInvalid) {\n // switch on focus then switch on hover\n if (isFocused) {\n return {\n backgroundColor: invalidRules[mode].backgroundColorFocus\n };\n }\n\n if (isHovered) {\n return {\n backgroundColor: invalidRules[mode].backgroundColorHover\n };\n }\n\n return {\n backgroundColor: invalidRules[mode].backgroundColor\n };\n } // switch on appearance then focus then switch on hover\n\n\n if (isFocused) {\n return {\n backgroundColor: backgroundColorFocus[appearance][mode]\n };\n }\n\n if (isHovered) {\n return {\n backgroundColor: backgroundColorHover[appearance][mode]\n };\n }\n\n return {\n backgroundColor: backgroundColor[appearance][mode]\n };\n};\n\nvar getContainerBorderColor = function getContainerBorderColor(_ref2) {\n var appearance = _ref2.appearance,\n isFocused = _ref2.isFocused,\n isDisabled = _ref2.isDisabled,\n isInvalid = _ref2.isInvalid,\n mode = _ref2.mode;\n\n if (isDisabled) {\n // switch on focus then switch on hover\n if (isFocused) {\n return {\n borderColor: disabledRules[mode].borderColorFocus\n };\n }\n\n return {\n borderColor: disabledRules[mode].borderColor\n };\n }\n\n if (isInvalid) {\n // switch on focus then switch on hover\n if (isFocused) {\n return {\n borderColor: invalidRules[mode].borderColorFocus\n };\n }\n\n return {\n borderColor: invalidRules[mode].borderColor\n };\n } // switch on appearance then focus then switch on hover\n\n\n if (isFocused) {\n return {\n borderColor: borderColorFocus[appearance][mode]\n };\n }\n\n return {\n borderColor: borderColor[appearance][mode]\n };\n};\n\nvar getPlaceholderColor = function getPlaceholderColor(_ref3) {\n var isDisabled = _ref3.isDisabled,\n mode = _ref3.mode;\n return isDisabled ? disabledRules[mode].textColor : componentTokens.placeholderTextColor[mode];\n}; // can't group these placeholder styles into one block because browsers drop\n// entire style blocks when any single selector fails to parse\n\n\nvar getPlaceholderStyle = function getPlaceholderStyle(props) {\n return {\n '&::-webkit-input-placeholder': {\n /* WebKit, Blink, Edge */\n color: getPlaceholderColor(props)\n },\n '&::-moz-placeholder': {\n /* Mozilla Firefox 19+ */\n color: getPlaceholderColor(props),\n opacity: 1\n },\n '&::-ms-input-placeholder': {\n /* Microsoft Edge */\n color: getPlaceholderColor(props)\n },\n '&:-ms-input-placeholder': {\n /* Internet Explorer 10-11 */\n color: getPlaceholderColor(props)\n }\n };\n};\n\nvar getMaxWidth = function getMaxWidth(_ref4) {\n var width = _ref4.width;\n if (!width) return \"100%\";\n\n switch (width) {\n case 'xsmall':\n return '80px';\n\n case 'small':\n return '160px';\n\n case 'medium':\n return '240px';\n\n case 'large':\n return '320px';\n\n case 'xlarge':\n return '480px';\n\n default:\n return \"\".concat(width, \"px\");\n }\n};\n\nexport var Theme = createTheme(function (props) {\n return {\n container: _objectSpread({\n alignItems: 'center'\n }, getContainerBackgroundColor(props), getContainerBorderColor(props), {\n borderRadius: '3px',\n borderWidth: '2px',\n borderStyle: props.appearance === 'none' ? 'none' : 'solid',\n boxSizing: 'border-box',\n color: props.isDisabled ? disabledRules[props.mode].textColor : componentTokens.textColor[props.mode],\n cursor: props.isDisabled ? 'not-allowed' : 'text',\n display: 'flex',\n flex: '1 1 100%',\n fontSize: \"\".concat(fontSize(), \"px\"),\n justifyContent: 'space-between',\n maxWidth: getMaxWidth(props),\n overflow: 'hidden',\n transition: \"background-color 0.2s ease-in-out, border-color 0.2s ease-in-out\",\n wordWrap: 'break-word',\n verticalAlign: 'top',\n pointerEvents: 'auto'\n }),\n input: _objectSpread({\n backgroundColor: 'transparent',\n border: 0,\n color: 'inherit',\n cursor: 'inherit',\n fontFamily: props.isMonospaced ? codeFontFamily() : 'inherit',\n fontSize: \"\".concat(fontSize(), \"px\"),\n minWidth: '0',\n outline: 'none',\n padding: \"\".concat(props.isCompact ? gridSize() / 2 : gridSize(), \"px \").concat(gridSize() - 2, \"px\"),\n width: '100%',\n height: \"\".concat(gridSize() * 2.5 / fontSize(), \"em\"),\n lineHeight: gridSize() * 2.5 / fontSize(),\n '&[disabled]': {\n // Safari puts on some difficult to remove styles, mainly for disabled inputs\n // but we want full control so need to override them in all cases\n WebkitTextFillColor: 'unset',\n WebkitOpacity: 1\n },\n '&::-ms-clear': {\n display: 'none'\n },\n '&:invalid': {\n boxShadow: 'none'\n }\n }, getPlaceholderStyle(props))\n };\n});\nexport var themeTokens = {\n backgroundColor: backgroundColor,\n backgroundColorFocus: backgroundColorFocus,\n backgroundColorHover: backgroundColorHover,\n borderColor: borderColor,\n borderColorFocus: borderColorFocus,\n placeholderTextColor: componentTokens.placeholderTextColor,\n textColor: componentTokens.textColor,\n invalidRules: invalidRules,\n disabledRules: disabledRules\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { jsx as ___EmotionJSX } from \"@emotion/core\";\nimport GlobalTheme from '@atlaskit/theme';\nimport React, { Component } from 'react';\nimport { withAnalyticsEvents, withAnalyticsContext, createAndFireEvent } from '@atlaskit/analytics-next';\nimport { name as packageName, version as packageVersion } from '../version.json';\nimport Input from './Input';\nimport { Theme } from '../theme';\n\nvar Textfield =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Textfield, _Component);\n\n function Textfield() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Textfield);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Textfield)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isFocused: false,\n isHovered: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"input\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnFocus\", function (e) {\n _this.setState({\n isFocused: true\n });\n\n if (_this.props.onFocus) {\n _this.props.onFocus(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnBlur\", function (e) {\n _this.setState({\n isFocused: false\n });\n\n if (_this.props.onBlur) {\n _this.props.onBlur(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnMouseDown\", function (e) {\n /** Running e.preventDefault() on the INPUT prevents double click behaviour */\n // $FlowFixMe - tagName does not exist in event.target\n if (e.target.tagName !== 'INPUT') {\n e.preventDefault();\n }\n\n if (_this.input && !_this.props.isDisabled && document.activeElement !== _this.input) {\n _this.input.focus();\n }\n\n if (_this.props.onMouseDown) {\n _this.props.onMouseDown(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function () {\n if (!_this.props.isDisabled) {\n _this.setState({\n isHovered: true\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function () {\n if (!_this.props.isDisabled) {\n _this.setState({\n isHovered: false\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setInputRef\", function (input) {\n _this.input = input;\n var forwardedRef = _this.props.forwardedRef;\n\n if (forwardedRef && _typeof(forwardedRef) === 'object') {\n forwardedRef.current = input;\n }\n\n if (forwardedRef && typeof forwardedRef === 'function') {\n forwardedRef(input);\n }\n });\n\n return _this;\n }\n\n _createClass(Textfield, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$state = this.state,\n isFocused = _this$state.isFocused,\n isHovered = _this$state.isHovered;\n\n var _this$props = this.props,\n appearance = _this$props.appearance,\n createAnalyticsEvent = _this$props.createAnalyticsEvent,\n forwardedRef = _this$props.forwardedRef,\n isCompact = _this$props.isCompact,\n isDisabled = _this$props.isDisabled,\n isInvalid = _this$props.isInvalid,\n isMonospaced = _this$props.isMonospaced,\n theme = _this$props.theme,\n width = _this$props.width,\n rest = _objectWithoutProperties(_this$props, [\"appearance\", \"createAnalyticsEvent\", \"forwardedRef\", \"isCompact\", \"isDisabled\", \"isInvalid\", \"isMonospaced\", \"theme\", \"width\"]);\n\n return ___EmotionJSX(Theme.Provider, {\n value: theme\n }, ___EmotionJSX(GlobalTheme.Consumer, null, function (_ref) {\n var mode = _ref.mode;\n return ___EmotionJSX(Theme.Consumer, {\n appearance: appearance,\n mode: mode,\n width: width,\n isDisabled: isDisabled,\n isCompact: isCompact,\n isMonospaced: isMonospaced,\n isFocused: isFocused,\n isHovered: isHovered,\n isInvalid: isInvalid\n }, function (tokens) {\n return ___EmotionJSX(Input, _extends({}, rest, {\n theme: tokens,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isHovered: isHovered,\n onMouseEnter: _this2.onMouseEnter,\n onMouseLeave: _this2.onMouseLeave,\n forwardedRef: _this2.setInputRef,\n onFocus: _this2.handleOnFocus,\n onBlur: _this2.handleOnBlur,\n onMouseDown: _this2.handleOnMouseDown\n }));\n });\n }));\n }\n }]);\n\n return Textfield;\n}(Component); // $ExpectError - flow 0.67 doesn't know about forwardRef\n\n\n_defineProperty(Textfield, \"defaultProps\", {\n appearance: 'standard',\n isCompact: false,\n isMonospaced: false,\n isInvalid: false\n});\n\nvar ForwardRefTextfield = React.forwardRef(function (props, ref) {\n return ___EmotionJSX(Textfield, _extends({}, props, {\n forwardedRef: ref\n }));\n});\nexport { ForwardRefTextfield as TextFieldWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'textField',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onBlur: createAndFireEventOnAtlaskit({\n action: 'blurred',\n actionSubject: 'textField',\n attributes: {\n componentName: 'textField',\n packageName: packageName,\n packageVersion: packageVersion\n }\n }),\n onFocus: createAndFireEventOnAtlaskit({\n action: 'focused',\n actionSubject: 'textField',\n attributes: {\n componentName: 'textField',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(ForwardRefTextfield));","export default (function (channel) {\n return function (payload) {\n return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n consumerEvent.clone().fire(channel);\n return consumerEvent;\n };\n };\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nexport default function withAnalyticsContext() {\n var defaultData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function (WrappedComponent) {\n // $FlowFixMe - flow 0.67 doesn't know about forwardRef\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n // eslint-disable-next-line react/prop-types\n var _props$analyticsConte = props.analyticsContext,\n analyticsContext = _props$analyticsConte === void 0 ? {} : _props$analyticsConte,\n others = _objectWithoutProperties(props, [\"analyticsContext\"]);\n\n var data = _objectSpread({}, defaultData, analyticsContext);\n\n return React.createElement(AnalyticsContext, {\n data: data\n }, React.createElement(WrappedComponent, _extends({}, others, {\n ref: ref\n })));\n });\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\".concat(WrappedComponent.displayName || WrappedComponent.name, \")\");\n return WithAnalyticsContext;\n };\n}","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from 'create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _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 _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _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 _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_this), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || this.props.modifiers !== prevProps.modifiers) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import React from 'react';\nimport memoizeOne from 'memoize-one';\nimport { Popper as ReactPopper, } from 'react-popper';\nexport { Manager, Reference } from 'react-popper';\nconst FlipBehavior = {\n auto: [],\n top: ['top', 'bottom', 'top'],\n right: ['right', 'left', 'right'],\n bottom: ['bottom', 'top', 'bottom'],\n left: ['left', 'right', 'left'],\n};\nconst getFlipBehavior = (side) => FlipBehavior[side];\nexport class Popper extends React.Component {\n constructor() {\n super(...arguments);\n this.getModifiers = memoizeOne(placement => {\n const flipBehavior = getFlipBehavior(placement.split('-')[0]);\n const modifiers = {\n flip: {\n enabled: true,\n behavior: flipBehavior,\n boundariesElement: 'viewport',\n },\n hide: {\n enabled: true,\n },\n offset: {\n enabled: true,\n offset: this.props.offset,\n },\n preventOverflow: {\n enabled: true,\n escapeWithReference: false,\n boundariesElement: 'window',\n },\n };\n if (this.props.modifiers) {\n return { ...modifiers, ...this.props.modifiers };\n }\n return modifiers;\n });\n }\n render() {\n const { placement, children, referenceElement } = this.props;\n const modifiers = this.getModifiers(this.props.placement);\n return (React.createElement(ReactPopper, Object.assign({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement } : {})), children));\n }\n}\nPopper.defaultProps = {\n children: () => null,\n offset: '0, 8px',\n placement: 'bottom-start',\n};\n//# sourceMappingURL=Popper.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport ReactDOM from 'react-dom';\nimport invariant from 'tiny-invariant';\nimport { layers } from '@atlaskit/theme';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../constants';\nconst createContainer = (zIndex) => {\n const container = document.createElement('div');\n container.setAttribute('class', 'atlaskit-portal');\n container.setAttribute('style', `z-index: ${zIndex};`);\n return container;\n};\nconst getBody = () => {\n invariant(document && document.body, 'cannot find document.body');\n return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nconst zIndexToName = Object.keys(layers).reduce((acc, name) => {\n const layerName = name;\n const value = layers[layerName]();\n acc[value] = layerName;\n return acc;\n}, {});\nconst getLayerName = (zIndex) => {\n return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n ? zIndexToName[zIndex]\n : null;\n};\nconst getEvent = (eventName, zIndex) => {\n const detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex,\n };\n // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n if (typeof CustomEvent === 'function') {\n return new CustomEvent(eventName, {\n detail,\n });\n }\n // CustomEvent constructor API not supported (ie11)\n // Using `new Event` or `new CustomEvent` does not work in ie11\n const event = document.createEvent('CustomEvent');\n const params = {\n bubbles: true,\n cancellable: true,\n detail,\n };\n event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n return event;\n};\nconst firePortalEvent = (eventName, zIndex) => {\n const event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n};\nconst getPortalParent = () => {\n const parentElement = document.querySelector('body > .atlaskit-portal-container');\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.setAttribute('class', 'atlaskit-portal-container');\n parent.setAttribute('style', `display: flex;`);\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nclass Portal extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n container: canUseDOM ? createContainer(this.props.zIndex) : undefined,\n portalIsMounted: false,\n };\n }\n componentDidUpdate(prevProps, prevState) {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container && prevProps.zIndex !== zIndex) {\n const newContainer = createContainer(zIndex);\n getPortalParent().replaceChild(container, newContainer);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ container: newContainer });\n }\n else if (!prevState.container && container) {\n // SSR path\n getPortalParent().appendChild(container);\n }\n }\n componentDidMount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().appendChild(container);\n }\n else {\n // SSR path\n const newContainer = createContainer(zIndex);\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ container: newContainer });\n }\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n portalIsMounted: true,\n });\n firePortalEvent(PORTAL_MOUNT_EVENT, Number(zIndex));\n }\n componentWillUnmount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().removeChild(container);\n // clean up parent element if there are no more portals\n const portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n if (!portals) {\n getBody().removeChild(getPortalParent());\n }\n }\n firePortalEvent(PORTAL_UNMOUNT_EVENT, Number(zIndex));\n }\n render() {\n const { container, portalIsMounted } = this.state;\n return container && portalIsMounted\n ? ReactDOM.createPortal(this.props.children, container)\n : null;\n }\n}\nPortal.defaultProps = {\n zIndex: 0,\n};\nexport default Portal;\n//# sourceMappingURL=Portal.js.map","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import styled from 'styled-components';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nconst backgroundColor = themed({\n light: N800,\n dark: DN0,\n});\nconst textColor = themed({\n light: N0,\n dark: DN600,\n});\nexport const TooltipPrimitive = styled.div `\n z-index: ${layers.tooltip};\n pointer-events: none;\n position: fixed;\n`;\nexport const Tooltip = styled(TooltipPrimitive) `\n background-color: ${backgroundColor};\n border-radius: ${borderRadius}px;\n box-sizing: border-box;\n color: ${textColor};\n font-size: 12px;\n left: 0;\n line-height: 1.3;\n max-width: 240px;\n padding: 2px 6px;\n top: 0;\n /* Edge does not support overflow-wrap */\n word-wrap: break-word;\n overflow-wrap: break-word;\n\n ${({ truncate }) => truncate &&\n `\n max-width: 420px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n`;\n// The inline-block here is needed to keep the tooltip appearing in the correct position\n// when nested inside a wider parent (see position: relative example).\nexport const Target = styled.div `\n display: inline-block;\n`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import React from 'react';\nimport { Transition } from 'react-transition-group';\nconst ENTER_DURATION = 120;\nconst EXIT_DURATION = 80;\nconst easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nconst defaultStyle = (timeout) => ({\n transition: `transform ${timeout.enter}ms ${easing}, opacity ${timeout.enter}ms linear`,\n opacity: 0,\n});\nconst transitionStyle = (state) => {\n const transitions = {\n entering: {},\n entered: {\n opacity: 1,\n },\n exiting: {\n opacity: 0,\n },\n };\n return transitions[state];\n};\nconst getStyle = (timeout, state) => () => ({\n ...defaultStyle(timeout),\n ...transitionStyle(state),\n});\nconst Animation = ({ children, immediatelyHide, immediatelyShow, onExited, in: inProp, }) => {\n const timeout = {\n enter: immediatelyShow ? 0 : ENTER_DURATION,\n exit: immediatelyHide ? 0 : EXIT_DURATION,\n };\n return (React.createElement(Transition, { timeout: timeout, in: inProp, onExited: onExited, unmountOnExit: true, appear: true }, (state) => children(getStyle(timeout, state))));\n};\nexport default Animation;\n//# sourceMappingURL=Animation.js.map","import { name as packageName, version as packageVersion, } from '../../version.json';\nexport const hoveredPayload = {\n action: 'displayed',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\nexport const unhoveredPayload = {\n action: 'hidden',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\n//# sourceMappingURL=analytics-payloads.js.map","/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport flushable from 'flushable';\nimport NodeResolver from 'react-node-resolver';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { Tooltip as StyledTooltip } from '../styled';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Animation from './Animation';\nimport { hoveredPayload, unhoveredPayload } from './utils/analytics-payloads';\nconst SCROLL_OPTIONS = { capture: true, passive: true };\nfunction getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || { top: 0, left: 0 };\n const getBoundingClientRect = () => {\n return {\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0,\n };\n };\n return {\n getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0,\n };\n}\nlet pendingHide;\nconst showTooltip = (fn, defaultDelay) => {\n const isHidePending = pendingHide && pendingHide.pending();\n if (isHidePending) {\n pendingHide.flush();\n }\n const pendingShow = flushable(() => fn(isHidePending), isHidePending ? 0 : defaultDelay);\n return pendingShow.cancel;\n};\nconst hideTooltip = (fn, defaultDelay) => {\n pendingHide = flushable(flushed => fn(flushed), defaultDelay);\n return pendingHide.cancel;\n};\nclass Tooltip extends React.Component {\n constructor() {\n super(...arguments);\n this.wrapperRef = null;\n this.targetRef = null;\n this.cancelPendingSetState = () => { };\n this.userInteraction = 'mouse';\n this.state = {\n immediatelyHide: false,\n immediatelyShow: false,\n isVisible: false,\n renderTooltip: false,\n };\n this.handleWindowScroll = () => {\n if (this.state.isVisible) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseClick = () => {\n if (this.props.hideTooltipOnClick) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseDown = () => {\n if (this.props.hideTooltipOnMouseDown) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseOver = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.userInteraction = 'mouse';\n // In the case where a tooltip is newly rendered but immediately becomes hovered,\n // we need to set the coordinates in the mouseOver event.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: e.clientX,\n top: e.clientY,\n });\n }\n this.handleShowTooltip();\n };\n this.handleFocus = () => {\n this.userInteraction = 'keyboard';\n // We need to fake the mouse dimensions even on focus because the code path currently assumes\n // fake mouse element needs to exist before showing the tooltip.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: 0,\n top: 0,\n });\n }\n this.handleShowTooltip();\n };\n this.handleShowTooltip = () => {\n this.cancelPendingSetState();\n if (Boolean(this.props.content) && !this.state.isVisible) {\n this.cancelPendingSetState = showTooltip(immediatelyShow => {\n this.setState({\n isVisible: true,\n renderTooltip: true,\n immediatelyShow,\n });\n }, this.props.delay || 0);\n }\n };\n this.handleHideTooltip = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.cancelPendingSetState();\n if (this.state.isVisible) {\n this.cancelPendingSetState = hideTooltip(immediatelyHide => {\n this.setState({ isVisible: false, immediatelyHide });\n }, this.props.delay || 0);\n }\n };\n // Update mouse coordinates, used when position is 'mouse'.\n // We are not debouncing/throttling this function because we aren't causing any\n // re-renders or performaing any intensive calculations, we're just updating a value.\n // React also doesn't play nice debounced DOM event handlers because they pool their\n // SyntheticEvent objects. Need to use event.persist as a workaround - https://stackoverflow.com/a/24679479/893630\n this.handleMouseMove = (event) => {\n if (!this.state.renderTooltip) {\n this.fakeMouseElement = getMousePosition({\n left: event.clientX,\n top: event.clientY,\n });\n }\n };\n }\n componentWillUnmount() {\n this.cancelPendingSetState();\n this.removeScrollListener();\n }\n componentDidUpdate(_prevProps, prevState) {\n if (!prevState.isVisible && this.state.isVisible) {\n if (this.props.onShow)\n this.props.onShow();\n window.addEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n else if (prevState.isVisible && !this.state.isVisible) {\n if (this.props.onHide)\n this.props.onHide();\n this.removeScrollListener();\n }\n }\n removeScrollListener() {\n window.removeEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n shouldPositionTooltipNearMouse() {\n const { position } = this.props;\n return position === 'mouse' && this.userInteraction === 'mouse';\n }\n render() {\n const { children, position, mousePosition, content, truncate, component: TooltipContainer, tag: TargetContainer, testId, } = this.props;\n const { isVisible, renderTooltip, immediatelyShow, immediatelyHide, } = this.state;\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n return (\n /* eslint-disable jsx-a11y/mouse-events-have-key-events */\n React.createElement(React.Fragment, null,\n TargetContainer && (React.createElement(TargetContainer, { onClick: this.handleMouseClick, onMouseOver: this.handleMouseOver, onMouseOut: this.handleHideTooltip, onMouseMove: this.handleMouseMove, onMouseDown: this.handleMouseDown, onFocus: this.handleFocus, onBlur: this.handleHideTooltip, ref: (wrapperRef) => {\n this.wrapperRef = wrapperRef;\n } },\n React.createElement(NodeResolver, { innerRef: (ref) => {\n this.targetRef = ref;\n } }, React.Children.only(children)))),\n renderTooltip && this.targetRef && this.fakeMouseElement ? (React.createElement(Portal, { zIndex: layers.tooltip() },\n React.createElement(Popper, { placement: tooltipPosition, referenceElement: \n // https://github.com/FezVrasta/react-popper#usage-without-a-reference-htmlelement\n // We are using a popper technique to pass in a faked element when we use mouse.\n (this.shouldPositionTooltipNearMouse()\n ? this.fakeMouseElement\n : this.targetRef) }, ({ ref, style }) => TooltipContainer && (React.createElement(Animation, { immediatelyShow: immediatelyShow, immediatelyHide: immediatelyHide, onExited: () => this.setState({ renderTooltip: false }), in: isVisible }, getAnimationStyles => (React.createElement(TooltipContainer\n // innerRef can't be null so shortcircuit to undefined if it is.\n , { \n // innerRef can't be null so shortcircuit to undefined if it is.\n innerRef: ref || undefined, className: \"Tooltip\", style: {\n ...getAnimationStyles(),\n ...style,\n }, truncate: truncate || false, \"data-placement\": tooltipPosition, \"data-testid\": testId }, content))))))) : null)\n /* eslint-enable */\n );\n }\n}\nTooltip.defaultProps = {\n component: StyledTooltip,\n delay: 300,\n mousePosition: 'bottom',\n position: 'bottom',\n tag: 'div',\n};\nexport { Tooltip as TooltipWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'tooltip',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onHide: unhoveredPayload,\n onShow: createAndFireEventOnAtlaskit({ ...hoveredPayload }),\n})(Tooltip));\n//# sourceMappingURL=Tooltip.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.size = exports.default = exports.IconWrapper = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _styledComponents = _interopRequireDefault(require(\"styled-components\"));\n\nvar _uuid = _interopRequireDefault(require(\"uuid\"));\n\nvar _theme = require(\"@atlaskit/theme\");\n\nvar _constants = require(\"../constants\");\n\nvar getSize = function getSize(props) {\n if (props.size) {\n return \"height: \".concat(_constants.sizes[props.size], \"; width: \").concat(_constants.sizes[props.size], \";\");\n }\n\n return null;\n};\n\nvar IconWrapper = _styledComponents.default.span.withConfig({\n displayName: \"Icon__IconWrapper\",\n componentId: \"dyhwwi-0\"\n})([\"\\n \", \" color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \" max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n /* Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], getSize, function (p) {\n return p.primaryColor || 'currentColor';\n}, function (p) {\n return p.secondaryColor || _theme.colors.background;\n}, getSize);\n\nexports.IconWrapper = IconWrapper;\n\nvar Icon =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2.default)(Icon, _Component);\n\n function Icon() {\n (0, _classCallCheck2.default)(this, Icon);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Icon).apply(this, arguments));\n }\n\n (0, _createClass2.default)(Icon, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n Glyph = _this$props.glyph,\n dangerouslySetGlyph = _this$props.dangerouslySetGlyph,\n primaryColor = _this$props.primaryColor,\n secondaryColor = _this$props.secondaryColor,\n size = _this$props.size; // handling the glyphs as strings\n\n if (dangerouslySetGlyph) {\n return _react.default.createElement(IconWrapper, {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n size: size,\n \"aria-label\": this.props.label,\n dangerouslySetInnerHTML: {\n __html: Icon.insertDynamicGradientID(dangerouslySetGlyph)\n }\n });\n } // handling the glyphs when passed through as functions\n\n\n return _react.default.createElement(IconWrapper, {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n size: size,\n \"aria-label\": this.props.label\n }, Glyph ? _react.default.createElement(Glyph, {\n role: \"presentation\"\n }) : null);\n }\n }], [{\n key: \"insertDynamicGradientID\",\n\n /* Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\n value: function insertDynamicGradientID(svgStr) {\n var id = (0, _uuid.default)();\n var replacedSvgStr = svgStr.replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\".concat(id)).replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\".concat(id, \")\\\"\"));\n return replacedSvgStr;\n }\n }]);\n return Icon;\n}(_react.Component);\n\nexports.default = Icon;\nvar size = Object.keys(_constants.sizes).reduce(function (p, c) {\n return Object.assign(p, (0, _defineProperty2.default)({}, c, c));\n}, {});\nexports.size = size;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sizes = void 0;\nvar sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexports.sizes = sizes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar QuestionCircleIcon = function QuestionCircleIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nQuestionCircleIcon.displayName = 'QuestionCircleIcon';\nvar _default = QuestionCircleIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import * as colors from './colors';\n// Jira Portfolio\nexport const colorPalette8 = [\n { background: colors.N800, text: colors.N0 },\n { background: colors.R400, text: colors.N0 },\n { background: colors.P400, text: colors.P50 },\n { background: colors.B400, text: colors.B75 },\n { background: colors.T300, text: colors.N800 },\n { background: colors.G400, text: colors.N0 },\n { background: colors.Y400, text: colors.N800 },\n { background: colors.N70, text: colors.N800 },\n];\nexport const colorPalette16 = [\n ...colorPalette8,\n { background: colors.N500, text: colors.N0 },\n { background: colors.R100, text: colors.N800 },\n { background: colors.P75, text: colors.N800 },\n { background: colors.B100, text: colors.N800 },\n { background: colors.T100, text: colors.N800 },\n { background: colors.G100, text: colors.G500 },\n { background: colors.Y200, text: colors.N800 },\n { background: colors.N0, text: colors.N800 },\n];\nexport const colorPalette24 = [\n ...colorPalette16,\n { background: colors.N100, text: colors.N0 },\n { background: colors.N40, text: colors.N800 },\n { background: colors.N50, text: colors.R500 },\n { background: colors.P50, text: colors.P500 },\n { background: colors.B50, text: colors.B500 },\n { background: colors.T75, text: colors.N800 },\n { background: colors.G50, text: colors.G500 },\n { background: colors.Y75, text: colors.N800 },\n];\nexport const colorPalette = (palette = '8') => {\n switch (palette) {\n case '8':\n return colorPalette8;\n case '16':\n return colorPalette16;\n case '24':\n return colorPalette24;\n default:\n throw new Error('The only available color palette is 8, 16, 24');\n }\n};\n//# sourceMappingURL=color-palettes.js.map","import * as colors from './colors';\nimport themed from './utils/themed';\n// Cards on a board\nexport const e100 = themed({\n light: `box-shadow: 0 1px 1px ${colors.N50A}, 0 0 1px 0 ${colors.N60A};`,\n dark: `box-shadow: 0 1px 1px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Inline dialogs\nexport const e200 = themed({\n light: `box-shadow: 0 4px 8px -2px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 4px 8px -2px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Modals\nexport const e300 = themed({\n light: `box-shadow: 0 8px 16px -4px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 8px 16px -4px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Panels\nexport const e400 = themed({\n light: `box-shadow: 0 12px 24px -6px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 12px 24px -6px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Flag messages (notifications)\nexport const e500 = themed({\n light: `box-shadow: 0 20px 32px -8px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 20px 32px -8px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n//# sourceMappingURL=elevation.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import { css } from 'styled-components';\nimport * as colors from './colors';\nimport { gridSize, fontSize } from './constants';\nconst baseHeading = (size, lineHeight) => `\n font-size: ${size / fontSize()}em;\n font-style: inherit;\n line-height: ${lineHeight / size};\n`;\nexport const headingSizes = {\n h900: {\n size: 35,\n lineHeight: 40,\n },\n h800: {\n size: 29,\n lineHeight: 32,\n },\n h700: {\n size: 24,\n lineHeight: 28,\n },\n h600: {\n size: 20,\n lineHeight: 24,\n },\n h500: {\n size: 16,\n lineHeight: 20,\n },\n h400: {\n size: 14,\n lineHeight: 16,\n },\n h300: {\n size: 12,\n lineHeight: 16,\n },\n h200: {\n size: 12,\n lineHeight: 16,\n },\n h100: {\n size: 11,\n lineHeight: 16,\n },\n};\nexport const h900 = () => css `\n ${baseHeading(headingSizes.h900.size, headingSizes.h900.lineHeight)}\n color: ${colors.heading};\n font-weight: 500;\n letter-spacing: -0.01em;\n margin-top: ${gridSize() * 6.5}px;\n`;\nexport const h800 = () => css `\n ${baseHeading(headingSizes.h800.size, headingSizes.h800.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n letter-spacing: -0.01em;\n margin-top: ${gridSize() * 5}px;\n`;\nexport const h700 = () => css `\n ${baseHeading(headingSizes.h700.size, headingSizes.h700.lineHeight)}\n color: ${colors.heading};\n font-weight: 500;\n letter-spacing: -0.01em;\n margin-top: ${gridSize() * 5}px;\n`;\nexport const h600 = () => css `\n ${baseHeading(headingSizes.h600.size, headingSizes.h600.lineHeight)}\n color: ${colors.heading};\n font-weight: 500;\n letter-spacing: -0.008em;\n margin-top: ${gridSize() * 3.5}px;\n`;\nexport const h500 = () => css `\n ${baseHeading(headingSizes.h500.size, headingSizes.h500.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n letter-spacing: -0.006em;\n margin-top: ${gridSize() * 3}px;\n`;\nexport const h400 = () => css `\n ${baseHeading(headingSizes.h400.size, headingSizes.h400.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n letter-spacing: -0.003em;\n margin-top: ${gridSize() * 2}px;\n`;\nexport const h300 = () => css `\n ${baseHeading(headingSizes.h300.size, headingSizes.h300.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n margin-top: ${gridSize() * 2.5}px;\n text-transform: uppercase;\n`;\nexport const h200 = () => css `\n ${baseHeading(headingSizes.h200.size, headingSizes.h200.lineHeight)}\n color: ${colors.subtleHeading};\n font-weight: 600;\n margin-top: ${gridSize() * 2}px;\n`;\nexport const h100 = () => css `\n ${baseHeading(headingSizes.h100.size, headingSizes.h100.lineHeight)}\n color: ${colors.subtleHeading};\n font-weight: 700;\n margin-top: ${gridSize() * 2}px;\n`;\n//# sourceMappingURL=typography.js.map","// If a generic is used here, props can be inferred never and passed up (even with defaults)\nexport function add(fn, addend) {\n return (props) => fn(props) + addend;\n}\nexport function subtract(fn, subtrahend) {\n return (props) => fn(props) - subtrahend;\n}\nexport function multiply(fn, factor) {\n return (props) => fn(props) * factor;\n}\nexport function divide(fn, divisor) {\n return (props) => fn(props) / divisor;\n}\n//# sourceMappingURL=math.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { ThemeProvider } from 'styled-components';\nimport exenv from 'exenv';\nimport * as colors from '../colors';\nimport { CHANNEL, DEFAULT_THEME_MODE } from '../constants';\n// For forward-compat until everything is upgraded.\nimport Theme from './Theme';\nfunction getStylesheetResetCSS(state) {\n const backgroundColor = colors.background(state);\n return `\n body { background: ${backgroundColor}; }\n `;\n}\nfunction buildThemeState(mode) {\n return { theme: { [CHANNEL]: { mode } } };\n}\nconst LegacyReset = styled.div `\n background-color: ${colors.background};\n color: ${colors.text};\n\n a {\n color: ${colors.link};\n }\n a:hover {\n color: ${colors.linkHover};\n }\n a:active {\n color: ${colors.linkActive};\n }\n a:focus {\n outline-color: ${colors.linkOutline};\n }\n h1 {\n color: ${colors.heading};\n }\n h2 {\n color: ${colors.heading};\n }\n h3 {\n color: ${colors.heading};\n }\n h4 {\n color: ${colors.heading};\n }\n h5 {\n color: ${colors.heading};\n }\n h6 {\n color: ${colors.subtleHeading};\n }\n small {\n color: ${colors.subtleText};\n }\n`;\nexport default class AtlaskitThemeProvider extends Component {\n constructor(props) {\n super(props);\n /**\n * This function never changes its reference because it accesses\n * `this` in the function call - thereby sidestepping the need for\n * creating a new reference everytime theme state changes.\n * NOTE: When moving to hooks watch out for this regressing.\n */\n this.getThemeMode = () => ({ mode: this.state.theme[CHANNEL].mode });\n this.state = buildThemeState(props.mode);\n }\n getChildContext() {\n return { hasAtlaskitThemeProvider: true };\n }\n UNSAFE_componentWillMount() {\n if (!this.context.hasAtlaskitThemeProvider && exenv.canUseDOM) {\n const css = getStylesheetResetCSS(this.state);\n this.stylesheet = document.createElement('style');\n this.stylesheet.type = 'text/css';\n this.stylesheet.innerHTML = css;\n if (document && document.head) {\n document.head.appendChild(this.stylesheet);\n }\n }\n }\n UNSAFE_componentWillReceiveProps(newProps) {\n if (newProps.mode !== this.props.mode) {\n const newThemeState = buildThemeState(newProps.mode);\n if (this.stylesheet) {\n const css = getStylesheetResetCSS(newThemeState);\n this.stylesheet.innerHTML = css;\n }\n this.setState(newThemeState);\n }\n }\n componentWillUnmount() {\n if (this.stylesheet && document && document.head) {\n document.head.removeChild(this.stylesheet);\n delete this.stylesheet;\n }\n }\n render() {\n const { children } = this.props;\n const { theme } = this.state;\n return (\n /* Wrapping the new provider around the old one provides forward\n compatibility when using the old provider for styled components. This\n allows us to use components converted to use the new API with consumers\n using the old provider along side components that may still be using the\n old theming API. */\n React.createElement(Theme.Provider, { value: this.getThemeMode },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(LegacyReset, null, children))));\n }\n}\nAtlaskitThemeProvider.defaultProps = {\n mode: DEFAULT_THEME_MODE,\n};\nAtlaskitThemeProvider.childContextTypes = {\n hasAtlaskitThemeProvider: PropTypes.bool,\n};\nAtlaskitThemeProvider.contextTypes = {\n hasAtlaskitThemeProvider: PropTypes.bool,\n};\n//# sourceMappingURL=AtlaskitThemeProvider.js.map","export default ({ children, props, theme }) => {\n const appearance = typeof props === 'object' ? 'default' : props;\n const merged = typeof props === 'object' ? { ...props } : {};\n Object.keys(theme).forEach(key => {\n if (!(key in merged)) {\n merged[key] = theme[key]({ appearance });\n }\n });\n return children(merged);\n};\n//# sourceMappingURL=Appearance.js.map","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport * as colors from '../colors';\nimport { createTheme } from '../utils/createTheme';\nconst orTextColor = (preferred) => (p) => p[preferred] || p.textColor;\nconst Div = styled.div `\n ${(p) => css `\n background-color: ${p.backgroundColor};\n color: ${p.textColor};\n\n a {\n color: ${orTextColor('linkColor')};\n }\n a:hover {\n color: ${orTextColor('linkColorHover')};\n }\n a:active {\n color: ${orTextColor('linkColorActive')};\n }\n a:focus {\n outline-color: ${orTextColor('linkColorOutline')};\n }\n h1,\n h2,\n h3,\n h4,\n h5 {\n color: ${orTextColor('headingColor')};\n }\n h6 {\n color: ${orTextColor('subtleHeadingColor')};\n }\n small {\n color: ${orTextColor('subtleTextColor')};\n }\n `};\n`;\nexport const ResetTheme = createTheme(() => ({\n backgroundColor: colors.N0,\n linkColor: colors.B400,\n linkColorHover: colors.B300,\n linkColorActive: colors.B500,\n linkColorOutline: colors.B100,\n headingColor: colors.N800,\n subtleHeadingColor: colors.N200,\n subtleTextColor: colors.N200,\n textColor: colors.N900,\n}));\nexport function Reset(props) {\n return (React.createElement(ResetTheme.Provider, { value: props.theme },\n React.createElement(ResetTheme.Consumer, null, (tokens) => {\n return (React.createElement(Div, Object.assign({}, { ...tokens, mode: undefined }, props), props.children));\n })));\n}\n//# sourceMappingURL=Reset.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n return function ComponentWithTheme(props) {\n return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n };\n}\n//# sourceMappingURL=hoc.js.map","import * as colors from './colors';\nimport * as colorPalettes from './color-palettes';\nimport * as elevation from './elevation';\nimport * as typography from './typography';\nimport * as math from './utils/math';\nimport getTheme from './utils/getTheme';\nimport themed from './utils/themed';\nimport AtlaskitThemeProvider from './components/AtlaskitThemeProvider';\nexport { colors, colorPalettes, elevation, typography, math, getTheme, themed, AtlaskitThemeProvider, };\nexport { default as Appearance } from './components/Appearance';\n// backwards-compatible export with old Atlaskit case\nexport const AtlasKitThemeProvider = AtlaskitThemeProvider;\nexport * from './constants';\n// New API\nexport * from './components/Reset';\nexport { default } from './components/Theme';\nexport * from './hoc';\nexport * from './utils/createTheme';\n//# sourceMappingURL=index.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { colors } from '@atlaskit/theme';\nimport { DetailedHTMLProps, LabelHTMLAttributes } from 'react';\nimport styled from 'styled-components';\n\nexport type LabelProps = DetailedHTMLProps<\n LabelHTMLAttributes,\n HTMLLabelElement\n> & {\n readonly isSelected?: boolean;\n readonly selectedColor?: string;\n readonly borderBottomStyle?: string;\n readonly fontWeight?: number;\n};\n\nexport const Label = styled.label`\n box-sizing: 'border-box';\n border-bottom-width: 1px;\n border-bottom-color: ${colors.N400};\n font-size: 12px;\n cursor: pointer;\n font-weight: ${({ fontWeight }) => fontWeight};\n\n color: ${({ isSelected, selectedColor }) =>\n isSelected ? (selectedColor ? selectedColor : colors.N400) : colors.N100};\n border-bottom-style: ${({ isSelected, borderBottomStyle }) =>\n isSelected ? (borderBottomStyle ? borderBottomStyle : 'solid') : 'none'};\n`;\n","import { colors } from '@atlaskit/theme';\nimport React, {\n ButtonHTMLAttributes,\n DetailedHTMLProps,\n RefObject\n} from 'react';\nimport styled from 'styled-components';\n\nconst RADIUS = 8;\nconst DIAMETER = 2 * RADIUS;\nconst BORDER_WIDTH = 2;\nconst WIDTH = 36;\n\nexport type TogglePosition = 'left' | 'right';\n\nexport type ToggleProps = DetailedHTMLProps<\n ButtonHTMLAttributes,\n HTMLButtonElement\n> & {\n readonly position: TogglePosition;\n readonly ariaLabel?: string;\n readonly innerRef?: RefObject;\n};\n\nexport function Toggle({\n position,\n ariaLabel,\n ref,\n innerRef,\n ...props\n}: ToggleProps) {\n const isRight = position === 'right';\n return (\n \n \n \n \n \n );\n}\n\nconst Container = styled.button`\n padding: ${BORDER_WIDTH}px;\n border: ${BORDER_WIDTH}px solid ${colors.N90};\n border-radius: ${RADIUS + 3 * BORDER_WIDTH}px;\n border-color: transparent;\n box-sizing: content-box;\n outline: none;\n margin: 0 10px;\n transition: border-color 0.2s;\n\n &:focus {\n border-color: ${colors.B100};\n }\n`;\n\nconst Track = styled.div`\n cursor: pointer;\n width: ${WIDTH}px;\n height: ${DIAMETER}px;\n border-radius: ${RADIUS + BORDER_WIDTH}px;\n background-color: ${colors.N90};\n border: ${BORDER_WIDTH}px solid ${colors.N90};\n`;\n\ntype ThumbProps = {\n readonly isRight: boolean;\n};\n\nconst Thumb = styled.div`\n margin-left: ${({ isRight }) => (isRight ? WIDTH - DIAMETER : 0)}px;\n width: ${DIAMETER}px;\n height: ${DIAMETER}px;\n border-radius: ${RADIUS}px;\n background-color: ${colors.N0};\n transition: margin-left 0.2s;\n`;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n align-items: center;\n`;\n","import { colors, createTheme, ThemeProp } from '@atlaskit/theme';\nimport { uniqueId } from 'lodash';\nimport React, {\n MouseEventHandler,\n ReactChild,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { Label, Toggle, TogglePosition } from './components';\nimport { Container } from './switch.styles';\nimport { LEFT_ARROW, RIGHT_ARROW } from './utils/keyboard';\n\nexport type SwitchItemValueType = string | number | boolean;\n\ntype ThemeProps = any;\ntype ThemeTokens = {\n color: string;\n borderBottomStyle: string;\n fontWeight: number;\n};\n\nconst defaultTheme = () => ({\n color: colors.N400,\n borderBottomStyle: 'solid',\n fontWeight: 400\n});\n\nconst Theme = createTheme(defaultTheme);\n\nexport type SwitchProps<\n L extends SwitchItemValueType,\n R extends SwitchItemValueType\n> = {\n readonly left: SwitchItem;\n readonly right: SwitchItem;\n\n readonly ariaLabel?: string;\n readonly defaultTogglePosition?: TogglePosition;\n readonly onChange?: (value: L | R) => void;\n readonly theme?: ThemeProp;\n};\n\nexport type SwitchItem = {\n readonly value: T;\n readonly label?: ReactChild;\n};\n\nexport function Switch<\n L extends SwitchItemValueType,\n R extends SwitchItemValueType\n>({\n left,\n right,\n ariaLabel,\n defaultTogglePosition = 'left',\n onChange,\n theme = defaultTheme\n}: SwitchProps) {\n const id = useMemo(() => uniqueId('bxpkit-switch-'), []);\n const [togglePosition, setTogglePosition] = useState(defaultTogglePosition);\n const selectedItem = togglePosition === 'left' ? left : right;\n const toggleRef = useRef(null);\n\n function selectTogglePosition(selectedTogglePosition: TogglePosition): void {\n (toggleRef as { readonly current: HTMLButtonElement }).current.focus();\n\n if (selectedTogglePosition !== togglePosition) {\n setTogglePosition(selectedTogglePosition);\n if (onChange) {\n switch (selectedTogglePosition) {\n case 'left':\n onChange(left.value);\n return;\n case 'right':\n onChange(right.value);\n return;\n }\n }\n }\n }\n\n function createLabelOnClickMouseEventHandler(\n position: TogglePosition\n ): MouseEventHandler {\n return (event) => {\n selectTogglePosition(position);\n event.preventDefault();\n };\n }\n\n return (\n \n \n {(tokens: {\n color: string;\n borderBottomStyle: string;\n fontWeight: number;\n }) => {\n const { color, borderBottomStyle, fontWeight } = tokens;\n return (\n {\n switch (event.keyCode) {\n case LEFT_ARROW:\n selectTogglePosition('left');\n break;\n case RIGHT_ARROW:\n selectTogglePosition('right');\n break;\n }\n }}\n >\n \n {left.label}\n \n\n {\n switch (togglePosition) {\n case 'left':\n return selectTogglePosition('right');\n case 'right':\n return selectTogglePosition('left');\n }\n }}\n />\n \n {right.label}\n \n \n );\n }}\n \n \n );\n}\n","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","export const LEFT_ARROW = 37;\nexport const RIGHT_ARROW = 39;\n","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/extends';\nimport '@babel/runtime/helpers/slicedToArray';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport '@babel/runtime/helpers/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { CacheProvider } from '@emotion/core';\nimport 'react-dom';\nimport '@babel/runtime/helpers/typeof';\nexport { F as components } from './index-75b02bac.browser.esm.js';\nimport { S as Select } from './Select-e1cf49ae.browser.esm.js';\nexport { c as createFilter, a as defaultTheme, m as mergeStyles } from './Select-e1cf49ae.browser.esm.js';\nimport '@emotion/css';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport 'react-input-autosize';\nimport { m as manageState } from './stateManager-2f2b6f5b.browser.esm.js';\nimport createCache from '@emotion/cache';\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n var _super = _createSuper(NonceProvider);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _super.call(this, props);\n\n _this.createEmotionCache = function (nonce) {\n return createCache({\n nonce: nonce\n });\n };\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nvar index = manageState(Select);\n\nexport default index;\nexport { NonceProvider };\n","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import Select from 'react-select';\nimport { withAnalyticsEvents, withAnalyticsContext, createAndFireEvent } from '@atlaskit/analytics-next';\nimport { name as packageName, version as packageVersion } from './version.json';\nimport createSelect from './createSelect';\nexport var SelectWithoutAnalytics = createSelect(Select);\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'select',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onChange: createAndFireEventOnAtlaskit({\n action: 'changed',\n actionSubject: 'option',\n attributes: {\n componentName: 'select',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(SelectWithoutAnalytics));","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export enum EditionType {\n FREE = 'free',\n STANDARD = 'standard',\n PREMIUM = 'premium',\n ENTERPRISE = 'enterprise'\n}\n\nexport type Edition = {\n readonly type: EditionType;\n readonly productKey: string;\n readonly maxUnits?: number;\n readonly breakpoints?: number[];\n readonly hidePeriodSwitch?: boolean;\n};\n","import { N20 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\n\nexport const PricingEditionDropdownContainer = styled.div`\n margin: 10px 0 10px;\n width: 185px;\n`;\n\nexport const selectStyles = {\n control: (styles: any, { isFocused, menuIsOpen }: any) => {\n return {\n ...styles,\n backgroundColor: isFocused ? '#DFE1E6' : menuIsOpen ? '#DFE1E6' : N20\n };\n },\n option: (styles: any, { isSelected, isFocused }: any) => {\n return {\n ...styles,\n backgroundColor: isSelected ? '#0052CC' : isFocused ? '#EBECF0' : null,\n cursor: 'pointer'\n };\n }\n};\n","import { UIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport Select from '@atlaskit/select';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { Edition, EditionType } from '../../models';\nimport { tracking } from '../../tracking';\nimport {\n PricingEditionDropdownContainer,\n selectStyles\n} from './edition-select.styles';\n\nexport type EditionSelectOnEditionChangeEventHandler = (\n edition: Edition,\n analyticsEvent?: UIAnalyticsEvent\n) => void;\n\nexport type EditionSelectProps = {\n readonly editions: ReadonlyArray;\n\n readonly defaultEdition?: Edition;\n readonly onEditionChange?: EditionSelectOnEditionChangeEventHandler;\n};\n\nexport function EditionSelect({\n editions,\n defaultEdition = editions[0],\n onEditionChange\n}: EditionSelectProps) {\n return (\n \n type}\n placeholder={mapEditionToLabel(defaultEdition)}\n isSearchable={false}\n styles={selectStyles}\n onChange={createSelectOnChangeEventHandler(onEditionChange)}\n />\n \n );\n}\n\nfunction mapEditionToLabel({ type }: Edition) {\n switch (type) {\n case EditionType.FREE:\n return ;\n case EditionType.STANDARD:\n return ;\n case EditionType.PREMIUM:\n return ;\n case EditionType.ENTERPRISE:\n return ;\n }\n}\n\nfunction createSelectOnChangeEventHandler(\n onEditionChange?: EditionSelectOnEditionChangeEventHandler\n) {\n if (onEditionChange) {\n return (edition: Edition, {}, analyticsEvent: UIAnalyticsEvent) =>\n onEditionChange(\n edition,\n analyticsEvent.update({\n name: tracking.editionDropdown,\n newProductKey: edition.productKey\n })\n );\n } else {\n return undefined;\n }\n}\n\nEditionSelect.messages = {\n free: {\n id: 'free',\n defaultMessage: 'FREE'\n },\n standard: {\n id: 'standard',\n defaultMessage: 'STANDARD'\n },\n premium: {\n id: 'premium',\n defaultMessage: 'PREMIUM'\n },\n enterprise: {\n id: 'enterprise',\n defaultMessage: 'ENTERPRISE'\n }\n};\n","export const tracking = {\n userTierBox: 'pricing_calculator_user_tier_box',\n userTierSlider: 'pricing_calculator_user_tier_slider',\n editionDropdown: 'pricing_calculator_edition_dropdown',\n pricing_plan_toggle: 'pricing_calculator_pricing_plan_toggle',\n showBreakdownClick: 'pricing_calculator_show_breakdown_click',\n hideBreakdownClick: 'pricing_calculator_hide_breakdown_click'\n};\n","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import {\n withAnalyticsEvents,\n WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport { PricingPeriod } from '@atlassian/bxp-product-pricing';\nimport { Switch } from '@atlassiansox/bxpkit-switch';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { messages } from '../messages';\nimport { tracking } from '../tracking';\n\nexport type PeriodChangeEventHandler = (period: PricingPeriod) => void;\n\nexport type PeriodSwtichProps = {\n readonly activePeriod: PricingPeriod;\n readonly onPeriodChange: PeriodChangeEventHandler;\n} & WithAnalyticsEventsProps;\n\nexport function PeriodSwitch({\n activePeriod,\n onPeriodChange,\n createAnalyticsEvent\n}: PeriodSwtichProps) {\n const togglePosition =\n activePeriod === PricingPeriod.MONTHLY ? 'left' : 'right';\n const onTogglePeriod = (value: PricingPeriod): void => {\n onPeriodChange(value);\n if (createAnalyticsEvent) {\n const analyticsEvent = createAnalyticsEvent({\n name: tracking.pricing_plan_toggle,\n newPeriod: value\n });\n analyticsEvent.fire();\n }\n };\n return (\n ,\n value: PricingPeriod.MONTHLY\n }}\n right={{\n label: ,\n value: PricingPeriod.ANNUAL\n }}\n defaultTogglePosition={togglePosition}\n onChange={onTogglePeriod}\n />\n );\n}\n\nexport default withAnalyticsEvents()(PeriodSwitch);\n","export function first(collection: ReadonlyArray): T {\n return collection[0];\n}\n\nexport function last(collection: ReadonlyArray): T {\n return collection[collection.length - 1];\n}\n","import React, { ReactNode } from 'react';\nimport { FormattedNumber } from 'react-intl';\n\nexport type CurrencyProps = {\n readonly value: number;\n readonly currencyIsoCode: string;\n\n readonly minimumFractionDigits?: number;\n readonly maximumFractionDigits?: number;\n\n readonly children?: (formattedNumber: string) => ReactNode;\n};\n\nexport function Currency({\n value,\n currencyIsoCode,\n minimumFractionDigits = defaultMinimumFractionDigits(value),\n maximumFractionDigits = minimumFractionDigits,\n children\n}: CurrencyProps) {\n return (\n \n {children}\n \n );\n}\n\nfunction defaultMinimumFractionDigits(value: number) {\n if (Number.isInteger(value)) {\n return 0;\n } else {\n return 2;\n }\n}\n","import { N200, N800 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\n\nexport const PricingSummaryContainer = styled.div`\n color: ${N200};\n font-size: 12px;\n\n h2 {\n font-size: 14px;\n font-weight: 600;\n text-transform: uppercase;\n color: ${N800};\n margin: 0 0 13px 0;\n }\n`;\n\nexport const MonthlyTotal = styled.span`\n color: black;\n font-size: 34px;\n line-height: 30px;\n`;\n\nexport const PriceDescriptionContainer = styled.div`\n display: flex;\n align-items: center;\n height: 32px;\n`;\n\nexport const PriceDescription = styled.span`\n color: black;\n font-size: 16px;\n`;\n","import { PricingPeriod } from '@atlassian/bxp-product-pricing';\nimport { PricingResult } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { EditionType } from '../../models';\nimport { last } from '../../utils/collections';\nimport { Currency } from '../currency';\nimport {\n heading,\n priceDescription,\n unitsDescription\n} from './message-selectors';\nimport {\n MonthlyTotal,\n PriceDescription,\n PriceDescriptionContainer,\n PricingSummaryContainer\n} from './pricing-summary.styles';\n\nexport type PricingSummaryProps = {\n readonly calculation: PricingResult;\n readonly edition: string;\n};\n\nexport const PricingSummary = ({\n calculation,\n edition\n}: PricingSummaryProps) => {\n const { breakdown, total, currencyIsoCode, period, units } = calculation;\n const breakdownItem = last(breakdown);\n const { tier } = breakdownItem;\n const { pricingStrategy, unitLimitLower, unitLimitUpper } = tier;\n\n const totalFormatted = (\n \n \n \n );\n\n return (\n \n \n {edition === EditionType.FREE ? (\n totalFormatted\n ) : (\n \n )}\n \n \n \n \n ),\n averagePrice: (\n \n \n \n )\n }}\n />\n \n \n \n );\n};\n\nPricingSummary.messages = {\n summaryMonthlyHeading: {\n id: 'summaryMonthlyHeading',\n defaultMessage: 'Monthly Pricing Summary'\n },\n summaryFreeHeading: {\n id: 'summaryFreeHeading',\n defaultMessage: 'Pricing Summary'\n },\n summaryMonthlyPrice: {\n id: 'summaryMonthlyPrice',\n defaultMessage: '{total} / mo.'\n },\n summaryMonthlyPriceDescriptionFree: {\n id: 'summaryMonthlyPriceDescriptionFree',\n defaultMessage: 'Forever'\n },\n summaryMonthlyPriceDescriptionFC: {\n id: 'summaryMonthlyPriceDescriptionFC',\n defaultMessage: 'Flat rate'\n },\n summaryMonthlyPriceDescriptionMPU: {\n id: 'summaryMonthlyPriceDescriptionMPU',\n defaultMessage: 'Avg. {averagePrice} / user / mo.'\n },\n summaryAnnualHeading: {\n id: 'summaryAnnualHeading',\n defaultMessage: 'Annual Pricing Summary'\n },\n summaryAnnualPriceDescriptionFC: {\n id: 'summaryAnnualPriceDescriptionFC',\n defaultMessage: '{total} / year'\n },\n summaryUnitsDescriptionFC: {\n id: 'summaryUnitsDescriptionFC',\n defaultMessage:\n 'For {unitLimitLower, number} - {unitLimitUpper, number} users'\n },\n summaryUnitsDescriptionMPU: {\n id: 'summaryUnitsDescriptionMPU',\n defaultMessage: 'For {units, number} users'\n }\n};\n","import { PricingStrategy } from '@atlassiansox/asc-product-catalog';\nimport { PricingPeriod } from '@atlassian/bxp-product-pricing';\nimport { FormattedMessage } from 'react-intl';\nimport { EditionType } from '../../models';\nimport { PricingSummary } from './pricing-summary';\n\nexport function heading(\n period: PricingPeriod,\n edition: string\n): FormattedMessage.MessageDescriptor {\n if (edition === EditionType.FREE) {\n return PricingSummary.messages.summaryFreeHeading;\n } else {\n switch (period) {\n case PricingPeriod.MONTHLY:\n return PricingSummary.messages.summaryMonthlyHeading;\n case PricingPeriod.ANNUAL:\n return PricingSummary.messages.summaryAnnualHeading;\n }\n }\n\n throw new Error('No matching summary heading for period and edition found.');\n}\n\nexport function priceDescription(\n period: PricingPeriod,\n edition: string,\n pricingStrategy: PricingStrategy\n): FormattedMessage.MessageDescriptor {\n if (edition === EditionType.FREE) {\n return PricingSummary.messages.summaryMonthlyPriceDescriptionFree;\n } else {\n switch (period) {\n case PricingPeriod.ANNUAL:\n return PricingSummary.messages.summaryMonthlyPriceDescriptionFC;\n case PricingPeriod.MONTHLY:\n switch (pricingStrategy) {\n case PricingStrategy.FIXED_COST:\n return PricingSummary.messages.summaryMonthlyPriceDescriptionFC;\n case PricingStrategy.MARGINAL_PER_UNIT:\n return PricingSummary.messages.summaryMonthlyPriceDescriptionMPU;\n }\n }\n }\n\n throw new Error(\n 'No matching summary price description for period and edition found.'\n );\n}\n\nexport function unitsDescription(\n pricingStrategy: PricingStrategy\n): FormattedMessage.MessageDescriptor {\n switch (pricingStrategy) {\n case PricingStrategy.FIXED_COST:\n return PricingSummary.messages.summaryUnitsDescriptionFC;\n case PricingStrategy.MARGINAL_PER_UNIT:\n return PricingSummary.messages.summaryUnitsDescriptionMPU;\n case PricingStrategy.PER_UNIT:\n throw new Error('Not implemented yet.');\n }\n}\n","import {\n withAnalyticsEvents,\n WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport React from 'react';\nimport { B400 } from '@atlaskit/theme/colors';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { messages } from '../messages';\nimport { tracking } from '../tracking';\n\nexport type IsBreakdownVisibleToggleEventHandler = () => void;\n\nexport type PricingBreakdownToggleProps = {\n readonly showBreakdown: boolean;\n readonly onBreakdownToggle: IsBreakdownVisibleToggleEventHandler;\n} & WithAnalyticsEventsProps;\n\nexport function PricingBreakdownToggle({\n showBreakdown,\n onBreakdownToggle,\n createAnalyticsEvent\n}: PricingBreakdownToggleProps) {\n const onToggleClick = (): void => {\n onBreakdownToggle();\n if (createAnalyticsEvent) {\n const analyticsEvent = createAnalyticsEvent({\n name: showBreakdown\n ? tracking.hideBreakdownClick\n : tracking.showBreakdownClick\n });\n analyticsEvent.fire();\n }\n };\n\n return (\n \n );\n}\n\nexport default withAnalyticsEvents()(PricingBreakdownToggle);\n\nconst Button = styled.button`\n border: none;\n padding: 0;\n font: inherit;\n outline: inherit;\n color: ${B400};\n font-size: 14px;\n cursor: pointer;\n background: none !important;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n","import { N40, N200, N800 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\n\nexport const BORDER_COLOR = N40;\n\nexport const Title = styled.h2`\n text-transform: uppercase;\n color: ${N800};\n font-weight: 600;\n font-size: 14px;\n margin: 0;\n`;\n\nexport const ComparisonLink = styled.a`\n color: ${N200};\n font-size: 12px;\n margin-bottom: 16px;\n`;\n","import { N10, N20, N200, N500 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\nimport { BORDER_COLOR } from '../pricing-calculator.common.styles';\n\nexport const BreakdownItemContainer = styled.div`\n display: flex;\n flex-direction: column;\n background-color: ${N10};\n border: 1px solid ${BORDER_COLOR};\n font-size: 12px;\n width: 140px;\n margin: 8px 0;\n color: ${N200};\n`;\n\nexport const Operator = styled.div`\n display: flex;\n justify-content: center;\n align-content: center;\n width: 32px;\n font-size: 30px;\n line-height: 16px;\n`;\n\nexport const Header = styled.div`\n background-color: ${N20};\n padding: 4px 12px;\n color: ${N500};\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex-direction: column;\n padding: 4px 12px;\n`;\n\nexport const UnitPriceContainer = styled.div`\n margin: 4px;\n`;\n\nexport const UnitPrice = styled.span`\n color: ${N500};\n font-size: 16px;\n`;\n","import { PricingCalculation } from '@atlassian/bxp-product-pricing';\nimport React, { Fragment } from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { Currency } from './currency';\nimport {\n BreakdownItemContainer,\n Content,\n Header,\n Operator,\n UnitPrice,\n UnitPriceContainer\n} from './pricing-details.styles';\n\nexport type PricingDetailsProps = {\n readonly calculation: PricingCalculation;\n};\n\nexport function PricingDetails({\n calculation: { breakdown, currencyIsoCode }\n}: PricingDetailsProps) {\n return (\n \n {breakdown.map(({ tier, units, unitPrice }, index) => {\n const { unitLimitLower, unitLimitUpper } = tier;\n return (\n \n \n
\n \n
\n \n \n \n \n \n )\n }}\n />\n \n \n \n
\n\n {index !== breakdown.length - 1 && +}\n
\n );\n })}\n
\n );\n}\n\nPricingDetails.messages = {\n breakdownUnitRange: {\n id: `breakdownUnitRange`,\n defaultMessage: `user {unitLimitLower, number} {unitLimitUpper, plural, =null {and up} other {to {unitLimitUpper, number}}}`\n },\n breakdownUnitPrice: {\n id: 'breakdownUnitPrice',\n defaultMessage: '{unitPrice} / user'\n },\n breakdownUnits: {\n id: 'breakdownUnits',\n defaultMessage:\n 'x {units, number} {units, plural, one {user} other {users}}'\n }\n};\n","import { N60 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage, FormattedNumber } from 'react-intl';\nimport styled from 'styled-components';\n\nexport type LabelsProps = {\n readonly breakpoints: ReadonlyArray;\n};\n\nexport function Labels({\n breakpoints: [firstBreakpoint, ...breakpoints]\n}: LabelsProps) {\n return (\n \n \n {breakpoints.map((breakpoint, index) => (\n \n ))}\n \n );\n}\n\nLabels.messages = {\n firstBreakpointLabel: {\n id: 'firstBreakpointLabel',\n defaultMessage: `{\n firstBreakpoint, plural,\n one {{firstBreakpoint, number} user}\n other {{firstBreakpoint, number} users}\n }`\n }\n};\n\nconst Container = styled.div`\n display: flex;\n justify-content: space-between;\n font-size: 12px;\n padding: 8px 0;\n color: ${N60};\n`;\n","import { first, last } from '../../utils/collections';\n\nexport type CalculatePositionOptions = {\n readonly units: number;\n readonly breakpoints: ReadonlyArray;\n readonly trackWidth: number;\n};\n\nexport function calculatePosition({\n units,\n breakpoints,\n trackWidth\n}: CalculatePositionOptions): number {\n return trackWidth * infer(units, breakpoints);\n}\n\nexport type CalculateUnitsOptions = {\n readonly position: number;\n readonly breakpoints: ReadonlyArray;\n readonly trackWidth: number;\n};\n\nexport function calculateUnits({\n position,\n trackWidth,\n breakpoints\n}: CalculateUnitsOptions): number {\n return pointToPoint(position / trackWidth, breakpoints);\n}\n\n/**\n * Coefficients generated by MatLab\n * @see https://www.mathworks.com/help/matlab/ref/polyfit.html\n */\nexport enum Coefficients {\n a = 1,\n b = -268.75,\n c = 713.9583,\n d = -433.75,\n e = 87.5417\n}\n\nexport type DataPoint = readonly [number, number];\n\nexport const DATA_POINTS: ReadonlyArray = [\n [0, 1],\n [1, 100],\n [2, 250],\n [3, 1000],\n [4, 5000]\n];\n\nexport function polynomial(percentage: number): number {\n const x = 4 * percentage;\n const a = 1;\n const b = -268.75;\n const c = 713.9583;\n const d = -433.75;\n const e = 87.5417;\n\n return (\n e * Math.pow(x, 4) + d * Math.pow(x, 3) + c * Math.pow(x, 2) + b * x + a\n );\n}\n\nexport function infer(\n units: number,\n breakpoints: ReadonlyArray\n): number {\n const segment = 1 / (breakpoints.length - 1);\n const min = first(breakpoints);\n const max = last(breakpoints);\n\n if (units <= min) {\n return 0;\n } else if (units >= max) {\n return 1;\n } else {\n return breakpoints.reduce((result, breakpoint, index) => {\n if (breakpoint <= units) {\n return index * segment;\n } else {\n const lastBreakpoint = breakpoints[index - 1];\n return (\n result +\n (Math.max(units - lastBreakpoint, 0) /\n (breakpoint - lastBreakpoint)) *\n segment\n );\n }\n }, 0);\n }\n}\n\nexport function pointToPoint(\n percentage: number,\n breakpoints: ReadonlyArray\n): number {\n const segment = 1 / (breakpoints.length - 1);\n const min = first(breakpoints);\n const max = last(breakpoints);\n\n if (percentage <= 0.0) {\n return min;\n } else if (percentage >= 1.0) {\n return max;\n } else {\n return breakpoints.reduce((result, breakpoint, index) => {\n if (index === 0) {\n return result;\n } else {\n if (percentage >= index * segment) {\n return breakpoint;\n } else {\n return (\n result +\n Math.max((percentage - (index - 1) * segment) / segment, 0) *\n (breakpoint - breakpoints[index - 1])\n );\n }\n }\n }, min);\n }\n}\n\nexport function proportional(percentage: number): number {\n const x = 4 * percentage;\n const Y0 = 40.98512;\n const V0 = -12.08889;\n const K = -1.62596;\n\n return Y0 - (V0 / K) * (1 - Math.exp(-K * x));\n}\n\nexport function asymmetricalSigmoidal(percentage: number): number {\n const x = 4 * percentage;\n const a = 79.72991;\n const b = 5.759951;\n const c = 321.995;\n const d = 1088275000;\n const m = 428777.7;\n\n return d + (a - d) / Math.pow(1 + Math.pow(x / c, b), m);\n}\n","import { B100, B500 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport styled from 'styled-components';\n\nexport type ThumbProps = {\n readonly radius: number;\n readonly position: number;\n readonly trackGutter: number;\n};\n\nexport function Thumb({ position, radius, trackGutter }: ThumbProps) {\n const width = 2 * radius;\n const height = 2 * radius;\n const center = { x: width / 2, y: height / 2 };\n\n return (\n \n \n \n \n );\n}\n\nconst Container = styled.svg`\n display: flex;\n position: absolute;\n top: 0;\n`;\n","import { PricingTier } from '@atlassiansox/asc-product-catalog';\nimport React from 'react';\n\nimport { first, last } from '../../../utils/collections';\nimport { Color } from '../../../utils/colors';\nimport { calculatePosition } from '../curve';\n\nexport const LEFT_GRADIENT_COLOR: Color = { r: 7, g: 71, b: 166 }; // #0747A6\nexport const RIGHT_GRADIENT_COLOR: Color = { r: 38, g: 132, b: 255 }; // #2684FF\n\nexport type TrackDivisionOptions = {\n readonly tier: PricingTier;\n readonly breakpoints: ReadonlyArray;\n readonly trackWidth: number;\n readonly trackGutter: number;\n readonly trackHeight: number;\n readonly isLeftOuterSegment: boolean;\n readonly isRightOuterSegment: boolean;\n};\n\nexport function TrackDivision({\n tier,\n breakpoints,\n trackWidth,\n trackHeight,\n trackGutter,\n isLeftOuterSegment,\n isRightOuterSegment\n}: TrackDivisionOptions) {\n const unitLimitLower = tier.unitLimitLower || first(breakpoints);\n const unitLimitUpper = tier.unitLimitUpper || last(breakpoints);\n\n const x1 = calculatePosition({\n breakpoints,\n trackWidth,\n units: unitLimitLower\n });\n const x2 =\n calculatePosition({\n breakpoints,\n trackWidth,\n units: unitLimitUpper + 1\n }) - (isRightOuterSegment ? 0 : 1);\n\n if (isLeftOuterSegment) {\n return (\n \n );\n } else if (isRightOuterSegment) {\n return (\n \n );\n } else {\n return (\n \n );\n }\n}\n","import React from 'react';\nimport styled from 'styled-components';\n\nexport type TrackSVGDefProps = {\n readonly totalTrackWidth: number;\n readonly trackGutter: number;\n readonly trackHeight: number;\n readonly position: number;\n readonly thumbRadius: number;\n};\n\nexport function TrackSVGDef({\n trackGutter,\n totalTrackWidth,\n trackHeight,\n position,\n thumbRadius\n}: TrackSVGDefProps) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport const Container = styled.div`\n display: flex;\n flex-basis: 100%;\n`;\n","import { PricingPlan, PricingTier } from '@atlassiansox/asc-product-catalog';\nimport React from 'react';\n\nimport { first, last } from '../../../utils/collections';\nimport { Predicate } from '../../../utils/predicate';\nimport { TrackDivision } from './track-division';\nimport { Container, TrackSVGDef } from './track.styles';\n\nexport type TrackProps = {\n readonly pricingPlan: PricingPlan;\n readonly trackGutter: number;\n readonly trackWidth: number;\n readonly position: number;\n readonly thumbRadius: number;\n readonly breakpoints: ReadonlyArray;\n};\n\nexport function Track({\n position,\n pricingPlan,\n trackGutter,\n thumbRadius,\n trackWidth,\n breakpoints\n}: TrackProps) {\n const trackHeight = 4;\n const totalTrackWidth = trackWidth + 2 * trackGutter;\n const tiers = pricingPlan.filter(isInBreakpoints(breakpoints));\n return (\n \n \n \n {tiers.map((tier, index) => (\n \n ))}\n \n \n );\n}\n\nfunction isInBreakpoints(\n breakpoints: ReadonlyArray\n): Predicate {\n return ({ unitLimitLower, unitLimitUpper }) =>\n (!unitLimitLower || unitLimitLower < last(breakpoints)) &&\n (!unitLimitUpper || unitLimitUpper > first(breakpoints));\n}\n","import {\n withAnalyticsEvents,\n WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport { PricingPlan } from '@atlassiansox/asc-product-catalog';\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\n\nimport { useOnMouseDown } from '../../../hooks/use-on-mouse-down';\nimport { NativeMouseEventHandler } from '../../../models';\nimport { tracking } from '../../../tracking';\nimport { first, last } from '../../../utils/collections';\nimport { calculatePosition, calculateUnits } from '../curve';\nimport { UnitsChangeEventHandler } from '../pricing-plan-slider';\nimport { Thumb } from './thumb';\nimport { Track } from './track';\n\nexport type SliderProps = {\n readonly id: string;\n readonly breakpoints: ReadonlyArray;\n readonly units: number;\n readonly pricingPlan: PricingPlan;\n readonly clientRect: ClientRect;\n readonly onUnitsChange: UnitsChangeEventHandler;\n} & WithAnalyticsEventsProps;\n\nexport function Slider({\n id,\n units,\n breakpoints,\n onUnitsChange,\n clientRect,\n pricingPlan,\n createAnalyticsEvent\n}: SliderProps) {\n const thumbRadius = 18;\n const height = 2 * thumbRadius;\n const trackGutter = thumbRadius;\n const trackWidth = clientRect.width - 2 * trackGutter;\n const onMouseEvent = createMouseEventHandler({\n thumbRadius,\n breakpoints,\n onUnitsChange,\n clientRect,\n trackWidth,\n trackGutter\n });\n const position = calculatePosition({\n units,\n breakpoints,\n trackWidth\n });\n const onMouseDown = useOnMouseDown(onMouseEvent);\n const sendAnalytics = (): void => {\n if (createAnalyticsEvent) {\n const analyticsEvent = createAnalyticsEvent({\n name: tracking.userTierSlider,\n sliderValue: units\n });\n analyticsEvent.fire();\n }\n };\n return (\n onMouseDown(nativeEvent)}\n onBlur={sendAnalytics}\n >\n \n \n \n );\n}\n\ntype CreateMouseDownMouseEventHandlerOptions = {\n readonly thumbRadius: number;\n readonly breakpoints: ReadonlyArray;\n readonly onUnitsChange: UnitsChangeEventHandler;\n readonly clientRect: ClientRect;\n readonly trackWidth: number;\n readonly trackGutter: number;\n};\n\nfunction createMouseEventHandler({\n breakpoints,\n onUnitsChange,\n clientRect,\n trackWidth,\n trackGutter\n}: CreateMouseDownMouseEventHandlerOptions): NativeMouseEventHandler {\n return useCallback(\n ({ clientX: x }) => {\n const { left } = clientRect;\n const x1 = left + trackGutter;\n const position = Math.min(Math.max(x - x1, 0), trackWidth);\n onUnitsChange(\n Math.round(calculateUnits({ position, breakpoints, trackWidth }))\n );\n },\n [breakpoints, onUnitsChange, clientRect, trackWidth, trackGutter]\n );\n}\n\nexport default withAnalyticsEvents()(Slider);\n\ntype ContainerProps = {\n readonly height: number;\n};\n\nconst Container = styled.div`\n display: flex;\n position: relative;\n height: ${({ height }) => height}px;\n align-items: center;\n cursor: pointer;\n outline: none;\n`;\n","import { useCallback, useEffect } from 'react';\n\nimport { NativeMouseEventHandler } from '../models';\n\nexport function useOnMouseDown(\n onMouseMove: NativeMouseEventHandler\n): NativeMouseEventHandler {\n const onMouseUp = useCallback(() => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n }, [onMouseMove]);\n\n useEffect(() => onMouseUp(), [onMouseMove]);\n\n return useCallback(\n (event) => {\n onMouseMove(event);\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n },\n [onMouseMove]\n );\n}\n","import { PricingPlan } from '@atlassiansox/asc-product-catalog';\nimport React from 'react';\nimport styled from 'styled-components';\n\nimport { useBoundingClientRectRef } from '../../hooks';\nimport { Labels, SliderWithAnalytics } from './components';\n\nexport const DEFAULT_ID = 'bxpkit-pricing-calculator-pricing-plan-calculator';\n\nexport type UnitsChangeEventHandler = (units: number) => void;\n\nexport type PricingPlanSliderProps = {\n readonly pricingPlan: PricingPlan;\n readonly units: number;\n readonly onValueChange: UnitsChangeEventHandler;\n readonly id?: string;\n readonly breakpoints: ReadonlyArray;\n};\n\nexport function PricingPlanSlider({\n units,\n pricingPlan,\n id = DEFAULT_ID,\n breakpoints,\n onValueChange\n}: PricingPlanSliderProps) {\n const [clientRect, ref] = useBoundingClientRectRef();\n\n return (\n \n \n {clientRect ? (\n \n ) : null}\n \n );\n}\n\nPricingPlanSlider.messages = {\n ...Labels.messages\n};\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n`;\n","import { Ref, useCallback, useEffect, useRef, useState } from 'react';\n\nexport function useBoundingClientRectRef(): [\n ClientRect | undefined,\n Ref\n] {\n const onResizeRef = useRef();\n const [clientRect, setClientRect] = useState();\n const ref = useCallback((element: HTMLElement | null) => {\n const onResize = () => {\n if (element) {\n setClientRect(element.getBoundingClientRect());\n }\n };\n\n onResizeRef.current = onResize;\n\n if (element) {\n onResize();\n window.addEventListener('resize', onResize);\n }\n }, []);\n\n useEffect(() => {\n const { current } = onResizeRef;\n return () => {\n if (current) {\n window.removeEventListener('resize', current);\n }\n };\n }, []);\n\n return [clientRect, ref];\n}\n","import React, { ReactType } from 'react';\nimport sanitizeHtml from 'sanitize-html';\n\nexport type SanitizedHtmlProps = {\n readonly innerHTML: string | JSX.Element;\n readonly tagName?: ReactType;\n};\n\nexport function SanitizedHtml({\n innerHTML,\n tagName: Component = 'span'\n}: SanitizedHtmlProps) {\n if (typeof innerHTML === 'string') {\n return (\n \n );\n } else {\n return null;\n }\n}\n","import { escape } from 'he';\nimport { mapValues } from 'lodash';\nimport React, { ElementType } from 'react';\nimport { FormattedMessage, MessageValue } from 'react-intl';\n\nimport { SanitizedHtml } from './sanitized-html';\n\nexport type SanitizedFormattedHtmlMessageProps = {\n readonly id: string;\n\n readonly description?: string;\n readonly defaultMessage?: string;\n readonly values?: { [key: string]: MessageValue };\n readonly tagName?: ElementType;\n};\n\nexport function SanitizedFormattedHtmlMessage({\n tagName,\n values,\n ...messageDescriptor\n}: SanitizedFormattedHtmlMessageProps) {\n return (\n \n {(html) => {\n return ;\n }}\n
\n );\n}\n\nfunction escapeValues(\n values: { [key: string]: MessageValue | JSX.Element } = {}\n): { [key: string]: MessageValue | JSX.Element } {\n return mapValues(values, (value) => {\n if (typeof value === 'string') {\n return escape(value);\n } else {\n return value;\n }\n });\n}\n","import React from 'react';\n\nimport { messages } from '../../../messages';\nimport { SanitizedFormattedHtmlMessage } from '../../shared';\n\nexport function AnnualBillingMessage() {\n return ;\n}\n","import React from 'react';\nimport { messages } from '../../../messages';\nimport { EditionType } from '../../../models';\nimport { Currency } from '../../currency';\nimport { SanitizedFormattedHtmlMessage } from '../../shared';\n\nexport type MonthlyBillingMessageOptions = {\n readonly users: number;\n readonly edition: EditionType;\n readonly starterTierPrice: number;\n readonly firstTierPrice: number;\n readonly currencyIsoCode: string;\n readonly starterMessageBreakpointUnitCount: number;\n readonly perUserMessageBreakpointUnitCount: number;\n};\n\nexport function MonthlyBillingMessage({\n users,\n edition,\n starterTierPrice,\n firstTierPrice,\n currencyIsoCode,\n starterMessageBreakpointUnitCount,\n perUserMessageBreakpointUnitCount\n}: MonthlyBillingMessageOptions) {\n if (edition === EditionType.FREE) {\n return (\n \n );\n } else if (\n edition === EditionType.STANDARD &&\n users <= starterMessageBreakpointUnitCount\n ) {\n return (\n \n {(formattedStarterTierPrice) => (\n \n {(formattedFirstTierPrice) => (\n \n )}\n \n )}\n \n );\n } else if (users > perUserMessageBreakpointUnitCount) {\n return (\n \n );\n } else {\n return (\n \n {(formattedFirstTierPrice) => (\n \n )}\n \n );\n }\n}\n","import { PricingPeriod } from '@atlassian/bxp-product-pricing';\nimport React from 'react';\n\nimport { EditionType } from '../../models';\nimport { AnnualBillingMessage, MonthlyBillingMessage } from './components';\n\nexport type BillingMessageProps = {\n readonly period: PricingPeriod;\n readonly edition: EditionType;\n readonly users: number;\n readonly starterTierPrice: number;\n readonly firstTierPrice: number;\n readonly currencyIsoCode: string;\n readonly starterMessageBreakpointUnitCount: number;\n readonly perUserMessageBreakpointUnitCount: number;\n};\n\nexport function BillingMessage({\n period,\n users,\n edition,\n starterTierPrice,\n firstTierPrice,\n currencyIsoCode,\n starterMessageBreakpointUnitCount,\n perUserMessageBreakpointUnitCount\n}: BillingMessageProps) {\n switch (period) {\n case PricingPeriod.ANNUAL:\n return ;\n case PricingPeriod.MONTHLY:\n return (\n \n );\n }\n}\n","import { N90, N800 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\n\nexport const Container = styled.div`\n width: 185px;\n position: relative;\n input {\n background-color: white;\n }\n`;\n\nexport const Label = styled.label`\n color: ${N90};\n display: inline-block;\n font-size: 12px;\n padding: 0.5em 0;\n`;\n\nexport const TooltipContainer = styled.span`\n cursor: pointer;\n position: absolute;\n right: 0;\n`;\n\nexport const TooltipElement = styled.div`\n text-align: center;\n background-color: ${N800};\n color: white;\n border-radius: 5px;\n padding: 5px 10px;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n font-size: 14px;\n`;\n","import { UIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport QuestionCircleIcon from '@atlaskit/icon/glyph/question-circle';\nimport Textfield from '@atlaskit/textfield';\nimport { N90 } from '@atlaskit/theme/colors';\nimport Tooltip from '@atlaskit/tooltip';\nimport React, { ChangeEventHandler, useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../messages';\nimport { tracking } from '../../tracking';\nimport { clamp } from '../../utils/math';\nimport { UnitsChangeEventHandler } from '../pricing-plan-slider';\nimport {\n Container,\n Label,\n TooltipContainer,\n TooltipElement\n} from './units-textfield.styles';\n\nexport type UnitsTextChangeEventHandler = (unitsText: string) => void;\n\nexport type UnitsTextFieldProps = {\n readonly units: number;\n readonly onUnitsChange: UnitsChangeEventHandler;\n\n readonly minUnits?: number;\n readonly maxUnits?: number;\n\n readonly showTooltip: boolean;\n};\n\nexport function UnitsTextField({\n units,\n onUnitsChange,\n minUnits = 1,\n maxUnits = 5000,\n showTooltip\n}: UnitsTextFieldProps) {\n const [unitsText, setUnitsText] = useState(units.toString());\n const onChange: ChangeEventHandler = ({ target }) => {\n const newUnits = clamp(parseInt(target.value, 10), minUnits, maxUnits);\n if (Number.isNaN(newUnits)) {\n setUnitsText('');\n } else {\n setUnitsText(newUnits.toString());\n onUnitsChange(newUnits);\n }\n };\n\n const onBlur = (\n {}: React.ChangeEvent,\n analyticsEvent: UIAnalyticsEvent\n ) => {\n analyticsEvent.update({\n name: tracking.userTierBox,\n userBoxValue: unitsText\n });\n analyticsEvent.fire();\n setUnitsText(units.toString());\n };\n\n useEffect(() => setUnitsText(units.toString()), [units]);\n\n return (\n \n {showTooltip && (\n }\n position=\"right\"\n component={TooltipElement}\n >\n \n \n \n \n )}\n \n \n \n );\n}\n","export function clamp(value: number, lower: number, upper: number): number {\n if (Number.isNaN(value)) {\n return value;\n } else {\n return Math.min(Math.max(value, lower), upper);\n }\n}\n","import styled from 'styled-components';\n\nexport const EnterpriseCtaContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 32px;\n`;\n\nexport const EnterpriseCtaContainerText = styled.div`\n display: flex;\n margin-bottom: 16px;\n`;\n","import Button from '@atlaskit/button';\nimport { B400 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../messages';\nimport {\n EnterpriseCtaContainer,\n EnterpriseCtaContainerText\n} from './enterprise-edition-cta.styles';\n\nexport type EnterpriseEditionCtaProps = {\n readonly ctaURL?: string;\n};\n\nconst ctaBtnStyle: React.CSSProperties = {\n fontFamily: 'Charlie Text',\n fontWeight: 500,\n border: `1px solid ${B400}`,\n textDecoration: 'none',\n minWidth: '145px',\n display: 'inline',\n width: 'fit-content',\n backgroundColor: '#0052CC !important'\n};\n\nconst buttonClicked = (ctaUrl: string): void => {\n window.location.href = ctaUrl;\n};\n\nexport function EnterpriseEditionCta({\n ctaURL = 'https://www.atlassian.com/enterprise/contact'\n}: EnterpriseEditionCtaProps) {\n return (\n \n \n \n \n {\n buttonClicked(ctaURL);\n }}\n >\n \n \n \n );\n}\n","import { defineMessages } from 'react-intl';\n\nimport {\n EditionSelect,\n PricingDetails,\n PricingPlanSlider,\n PricingSummary\n} from './components';\n\nconst ID_PREFIX = 'PricingCalculator.';\nexport const messages = defineMessages({\n ...EditionSelect.messages,\n ...PricingSummary.messages,\n ...PricingDetails.messages,\n ...PricingPlanSlider.messages,\n loading: {\n id: `${ID_PREFIX}loading`,\n defaultMessage: 'Loading...'\n },\n priceCalculator: {\n id: `${ID_PREFIX}priceCalculator`,\n defaultMessage: 'Price Calculator'\n },\n monthlyToggleLabel: {\n id: `${ID_PREFIX}monthlyToggleLabel`,\n defaultMessage: 'Monthly'\n },\n annualToggleLabel: {\n id: `${ID_PREFIX}annualToggleLabel`,\n defaultMessage: 'Annual'\n },\n howManyUsers: {\n id: `${ID_PREFIX}howManyUsers`,\n defaultMessage: 'How many users?'\n },\n whatIsAUser: {\n id: `${ID_PREFIX}whatIsAUser`,\n defaultMessage:\n 'A user is any user that can log in and exists in User Management.'\n },\n comparePlans: {\n id: `${ID_PREFIX}comparePlans`,\n defaultMessage: 'Compare plans below'\n },\n showBreakDown: {\n id: `${ID_PREFIX}showBreakDown`,\n defaultMessage: 'Show breakdown +'\n },\n hideBreakDown: {\n id: `${ID_PREFIX}hideBreakdown`,\n defaultMessage: 'Hide breakdown -'\n },\n monthlyBillingFreeHtml: {\n id: `${ID_PREFIX}monthlyBillingFreeHtml`,\n defaultMessage: '

Free edition allows for up to 10 users.

'\n },\n monthlyBillingStarterStandardHtml: {\n id: `${ID_PREFIX}monthlyBillingStarterStandardHtml`,\n defaultMessage:\n '

Pay a monthly flat rate of {formattedStarterTierPrice} for up to 10 users.

'\n },\n monthlyBillingHtml: {\n id: `${ID_PREFIX}monthlyBillingHtml`,\n defaultMessage:\n '

Pricing starts at {formattedFirstTierPrice} per user for the first 100 users.

'\n },\n monthlyBillingOver100UsersHtml: {\n id: `${ID_PREFIX}monthlyBillingOver100UsersHtml`,\n defaultMessage: '

Per-user pricing decreases as more users are added.

'\n },\n annualBillingHtml: {\n id: `${ID_PREFIX}annualBillingHtml`,\n defaultMessage:\n '

Annual pricing is based on distinct User Tiers.

'\n },\n talkToSales: {\n id: `${ID_PREFIX}talkToSales`,\n defaultMessage: 'Talk to our sales team about pricing for Cloud Enterprise'\n },\n ctaLabel: {\n id: `${ID_PREFIX}ctaLabel`,\n defaultMessage: 'Contact Us'\n }\n});\n","import { N10, N40, N200 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\n\nimport { Operator } from './components/pricing-details.styles';\nimport { BORDER_COLOR } from './pricing-calculator.common.styles';\n\nexport const Root = styled.div`\n display: flex;\n flex-direction: column;\n flex-basis: 100%;\n min-width: 500px;\n\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n border: 1px solid ${BORDER_COLOR};\n border-radius: 4px;\n`;\n\nexport const InputsContainer = styled.div`\n display: flex;\n flex-direction: row;\n padding: 24px 32px;\n border-bottom: 1px solid ${BORDER_COLOR};\n background-color: ${N10};\n`;\n\nexport const LeftColumn = styled.div`\n display: flex;\n flex-direction: column;\n flex: 0 0 220px;\n margin-right: 24px;\n`;\n\nexport const RightColumn = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1 0;\n`;\n\nexport const PricingPlanSliderContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin-top: 39px;\n`;\n\nexport const SingleEditionPricingPlanSliderContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin-top: 16px;\n`;\n\nexport const PricingContainer = styled.div`\n display: flex;\n flex-direction: row;\n padding: 24px 32px;\n`;\n\nexport const PeriodSwitchContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 28px;\n`;\n\nexport const PricingBreakdownToggleContainer = styled.div`\n margin-left: 32px;\n`;\n\nexport const PricingDetailsContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n margin-top: 8px;\n`;\n\nexport const BillingMessageContainer = styled.div`\n display: flex;\n align-items: center;\n font-size: 14px;\n border: 1px solid ${N40};\n color: ${N200};\n min-height: 82px;\n margin-top: 16px;\n padding: 4px 32px;\n`;\n\nexport const Equals = styled(Operator)`\n margin-left: -32px;\n`;\n","import { PricingPeriod } from '@atlassian/bxp-product-pricing';\nimport { PricingResult } from '@atlassiansox/bxpkit-core';\nimport React, { useMemo } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport {\n BillingMessage,\n EditionSelect,\n EditionSelectOnEditionChangeEventHandler,\n EnterpriseEditionCta,\n IsBreakdownVisibleToggleEventHandler,\n PeriodChangeEventHandler,\n PeriodSwitchWithAnalytics,\n PricingBreakdownToggleWithAnalytics,\n PricingDetails,\n PricingPlanSlider,\n PricingSummary,\n UnitsChangeEventHandler,\n UnitsTextField\n} from './components';\nimport { messages } from './messages';\nimport { Edition } from './models';\nimport { ComparisonLink, Title } from './pricing-calculator.common.styles';\nimport {\n BillingMessageContainer,\n Equals,\n InputsContainer,\n LeftColumn,\n PeriodSwitchContainer,\n PricingBreakdownToggleContainer,\n PricingContainer,\n PricingDetailsContainer,\n PricingPlanSliderContainer,\n RightColumn,\n Root,\n SingleEditionPricingPlanSliderContainer\n} from './pricing-calculator.desktop.styles';\n\nexport type DesktopPricingCalculatorProps = {\n readonly editions: ReadonlyArray;\n readonly units: number;\n readonly period: PricingPeriod;\n readonly calculation: PricingResult;\n readonly isBreakdownVisible: boolean;\n readonly breakpoints: ReadonlyArray;\n\n readonly onEditionChange: EditionSelectOnEditionChangeEventHandler;\n readonly onUnitsChange: UnitsChangeEventHandler;\n readonly onPeriodChange: PeriodChangeEventHandler;\n readonly onBreakdownVisibilityToggle: IsBreakdownVisibleToggleEventHandler;\n\n readonly defaultPeriod?: PricingPeriod;\n readonly comparisonLink?: string;\n readonly ctaURL?: string;\n readonly edition: Edition;\n\n readonly showNumUnitsTooltip: boolean;\n readonly overrideMaxUnits?: number;\n readonly hidePeriodSwitch?: boolean;\n\n readonly starterMessageBreakpointUnitCount: number;\n readonly perUserMessageBreakpointUnitCount: number;\n\n readonly enterpriseEditionSelected: boolean;\n readonly hideBillingMessaging: boolean;\n};\n\nexport function DesktopPricingCalculator({\n editions,\n units,\n period,\n comparisonLink,\n calculation,\n isBreakdownVisible,\n breakpoints,\n onUnitsChange,\n onEditionChange,\n onPeriodChange,\n onBreakdownVisibilityToggle,\n edition,\n showNumUnitsTooltip,\n overrideMaxUnits,\n hidePeriodSwitch,\n enterpriseEditionSelected = false,\n ctaURL,\n starterMessageBreakpointUnitCount,\n perUserMessageBreakpointUnitCount,\n hideBillingMessaging\n}: DesktopPricingCalculatorProps) {\n const { pricingPlan, breakdown, currencyIsoCode } = calculation;\n const isBreakdownToggleVisible = breakdown.length > 1;\n\n const [starterTierPrice, firstTierPrice] = useMemo(\n () =>\n pricingPlan.map((priceTier) => {\n const priceObj = priceTier.prices.find(\n (price) => price.currency === currencyIsoCode\n );\n\n return priceObj ? priceObj.unitPrice : 0;\n }),\n [calculation]\n );\n\n return (\n \n {editions.length > 1 ? (\n \n \n \n <FormattedMessage {...messages.priceCalculator} />\n \n \n {!enterpriseEditionSelected && (\n \n )}\n \n \n {!enterpriseEditionSelected && (\n \n \n \n \n \n \n )}\n \n \n ) : (\n \n \n \n <FormattedMessage {...messages.priceCalculator} />\n \n \n \n \n \n \n \n \n \n )}\n {!enterpriseEditionSelected ? (\n \n \n \n \n \n \n {!hidePeriodSwitch && (\n \n )}\n {isBreakdownToggleVisible && (\n \n \n \n )}\n \n
\n {isBreakdownVisible && isBreakdownToggleVisible ? (\n \n =\n \n \n ) : (\n !hideBillingMessaging && (\n \n \n \n )\n )}\n
\n
\n
\n ) : (\n \n )}\n
\n );\n}\n","import { N10 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\nimport { BORDER_COLOR } from './pricing-calculator.common.styles';\n\nexport const Root = styled.div`\n display: flex;\n flex-direction: column;\n flex-basis: 100%;\n min-width: 249px;\n\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n border: 1px solid ${BORDER_COLOR};\n`;\n\nexport const InputsContainer = styled.div`\n display: flex;\n flex-direction: column;\n padding: 24px 32px;\n border-bottom: 1px solid ${BORDER_COLOR};\n background-color: ${N10};\n`;\n\nexport const PricingContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 32px;\n`;\n\nexport const PeriodSwitchContainer = styled.div`\n height: 28px;\n`;\n\nexport const PricingPlanSliderContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin: 16px 0;\n`;\n\nexport const PricingBreakdownContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 16px;\n`;\n\nexport const PricingBreakdownToggleContainer = styled.div`\n margin-top: 16px;\n`;\n","import { PricingPeriod } from '@atlassian/bxp-product-pricing';\nimport { PricingResult } from '@atlassiansox/bxpkit-core';\nimport React, { Fragment } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport {\n EditionSelect,\n EditionSelectOnEditionChangeEventHandler,\n EnterpriseEditionCta,\n IsBreakdownVisibleToggleEventHandler,\n PeriodChangeEventHandler,\n PeriodSwitchWithAnalytics,\n PricingBreakdownToggleWithAnalytics,\n PricingDetails,\n PricingPlanSlider,\n PricingSummary,\n UnitsChangeEventHandler,\n UnitsTextField\n} from './components';\nimport { Operator } from './components/pricing-details.styles';\nimport { messages } from './messages';\nimport { Edition } from './models';\nimport { ComparisonLink, Title } from './pricing-calculator.common.styles';\nimport {\n InputsContainer,\n PeriodSwitchContainer,\n PricingBreakdownContainer,\n PricingBreakdownToggleContainer,\n PricingContainer,\n PricingPlanSliderContainer,\n Root\n} from './pricing-calculator.mobile.styles';\n\nexport type MobilePricingCalculatorProps = {\n readonly editions: ReadonlyArray;\n readonly units: number;\n readonly breakpoints: ReadonlyArray;\n readonly period: PricingPeriod;\n readonly calculation: PricingResult;\n readonly isBreakdownVisible: boolean;\n\n readonly onEditionChange: EditionSelectOnEditionChangeEventHandler;\n readonly onUnitsChange: UnitsChangeEventHandler;\n readonly onPeriodChange: PeriodChangeEventHandler;\n readonly onBreakdownVisibilityToggle: IsBreakdownVisibleToggleEventHandler;\n\n readonly defaultPeriod?: PricingPeriod;\n readonly comparisonLink?: string;\n readonly ctaURL?: string;\n readonly edition: Edition;\n\n readonly showNumUnitsTooltip: boolean;\n readonly overrideMaxUnits?: number;\n readonly hidePeriodSwitch?: boolean;\n\n readonly enterpriseEditionSelected?: boolean;\n};\n\nexport function MobilePricingCalculator({\n calculation,\n editions,\n period,\n breakpoints,\n onEditionChange,\n comparisonLink,\n units,\n isBreakdownVisible,\n onUnitsChange,\n onPeriodChange,\n onBreakdownVisibilityToggle,\n showNumUnitsTooltip,\n overrideMaxUnits,\n hidePeriodSwitch,\n edition,\n enterpriseEditionSelected = false,\n ctaURL\n}: MobilePricingCalculatorProps) {\n const { pricingPlan, breakdown } = calculation;\n const isBreakdownToggleVisible = breakdown.length > 1;\n\n if (editions.length > 1) {\n return (\n \n \n \n <FormattedMessage {...messages.priceCalculator} />\n \n \n {!enterpriseEditionSelected && (\n <>\n \n \n \n \n \n \n \n \n {!hidePeriodSwitch && (\n \n )}\n \n \n )}\n \n {!enterpriseEditionSelected ? (\n \n \n {isBreakdownToggleVisible && (\n \n {isBreakdownVisible && (\n \n =\n \n \n )}\n \n \n \n \n )}\n \n ) : (\n \n )}\n \n );\n } else {\n return (\n \n \n \n <FormattedMessage {...messages.priceCalculator} />\n \n \n \n \n {!hidePeriodSwitch && (\n \n )}\n \n \n \n \n {isBreakdownToggleVisible && (\n \n {isBreakdownVisible && (\n \n =\n \n \n )}\n \n \n {!hidePeriodSwitch && (\n \n )}\n \n \n \n )}\n \n \n );\n }\n}\n","import { AnalyticsContext } from '@atlaskit/analytics-next';\nimport { PricingPeriod } from '@atlassian/bxp-product-pricing';\nimport {\n DEFAULT_CURRENCY_ISO_CODE,\n usePricing\n} from '@atlassiansox/bxpkit-core';\nimport React, { useState } from 'react';\nimport { InjectedIntl, InjectedIntlProps, injectIntl } from 'react-intl';\nimport { EditionSelectOnEditionChangeEventHandler } from './components';\nimport { messages } from './messages';\nimport { Edition, EditionType } from './models';\nimport { DesktopPricingCalculator } from './pricing-calculator.desktop';\nimport { MobilePricingCalculator } from './pricing-calculator.mobile';\n\nexport const DEFAULT_BREAKPOINTS = [1, 100, 250, 1000, 5000];\n\nexport type PricingCalculatorLayout = 'mobile' | 'desktop';\n\nexport type PricingCalculatorProps = {\n readonly editions: ReadonlyArray;\n readonly defaultEditionType: EditionType;\n\n readonly layout?: PricingCalculatorLayout;\n readonly breakpoints?: ReadonlyArray;\n readonly ctaURL?: string;\n readonly comparisonLink?: string;\n\n readonly defaultPeriod?: PricingPeriod;\n readonly defaultUnits?: number;\n readonly defaultBreakdownVisibility?: boolean;\n\n readonly currencyIsoCode?: string;\n\n readonly showNumUnitsTooltip?: boolean;\n readonly overrideMaxUnits?: number;\n\n readonly starterMessageBreakpointUnitCount: number;\n readonly perUserMessageBreakpointUnitCount: number;\n\n readonly hideBillingMessaging?: boolean;\n} & InjectedIntlProps;\n\nexport function defaultCurrencyIsoCode(intl?: InjectedIntl): string {\n if (intl) {\n switch (intl.locale.toUpperCase()) {\n case 'JA':\n return 'JPY';\n default:\n return DEFAULT_CURRENCY_ISO_CODE;\n }\n } else {\n return DEFAULT_CURRENCY_ISO_CODE;\n }\n}\n\nexport function PricingCalculator({\n editions,\n defaultEditionType,\n layout = 'mobile',\n ctaURL,\n comparisonLink,\n breakpoints = DEFAULT_BREAKPOINTS,\n defaultPeriod = PricingPeriod.MONTHLY,\n defaultUnits = 10,\n defaultBreakdownVisibility = false,\n intl,\n currencyIsoCode,\n showNumUnitsTooltip = true,\n overrideMaxUnits,\n starterMessageBreakpointUnitCount,\n perUserMessageBreakpointUnitCount,\n hideBillingMessaging = false\n}: PricingCalculatorProps) {\n const activeEdition =\n editions.find((e) => e.type === defaultEditionType) || editions[0];\n const [edition, setEdition] = useState(activeEdition);\n const [enterpriseEditionSelected, setEnterpriseEditionSelected] =\n useState(false);\n const [period, setPeriod] = useState(defaultPeriod);\n const [units, setUnits] = useState(defaultUnits);\n const [isBreakdownVisible, setIsBreakdownVisible] = useState(\n defaultBreakdownVisibility\n );\n\n const onEditionChange: EditionSelectOnEditionChangeEventHandler = (\n selectedEdition,\n analyticsEvent\n ) => {\n if (selectedEdition.maxUnits && units > selectedEdition.maxUnits) {\n setUnits(selectedEdition.maxUnits);\n }\n if (selectedEdition.type === EditionType.FREE) {\n setPeriod(PricingPeriod.MONTHLY);\n }\n // Enterprise has no pricing plan, so we are just applying premium temporarily\n setEnterpriseEditionSelected(false);\n if (selectedEdition.type === EditionType.ENTERPRISE) {\n selectedEdition = {\n type: EditionType.PREMIUM,\n productKey: 'jira-software.ondemand.premium'\n };\n setEnterpriseEditionSelected(true);\n }\n\n setEdition(selectedEdition);\n return analyticsEvent && analyticsEvent.fire();\n };\n const onBreakdownVisibilityToggle = () =>\n setIsBreakdownVisible(!isBreakdownVisible);\n const calculation = usePricing(\n edition.productKey,\n units,\n period,\n currencyIsoCode || defaultCurrencyIsoCode(intl)\n );\n\n if (calculation.isPending) {\n return null;\n } else {\n const maxUnits = edition.maxUnits || overrideMaxUnits;\n const adjBreakpoints = edition.breakpoints || breakpoints;\n const hidePeriodSwitch = edition.hidePeriodSwitch;\n\n const finalBreakpoints =\n overrideMaxUnits && edition.type !== EditionType.FREE\n ? adjBreakpoints\n .slice(0, adjBreakpoints.length - 1)\n .concat(overrideMaxUnits)\n : adjBreakpoints;\n\n const props = {\n editions,\n defaultPeriod,\n comparisonLink,\n onEditionChange,\n units,\n breakpoints: finalBreakpoints,\n overrideMaxUnits: maxUnits,\n onUnitsChange: setUnits,\n onPeriodChange: setPeriod,\n calculation: calculation.value,\n period,\n isBreakdownVisible,\n onBreakdownVisibilityToggle,\n edition,\n showNumUnitsTooltip,\n hidePeriodSwitch,\n starterMessageBreakpointUnitCount,\n perUserMessageBreakpointUnitCount,\n enterpriseEditionSelected,\n ctaURL,\n hideBillingMessaging\n };\n\n switch (layout) {\n case 'desktop':\n return (\n \n \n \n );\n default:\n return (\n \n \n \n );\n }\n }\n}\n\nPricingCalculator.messages = messages;\n\nexport default injectIntl(PricingCalculator);\n","import MediaQuery from \"react-responsive\";\nimport { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport { ProductPricingStoreContext } from \"@atlassiansox/bxpkit-product-pricing-store\";\nimport { PricingCalculator } from \"@atlassiansox/bxpkit-pricing-calculator\";\nimport React from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport useGeoCurrency, { LOCALE_TO_CURRENCY } from \"./use-geo-currency\";\nimport { useBundleContext } from \"../../contexts/bundle-context\";\nimport tracking from '../../../utils/tracking';\n\nconst wacMobileBreakpoint = 774;\nconst sendAnalytics = (analytic) => {\n const eventName =\n analytic.payload && analytic.payload.name\n ? analytic.payload.name\n : \"pricing-calculator-track-event\";\n const eventPayload = Object.assign(analytic.context[0], analytic.payload);\n if (eventPayload.name !== undefined) {\n delete eventPayload.name;\n }\n\n try {\n tracking.trackEvent(eventName, eventPayload);\n } catch (e) {\n console.log(eventName, \"AnalyticsListener did not find tracker\");\n }\n};\n\nconst PricingCalculatorContainer = ({\n editions,\n defaultEditionType,\n comparisonLink,\n defaultPeriod,\n defaultUnits,\n defaultBreakdownVisibility,\n labels,\n currencyIsoCode: forceCurrencyIsoCode,\n showTooltip,\n overrideMaxUnits,\n starterMessageBreakpointUnitCount,\n perUserMessageBreakpointUnitCount,\n hideBillingMessaging,\n ctaURL,\n}) => {\n let setCurrencyIsoCode = null;\n if (LOCALIZED_PRICING_USE_GEO_CURRENCY) {\n setCurrencyIsoCode =\n forceCurrencyIsoCode && forceCurrencyIsoCode.length\n ? forceCurrencyIsoCode\n : null;\n } else {\n setCurrencyIsoCode = LOCALE_TO_CURRENCY.US;\n }\n\n const currency = useGeoCurrency(setCurrencyIsoCode);\n const { pricingStore } = useBundleContext();\n\n if (!currency.isPending) {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n } else {\n return null;\n }\n};\n\nexport default PricingCalculatorContainer;\n","import { useAsync } from \"@atlassiansox/bxpkit-core\";\nimport Environment from '../../../common/environment';\n\nconst LOCALE_CACHE_KEY = \"bxp.currentLocale\";\nconst DEFAULT_LOCALE = \"US\";\nexport const LOCALE_TO_CURRENCY = {\n US: \"USD\",\n JP: \"JPY\"\n};\n\nexport default function useGeoCurrency(setCurrencyIsoCode) {\n return useAsync(() => {\n if (setCurrencyIsoCode) return Promise.resolve(setCurrencyIsoCode);\n\n const currentLocale = sessionStorage.getItem(LOCALE_CACHE_KEY);\n const localePromise = currentLocale\n ? Promise.resolve(currentLocale)\n : fetch(`${Environment.getWacIntegrationUrl()}/endpoint/location`)\n .then(response => response.json())\n .then(json => json.countryIsoCode || DEFAULT_LOCALE)\n .catch(() => DEFAULT_LOCALE);\n\n return localePromise.then(locale => {\n sessionStorage.setItem(LOCALE_CACHE_KEY, locale);\n return LOCALE_TO_CURRENCY[locale] || LOCALE_TO_CURRENCY[DEFAULT_LOCALE];\n });\n }, []);\n}\n","import { createContext, useContext } from \"react\";\nimport { ProductCatalogClient, CCPProductCatalogClient } from \"@atlassiansox/asc-product-catalog\";\nimport { ProductPricingStore } from \"@atlassiansox/bxp-product-pricing\";\n\nconst productCatalogClient = new ProductCatalogClient({\n space: LOCALIZED_PRICING_CONTENTFUL_SPACE,\n environment: LOCALIZED_PRICING_CONTENTFUL_ENVIRONMENT,\n accessToken: LOCALIZED_PRICING_CONTENTFUL_ACCESS_TOKEN,\n});\n\nconst ccpProductCatalogClient = new CCPProductCatalogClient({\n space: LOCALIZED_PRICING_CONTENTFUL_SPACE,\n environment: LOCALIZED_CCP_PRICING_CONTENTFUL_ENVIRONMENT,\n accessToken: LOCALIZED_CCP_PRICING_CONTENTFUL_ACCESS_TOKEN,\n});\n\nconst pricingStore = new ProductPricingStore({ productCatalogClient,ccpProductCatalogClient });\n\nexport const BundleContext = createContext({\n productCatalogClient,\n pricingStore\n});\n\nexport function useBundleContext() {\n return useContext(BundleContext);\n}\n","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.map = factory());\n}(this, (function () { 'use strict';\n\n // a timeout function that can be flushed and cancelled\n var flushable = function flushable(onComplete, delay) {\n var timeoutId = setTimeout(function () {\n timeoutId = null;\n onComplete(false);\n }, delay);\n\n var clearTimer = function clearTimer() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n };\n\n return {\n cancel: clearTimer,\n flush: function flush() {\n if (!timeoutId) {\n return;\n }\n\n clearTimer();\n onComplete(true);\n },\n pending: function pending() {\n return Boolean(timeoutId);\n }\n };\n };\n\n return flushable;\n\n})));\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (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\nvar _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/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n // end fast-deep-equal\n\n // start react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element && b instanceof Element)\n return a === b;\n\n // custom handling for React\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n }\n // end react-fast-compare\n\n // fast-deep-equal index.js 2.0.1\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\t_createClass(AutosizeInput, null, [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(props, state) {\n\t\t\tvar id = props.id;\n\n\t\t\treturn id !== state.prevId ? { inputId: id || generateId(), prevId: id } : null;\n\t\t}\n\t}]);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId(),\n\t\t\tprevId: props.id\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _reactDom = require('react-dom');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NodeResolver = function (_Component) {\n _inherits(NodeResolver, _Component);\n\n function NodeResolver() {\n _classCallCheck(this, NodeResolver);\n\n return _possibleConstructorReturn(this, (NodeResolver.__proto__ || Object.getPrototypeOf(NodeResolver)).apply(this, arguments));\n }\n\n _createClass(NodeResolver, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.props.innerRef((0, _reactDom.findDOMNode)(this));\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.props.innerRef(null);\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return NodeResolver;\n}(_react.Component);\n\nexports.default = NodeResolver;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _NodeResolver = require('./NodeResolver');\n\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_NodeResolver).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","!function(root, factory) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = factory(require(\"react\")) : \"function\" == typeof define && define.amd ? define([ \"react\" ], factory) : \"object\" == typeof exports ? exports.MediaQuery = factory(require(\"react\")) : root.MediaQuery = factory(root.React);\n}(\"undefined\" != typeof self ? self : this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\n return function(modules) {\n function __webpack_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: !1,\n exports: {}\n };\n return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), \n module.l = !0, module.exports;\n }\n var installedModules = {};\n return __webpack_require__.m = modules, __webpack_require__.c = installedModules, \n __webpack_require__.d = function(exports, name, getter) {\n __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {\n configurable: !1,\n enumerable: !0,\n get: getter\n });\n }, __webpack_require__.n = function(module) {\n var getter = module && module.__esModule ? function() {\n return module.default;\n } : function() {\n return module;\n };\n return __webpack_require__.d(getter, \"a\", getter), getter;\n }, __webpack_require__.o = function(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }, __webpack_require__.p = \"\", __webpack_require__(__webpack_require__.s = 7);\n }([ function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (o) {\n if (\"string\" == typeof o) return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n return \"Object\" === n && o.constructor && (n = o.constructor.name), \"Map\" === n || \"Set\" === n ? Array.from(o) : \"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(o, minLen) : void 0;\n }\n }\n function _arrayLikeToArray(arr, len) {\n (null == len || len > arr.length) && (len = arr.length);\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _iterableToArrayLimit(arr, i) {\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(arr)) {\n var _arr = [], _n = !0, _d = !1, _e = void 0;\n try {\n for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), \n !i || _arr.length !== i); _n = !0) ;\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n _n || null == _i.return || _i.return();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1), __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__), __WEBPACK_IMPORTED_MODULE_1_matchmediaquery__ = __webpack_require__(8), __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__), __WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__ = __webpack_require__(2), __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__ = __webpack_require__(10), __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__), __WEBPACK_IMPORTED_MODULE_4__toQuery__ = __webpack_require__(3), __WEBPACK_IMPORTED_MODULE_5__Context__ = __webpack_require__(6), makeQuery = function(settings) {\n return settings.query || Object(__WEBPACK_IMPORTED_MODULE_4__toQuery__.a)(settings);\n }, hyphenateKeys = function(obj) {\n if (!obj) return null;\n var keys = Object.keys(obj);\n return 0 === keys.length ? null : keys.reduce(function(result, key) {\n return result[Object(__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__.a)(key)] = obj[key], \n result;\n }, {});\n }, useIsUpdate = function() {\n var ref = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useRef(!1);\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n ref.current = !0;\n }, []), ref.current;\n }, useDevice = function(deviceFromProps) {\n var deviceFromContext = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useContext(__WEBPACK_IMPORTED_MODULE_5__Context__.a), getDevice = function() {\n return hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n }, _React$useState = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getDevice), _React$useState2 = _slicedToArray(_React$useState, 2), device = _React$useState2[0], setDevice = _React$useState2[1];\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n var newDevice = getDevice();\n __WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default()(device, newDevice) || setDevice(newDevice);\n }, [ deviceFromProps, deviceFromContext ]), device;\n }, useQuery = function(settings) {\n var getQuery = function() {\n return makeQuery(settings);\n }, _React$useState3 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getQuery), _React$useState4 = _slicedToArray(_React$useState3, 2), query = _React$useState4[0], setQuery = _React$useState4[1];\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n var newQuery = getQuery();\n query !== newQuery && setQuery(newQuery);\n }, [ settings ]), query;\n }, useMatchMedia = function(query, device) {\n var getMatchMedia = function() {\n return __WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default()(query, device || {}, !!device);\n }, _React$useState5 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(getMatchMedia), _React$useState6 = _slicedToArray(_React$useState5, 2), mq = _React$useState6[0], setMq = _React$useState6[1], isUpdate = useIsUpdate();\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n return isUpdate && setMq(getMatchMedia()), function() {\n mq.dispose();\n };\n }, [ query, device ]), mq;\n }, useMatches = function(mediaQuery) {\n var _React$useState7 = __WEBPACK_IMPORTED_MODULE_0_react___default.a.useState(mediaQuery.matches), _React$useState8 = _slicedToArray(_React$useState7, 2), matches = _React$useState8[0], setMatches = _React$useState8[1];\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n var updateMatches = function() {\n setMatches(mediaQuery.matches);\n };\n return mediaQuery.addListener(updateMatches), updateMatches(), function() {\n mediaQuery.removeListener(updateMatches);\n };\n }, [ mediaQuery ]), matches;\n }, useMediaQuery = function(settings, device, onChange) {\n var deviceSettings = useDevice(device), query = useQuery(settings);\n if (!query) throw new Error(\"Invalid or missing MediaQuery!\");\n var mq = useMatchMedia(query, deviceSettings), matches = useMatches(mq), isUpdate = useIsUpdate();\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.useEffect(function() {\n isUpdate && onChange && onChange(matches);\n }, [ matches ]), matches;\n };\n __webpack_exports__.a = useMediaQuery;\n }, function(module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function toHyphenLower(match) {\n return \"-\" + match.toLowerCase();\n }\n function hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) return cache[name];\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? \"-\" + hName : hName;\n }\n var uppercasePattern = /[A-Z]/g, msPattern = /^ms-/, cache = {};\n __webpack_exports__.a = hyphenateStyleName;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n var __WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__ = __webpack_require__(2), __WEBPACK_IMPORTED_MODULE_1__mediaQuery__ = __webpack_require__(11), negate = function(cond) {\n return \"not \".concat(cond);\n }, keyVal = function(k, v) {\n var realKey = Object(__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__.a)(k);\n return \"number\" == typeof v && (v = \"\".concat(v, \"px\")), !0 === v ? realKey : !1 === v ? negate(realKey) : \"(\".concat(realKey, \": \").concat(v, \")\");\n }, join = function(conds) {\n return conds.join(\" and \");\n }, toQuery = function(obj) {\n var rules = [];\n return Object.keys(__WEBPACK_IMPORTED_MODULE_1__mediaQuery__.a.all).forEach(function(k) {\n var v = obj[k];\n null != v && rules.push(keyVal(k, v));\n }), join(rules);\n };\n __webpack_exports__.a = toQuery;\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n module.exports = __webpack_require__(13);\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n module.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1), __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__), Context = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext();\n __webpack_exports__.a = Context;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n Object.defineProperty(__webpack_exports__, \"__esModule\", {\n value: !0\n });\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0), __WEBPACK_IMPORTED_MODULE_1__Component__ = __webpack_require__(17), __WEBPACK_IMPORTED_MODULE_2__toQuery__ = __webpack_require__(3), __WEBPACK_IMPORTED_MODULE_3__Context__ = __webpack_require__(6);\n __webpack_require__.d(__webpack_exports__, \"default\", function() {\n return __WEBPACK_IMPORTED_MODULE_1__Component__.a;\n }), __webpack_require__.d(__webpack_exports__, \"useMediaQuery\", function() {\n return __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"toQuery\", function() {\n return __WEBPACK_IMPORTED_MODULE_2__toQuery__.a;\n }), __webpack_require__.d(__webpack_exports__, \"Context\", function() {\n return __WEBPACK_IMPORTED_MODULE_3__Context__.a;\n });\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function Mql(query, values, forceStatic) {\n function addListener(listener) {\n mql && mql.addListener(listener);\n }\n function removeListener(listener) {\n mql && mql.removeListener(listener);\n }\n function update(evt) {\n self.matches = evt.matches, self.media = evt.media;\n }\n function dispose() {\n mql && mql.removeListener(update);\n }\n var self = this;\n if (dynamicMatch && !forceStatic) {\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches, this.media = mql.media, mql.addListener(update);\n } else this.matches = staticMatch(query, values), this.media = query;\n this.addListener = addListener, this.removeListener = removeListener, this.dispose = dispose;\n }\n function matchMedia(query, values, forceStatic) {\n return new Mql(query, values, forceStatic);\n }\n var staticMatch = __webpack_require__(9).match, dynamicMatch = \"undefined\" != typeof window ? window.matchMedia : null;\n module.exports = matchMedia;\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function(query) {\n var inverse = query.inverse, typeMatch = \"all\" === query.type || values.type === query.type;\n if (typeMatch && inverse || !typeMatch && !inverse) return !1;\n var expressionsMatch = query.expressions.every(function(expression) {\n var feature = expression.feature, modifier = expression.modifier, expValue = expression.value, value = values[feature];\n if (!value) return !1;\n switch (feature) {\n case \"orientation\":\n case \"scan\":\n return value.toLowerCase() === expValue.toLowerCase();\n\n case \"width\":\n case \"height\":\n case \"device-width\":\n case \"device-height\":\n expValue = toPx(expValue), value = toPx(value);\n break;\n\n case \"resolution\":\n expValue = toDpi(expValue), value = toDpi(value);\n break;\n\n case \"aspect-ratio\":\n case \"device-aspect-ratio\":\n case \"device-pixel-ratio\":\n expValue = toDecimal(expValue), value = toDecimal(value);\n break;\n\n case \"grid\":\n case \"color\":\n case \"color-index\":\n case \"monochrome\":\n expValue = parseInt(expValue, 10) || 1, value = parseInt(value, 10) || 0;\n }\n switch (modifier) {\n case \"min\":\n return value >= expValue;\n\n case \"max\":\n return value <= expValue;\n\n default:\n return value === expValue;\n }\n });\n return expressionsMatch && !inverse || !expressionsMatch && inverse;\n });\n }\n function parseQuery(mediaQuery) {\n return mediaQuery.split(\",\").map(function(query) {\n query = query.trim();\n var captures = query.match(RE_MEDIA_QUERY), modifier = captures[1], type = captures[2], expressions = captures[3] || \"\", parsed = {};\n return parsed.inverse = !!modifier && \"not\" === modifier.toLowerCase(), parsed.type = type ? type.toLowerCase() : \"all\", \n expressions = expressions.match(/\\([^\\)]+\\)/g) || [], parsed.expressions = expressions.map(function(expression) {\n var captures = expression.match(RE_MQ_EXPRESSION), feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n return {\n modifier: feature[1],\n feature: feature[2],\n value: captures[2]\n };\n }), parsed;\n });\n }\n function toDecimal(ratio) {\n var numbers, decimal = Number(ratio);\n return decimal || (numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/), decimal = numbers[1] / numbers[2]), \n decimal;\n }\n function toDpi(resolution) {\n var value = parseFloat(resolution);\n switch (String(resolution).match(RE_RESOLUTION_UNIT)[1]) {\n case \"dpcm\":\n return value / 2.54;\n\n case \"dppx\":\n return 96 * value;\n\n default:\n return value;\n }\n }\n function toPx(length) {\n var value = parseFloat(length);\n switch (String(length).match(RE_LENGTH_UNIT)[1]) {\n case \"em\":\n case \"rem\":\n return 16 * value;\n\n case \"cm\":\n return 96 * value / 2.54;\n\n case \"mm\":\n return 96 * value / 2.54 / 10;\n\n case \"in\":\n return 96 * value;\n\n case \"pt\":\n return 72 * value;\n\n case \"pc\":\n return 72 * value / 12;\n\n default:\n return value;\n }\n }\n exports.match = matchQuery, exports.parse = parseQuery;\n var RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i, RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/, RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/, RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/, RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function shallowEqualObjects(objA, objB) {\n if (objA === objB) return !0;\n if (!objA || !objB) return !1;\n var aKeys = Object.keys(objA), bKeys = Object.keys(objB), len = aKeys.length;\n if (bKeys.length !== len) return !1;\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) return !1;\n }\n return !0;\n }\n module.exports = shallowEqualObjects;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function(key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n return key in obj ? Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value, obj;\n }\n var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(12), __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__), stringOrNumber = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOfType([ __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number ]), matchers = {\n orientation: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([ \"portrait\", \"landscape\" ]),\n scan: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOf([ \"progressive\", \"interlace\" ]),\n aspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n deviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n colorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n monochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n resolution: stringOrNumber\n }, features = _objectSpread({\n minAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n maxDeviceAspectRatio: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string,\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n minColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColor: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxColorIndex: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n maxMonochrome: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number,\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber\n }, matchers), types = {\n all: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n grid: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n aural: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n braille: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n handheld: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n print: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n projection: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n screen: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tty: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n tv: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool,\n embossed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool\n }, all = _objectSpread(_objectSpread({}, types), features);\n matchers.type = Object.keys(types), __webpack_exports__.a = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n };\n }, function(module, exports, __webpack_require__) {\n var ReactIs = __webpack_require__(4);\n module.exports = __webpack_require__(14)(ReactIs.isElement, !0);\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n !function() {\n function isValidElementType(type) {\n return \"string\" == typeof type || \"function\" == typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || \"object\" == typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n }\n function typeOf(object) {\n if (\"object\" == typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n function isAsyncMode(object) {\n return hasWarnedAboutDeprecatedIsAsyncMode || (hasWarnedAboutDeprecatedIsAsyncMode = !0, \n console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")), \n isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n }\n function isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n }\n function isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n }\n function isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n }\n function isElement(object) {\n return \"object\" == typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n function isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n }\n function isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n }\n function isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n }\n function isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n }\n function isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n }\n function isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n }\n function isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n }\n function isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n }\n var hasSymbol = \"function\" == typeof Symbol && Symbol.for, REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for(\"react.element\") : 60103, REACT_PORTAL_TYPE = hasSymbol ? Symbol.for(\"react.portal\") : 60106, REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for(\"react.fragment\") : 60107, REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.strict_mode\") : 60108, REACT_PROFILER_TYPE = hasSymbol ? Symbol.for(\"react.profiler\") : 60114, REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for(\"react.provider\") : 60109, REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for(\"react.context\") : 60110, REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for(\"react.async_mode\") : 60111, REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for(\"react.concurrent_mode\") : 60111, REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for(\"react.forward_ref\") : 60112, REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for(\"react.suspense\") : 60113, REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for(\"react.suspense_list\") : 60120, REACT_MEMO_TYPE = hasSymbol ? Symbol.for(\"react.memo\") : 60115, REACT_LAZY_TYPE = hasSymbol ? Symbol.for(\"react.lazy\") : 60116, REACT_BLOCK_TYPE = hasSymbol ? Symbol.for(\"react.block\") : 60121, REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for(\"react.fundamental\") : 60117, REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for(\"react.responder\") : 60118, REACT_SCOPE_TYPE = hasSymbol ? Symbol.for(\"react.scope\") : 60119, AsyncMode = REACT_ASYNC_MODE_TYPE, ConcurrentMode = REACT_CONCURRENT_MODE_TYPE, ContextConsumer = REACT_CONTEXT_TYPE, ContextProvider = REACT_PROVIDER_TYPE, Element = REACT_ELEMENT_TYPE, ForwardRef = REACT_FORWARD_REF_TYPE, Fragment = REACT_FRAGMENT_TYPE, Lazy = REACT_LAZY_TYPE, Memo = REACT_MEMO_TYPE, Portal = REACT_PORTAL_TYPE, Profiler = REACT_PROFILER_TYPE, StrictMode = REACT_STRICT_MODE_TYPE, Suspense = REACT_SUSPENSE_TYPE, hasWarnedAboutDeprecatedIsAsyncMode = !1;\n exports.AsyncMode = AsyncMode, exports.ConcurrentMode = ConcurrentMode, exports.ContextConsumer = ContextConsumer, \n exports.ContextProvider = ContextProvider, exports.Element = Element, exports.ForwardRef = ForwardRef, \n exports.Fragment = Fragment, exports.Lazy = Lazy, exports.Memo = Memo, exports.Portal = Portal, \n exports.Profiler = Profiler, exports.StrictMode = StrictMode, exports.Suspense = Suspense, \n exports.isAsyncMode = isAsyncMode, exports.isConcurrentMode = isConcurrentMode, \n exports.isContextConsumer = isContextConsumer, exports.isContextProvider = isContextProvider, \n exports.isElement = isElement, exports.isForwardRef = isForwardRef, exports.isFragment = isFragment, \n exports.isLazy = isLazy, exports.isMemo = isMemo, exports.isPortal = isPortal, exports.isProfiler = isProfiler, \n exports.isStrictMode = isStrictMode, exports.isSuspense = isSuspense, exports.isValidElementType = isValidElementType, \n exports.typeOf = typeOf;\n }();\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function emptyFunctionThatReturnsNull() {\n return null;\n }\n var ReactIs = __webpack_require__(4), assign = __webpack_require__(15), ReactPropTypesSecret = __webpack_require__(5), checkPropTypes = __webpack_require__(16), has = Function.call.bind(Object.prototype.hasOwnProperty), printWarning = function() {};\n printWarning = function(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n try {\n throw new Error(message);\n } catch (x) {}\n }, module.exports = function(isValidElement, throwOnDirectAccess) {\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (\"function\" == typeof iteratorFn) return iteratorFn;\n }\n function is(x, y) {\n return x === y ? 0 !== x || 1 / x == 1 / y : x !== x && y !== y;\n }\n function PropTypeError(message) {\n this.message = message, this.stack = \"\";\n }\n function createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n if (componentName = componentName || ANONYMOUS, propFullName = propFullName || propName, \n secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n var err = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");\n throw err.name = \"Invariant Violation\", err;\n }\n if (\"undefined\" != typeof console) {\n var cacheKey = componentName + \":\" + propName;\n !manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3 && (printWarning(\"You are manually calling a React.PropTypes validation function for the `\" + propFullName + \"` prop on `\" + componentName + \"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.\"), \n manualPropTypeCallCache[cacheKey] = !0, manualPropTypeWarningCount++);\n }\n }\n return null == props[propName] ? isRequired ? new PropTypeError(null === props[propName] ? \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `null`.\" : \"The \" + location + \" `\" + propFullName + \"` is marked as required in `\" + componentName + \"`, but its value is `undefined`.\") : null : validate(props, propName, componentName, location, propFullName);\n }\n var manualPropTypeCallCache = {}, manualPropTypeWarningCount = 0, chainedCheckType = checkType.bind(null, !1);\n return chainedCheckType.isRequired = checkType.bind(null, !0), chainedCheckType;\n }\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n if (getPropType(propValue) !== expectedType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPreciseType(propValue) + \"` supplied to `\" + componentName + \"`, expected `\" + expectedType + \"`.\");\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside arrayOf.\");\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected an array.\");\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + \"[\" + i + \"]\", ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getClassName(props[propName]) + \"` supplied to `\" + componentName + \"`, expected instance of `\" + expectedClassName + \"`.\");\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createEnumTypeChecker(expectedValues) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var propValue = props[propName], i = 0; i < expectedValues.length; i++) if (is(propValue, expectedValues[i])) return null;\n var valuesString = JSON.stringify(expectedValues, function(key, value) {\n return \"symbol\" === getPreciseType(value) ? String(value) : value;\n });\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of value `\" + String(propValue) + \"` supplied to `\" + componentName + \"`, expected one of \" + valuesString + \".\");\n }\n return Array.isArray(expectedValues) ? createChainableTypeChecker(validate) : (printWarning(arguments.length > 1 ? \"Invalid arguments supplied to oneOf, expected an array, got \" + arguments.length + \" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).\" : \"Invalid argument supplied to oneOf, expected an array.\"), \n emptyFunctionThatReturnsNull);\n }\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (\"function\" != typeof typeChecker) return new PropTypeError(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has invalid PropType notation inside objectOf.\");\n var propValue = props[propName], propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected an object.\");\n for (var key in propValue) if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error instanceof Error) return error;\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n if (null == (0, arrayOfTypeCheckers[i])(props, propName, componentName, location, propFullName, ReactPropTypesSecret)) return null;\n }\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`.\");\n }\n if (!Array.isArray(arrayOfTypeCheckers)) return printWarning(\"Invalid argument supplied to oneOfType, expected an instance of array.\"), \n emptyFunctionThatReturnsNull;\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (\"function\" != typeof checker) return printWarning(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \" + getPostfixForTypeWarning(checker) + \" at index \" + i + \".\"), \n emptyFunctionThatReturnsNull;\n }\n return createChainableTypeChecker(validate);\n }\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName], propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (checker) {\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName], propType = getPropType(propValue);\n if (\"object\" !== propType) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` supplied to `\" + componentName + \"`, expected `object`.\");\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` key `\" + key + \"` supplied to `\" + componentName + \"`.\\nBad object: \" + JSON.stringify(props[propName], null, \" \") + \"\\nValid keys: \" + JSON.stringify(Object.keys(shapeTypes), null, \" \"));\n var error = checker(propValue, key, componentName, location, propFullName + \".\" + key, ReactPropTypesSecret);\n if (error) return error;\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n function isNode(propValue) {\n switch (typeof propValue) {\n case \"number\":\n case \"string\":\n case \"undefined\":\n return !0;\n\n case \"boolean\":\n return !propValue;\n\n case \"object\":\n if (Array.isArray(propValue)) return propValue.every(isNode);\n if (null === propValue || isValidElement(propValue)) return !0;\n var iteratorFn = getIteratorFn(propValue);\n if (!iteratorFn) return !1;\n var step, iterator = iteratorFn.call(propValue);\n if (iteratorFn !== propValue.entries) {\n for (;!(step = iterator.next()).done; ) if (!isNode(step.value)) return !1;\n } else for (;!(step = iterator.next()).done; ) {\n var entry = step.value;\n if (entry && !isNode(entry[1])) return !1;\n }\n return !0;\n\n default:\n return !1;\n }\n }\n function isSymbol(propType, propValue) {\n return \"symbol\" === propType || !!propValue && (\"Symbol\" === propValue[\"@@toStringTag\"] || \"function\" == typeof Symbol && propValue instanceof Symbol);\n }\n function getPropType(propValue) {\n var propType = typeof propValue;\n return Array.isArray(propValue) ? \"array\" : propValue instanceof RegExp ? \"object\" : isSymbol(propType, propValue) ? \"symbol\" : propType;\n }\n function getPreciseType(propValue) {\n if (void 0 === propValue || null === propValue) return \"\" + propValue;\n var propType = getPropType(propValue);\n if (\"object\" === propType) {\n if (propValue instanceof Date) return \"date\";\n if (propValue instanceof RegExp) return \"regexp\";\n }\n return propType;\n }\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case \"array\":\n case \"object\":\n return \"an \" + type;\n\n case \"boolean\":\n case \"date\":\n case \"regexp\":\n return \"a \" + type;\n\n default:\n return type;\n }\n }\n function getClassName(propValue) {\n return propValue.constructor && propValue.constructor.name ? propValue.constructor.name : ANONYMOUS;\n }\n var ITERATOR_SYMBOL = \"function\" == typeof Symbol && Symbol.iterator, FAUX_ITERATOR_SYMBOL = \"@@iterator\", ANONYMOUS = \"<>\", ReactPropTypes = {\n array: createPrimitiveTypeChecker(\"array\"),\n bool: createPrimitiveTypeChecker(\"boolean\"),\n func: createPrimitiveTypeChecker(\"function\"),\n number: createPrimitiveTypeChecker(\"number\"),\n object: createPrimitiveTypeChecker(\"object\"),\n string: createPrimitiveTypeChecker(\"string\"),\n symbol: createPrimitiveTypeChecker(\"symbol\"),\n any: function() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }(),\n arrayOf: createArrayOfTypeChecker,\n element: function() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement.\");\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }(),\n elementType: function() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n return new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + getPropType(propValue) + \"` supplied to `\" + componentName + \"`, expected a single ReactElement type.\");\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }(),\n instanceOf: createInstanceTypeChecker,\n node: function() {\n function validate(props, propName, componentName, location, propFullName) {\n return isNode(props[propName]) ? null : new PropTypeError(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`, expected a ReactNode.\");\n }\n return createChainableTypeChecker(validate);\n }(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker\n };\n return PropTypeError.prototype = Error.prototype, ReactPropTypes.checkPropTypes = checkPropTypes, \n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache, ReactPropTypes.PropTypes = ReactPropTypes, \n ReactPropTypes;\n };\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function toObject(val) {\n if (null === val || void 0 === val) throw new TypeError(\"Object.assign cannot be called with null or undefined\");\n return Object(val);\n }\n /*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n var getOwnPropertySymbols = Object.getOwnPropertySymbols, hasOwnProperty = Object.prototype.hasOwnProperty, propIsEnumerable = Object.prototype.propertyIsEnumerable;\n module.exports = function() {\n try {\n if (!Object.assign) return !1;\n var test1 = new String(\"abc\");\n if (test1[5] = \"de\", \"5\" === Object.getOwnPropertyNames(test1)[0]) return !1;\n for (var test2 = {}, i = 0; i < 10; i++) test2[\"_\" + String.fromCharCode(i)] = i;\n if (\"0123456789\" !== Object.getOwnPropertyNames(test2).map(function(n) {\n return test2[n];\n }).join(\"\")) return !1;\n var test3 = {};\n return \"abcdefghijklmnopqrst\".split(\"\").forEach(function(letter) {\n test3[letter] = letter;\n }), \"abcdefghijklmnopqrst\" === Object.keys(Object.assign({}, test3)).join(\"\");\n } catch (err) {\n return !1;\n }\n }() ? Object.assign : function(target, source) {\n for (var from, symbols, to = toObject(target), s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n for (var key in from) hasOwnProperty.call(from, key) && (to[key] = from[key]);\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) propIsEnumerable.call(from, symbols[i]) && (to[symbols[i]] = from[symbols[i]]);\n }\n }\n return to;\n };\n }, function(module, exports, __webpack_require__) {\n \"use strict\";\n function checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n for (var typeSpecName in typeSpecs) if (has(typeSpecs, typeSpecName)) {\n var error;\n try {\n if (\"function\" != typeof typeSpecs[typeSpecName]) {\n var err = Error((componentName || \"React class\") + \": \" + location + \" type `\" + typeSpecName + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof typeSpecs[typeSpecName] + \"`.\");\n throw err.name = \"Invariant Violation\", err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (!error || error instanceof Error || printWarning((componentName || \"React class\") + \": type specification of \" + location + \" `\" + typeSpecName + \"` is invalid; the type checker function must return `null` or an `Error` but returned a \" + typeof error + \". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"), \n error instanceof Error && !(error.message in loggedTypeFailures)) {\n loggedTypeFailures[error.message] = !0;\n var stack = getStack ? getStack() : \"\";\n printWarning(\"Failed \" + location + \" type: \" + error.message + (null != stack ? stack : \"\"));\n }\n }\n }\n var printWarning = function() {}, ReactPropTypesSecret = __webpack_require__(5), loggedTypeFailures = {}, has = Function.call.bind(Object.prototype.hasOwnProperty);\n printWarning = function(text) {\n var message = \"Warning: \" + text;\n \"undefined\" != typeof console && console.error(message);\n try {\n throw new Error(message);\n } catch (x) {}\n }, checkPropTypes.resetWarningCache = function() {\n loggedTypeFailures = {};\n }, module.exports = checkPropTypes;\n }, function(module, __webpack_exports__, __webpack_require__) {\n \"use strict\";\n function _objectWithoutProperties(source, excluded) {\n if (null == source) return {};\n var key, i, target = _objectWithoutPropertiesLoose(source, excluded);\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) key = sourceSymbolKeys[i], excluded.indexOf(key) >= 0 || Object.prototype.propertyIsEnumerable.call(source, key) && (target[key] = source[key]);\n }\n return target;\n }\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (null == source) return {};\n var key, i, target = {}, sourceKeys = Object.keys(source);\n for (i = 0; i < sourceKeys.length; i++) key = sourceKeys[i], excluded.indexOf(key) >= 0 || (target[key] = source[key]);\n return target;\n }\n function MediaQuery(_ref) {\n var children = _ref.children, device = _ref.device, onChange = _ref.onChange, settings = _objectWithoutProperties(_ref, [ \"children\", \"device\", \"onChange\" ]), matches = Object(__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__.a)(settings, device, onChange);\n return \"function\" == typeof children ? children(matches) : matches ? children : null;\n }\n __webpack_exports__.a = MediaQuery;\n var __WEBPACK_IMPORTED_MODULE_0__useMediaQuery__ = __webpack_require__(0);\n } ]);\n});\n//# sourceMappingURL=react-responsive.js.map","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_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}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component, PureComponent } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { jsx } from '@emotion/core';\nimport { findDOMNode } from 'react-dom';\nimport { c as clearIndicatorCSS, a as containerCSS, b as css, d as dropdownIndicatorCSS, g as groupCSS, e as groupHeadingCSS, i as indicatorsContainerCSS, f as indicatorSeparatorCSS, h as inputCSS, l as loadingIndicatorCSS, j as loadingMessageCSS, m as menuCSS, k as menuListCSS, n as menuPortalCSS, o as multiValueCSS, p as multiValueLabelCSS, q as multiValueRemoveCSS, r as noOptionsMessageCSS, s as optionCSS, t as placeholderCSS, u as css$1, v as valueContainerCSS, w as isTouchCapable, x as isMobileDevice, y as defaultComponents, z as classNames, A as isDocumentElement, B as exportedEqual, C as cleanValue, D as scrollIntoView, E as noop, M as MenuPlacer } from './index-75b02bac.browser.esm.js';\nimport _css from '@emotion/css';\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = stripDiacritics(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"1laao21-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\"\n} : {\n name: \"1laao21-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbi8vIEFzc2lzdGl2ZSB0ZXh0IHRvIGRlc2NyaWJlIHZpc3VhbCBlbGVtZW50cy4gSGlkZGVuIGZvciBzaWdodGVkIHVzZXJzLlxuY29uc3QgQTExeVRleHQgPSAocHJvcHM6IEVsZW1lbnRDb25maWc8J3NwYW4nPikgPT4gKFxuICA8c3BhblxuICAgIGNzcz17e1xuICAgICAgbGFiZWw6ICdhMTF5VGV4dCcsXG4gICAgICB6SW5kZXg6IDk5OTksXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBjbGlwOiAncmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpJyxcbiAgICAgIGhlaWdodDogMSxcbiAgICAgIHdpZHRoOiAxLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBBMTF5VGV4dDtcbiJdfQ== */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nfunction DummyInput(_ref) {\n var inProp = _ref.in,\n out = _ref.out,\n onExited = _ref.onExited,\n appear = _ref.appear,\n enter = _ref.enter,\n exit = _ref.exit,\n innerRef = _ref.innerRef,\n emotion = _ref.emotion,\n props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/_css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRHVtbXlJbnB1dCh7XG4gIGluOiBpblByb3AsXG4gIG91dCxcbiAgb25FeGl0ZWQsXG4gIGFwcGVhcixcbiAgZW50ZXIsXG4gIGV4aXQsXG4gIGlubmVyUmVmLFxuICBlbW90aW9uLFxuICAuLi5wcm9wc1xufTogYW55KSB7XG4gIHJldHVybiAoXG4gICAgPGlucHV0XG4gICAgICByZWY9e2lubmVyUmVmfVxuICAgICAgey4uLnByb3BzfVxuICAgICAgY3NzPXt7XG4gICAgICAgIGxhYmVsOiAnZHVtbXlJbnB1dCcsXG4gICAgICAgIC8vIGdldCByaWQgb2YgYW55IGRlZmF1bHQgc3R5bGVzXG4gICAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICAgICAgb3V0bGluZTogMCxcbiAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgLy8gaW1wb3J0YW50ISB3aXRob3V0IGB3aWR0aGAgYnJvd3NlcnMgd29uJ3QgYWxsb3cgZm9jdXNcbiAgICAgICAgd2lkdGg6IDEsXG5cbiAgICAgICAgLy8gcmVtb3ZlIGN1cnNvciBvbiBkZXNrdG9wXG4gICAgICAgIGNvbG9yOiAndHJhbnNwYXJlbnQnLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gbW9iaWxlIHdoaWxzdCBtYWludGFpbmluZyBcInNjcm9sbCBpbnRvIHZpZXdcIiBiZWhhdmlvdXJcbiAgICAgICAgbGVmdDogLTEwMCxcbiAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDApJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKTtcbn1cbiJdfQ== */\")\n }));\n}\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar NodeResolver = /*#__PURE__*/function (_Component) {\n _inherits(NodeResolver, _Component);\n\n var _super = _createSuper(NodeResolver);\n\n function NodeResolver() {\n _classCallCheck(this, NodeResolver);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NodeResolver, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.innerRef(findDOMNode(this));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.props.innerRef(null);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return NodeResolver;\n}(Component);\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar canUseDOM = !!( window.document && window.document.createElement);\nvar activeScrollLocks = 0;\n\nvar ScrollLock = /*#__PURE__*/function (_Component) {\n _inherits(ScrollLock, _Component);\n\n var _super = _createSuper$1(ScrollLock);\n\n function ScrollLock() {\n var _this;\n\n _classCallCheck(this, ScrollLock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.originalStyles = {};\n _this.listenerOptions = {\n capture: false,\n passive: false\n };\n return _this;\n }\n\n _createClass(ScrollLock, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n if (!canUseDOM) return;\n var _this$props = this.props,\n accountForScrollbars = _this$props.accountForScrollbars,\n touchScrollTarget = _this$props.touchScrollTarget;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n _this2.originalStyles[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(this.originalStyles.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, this.listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, this.listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this3 = this;\n\n if (!canUseDOM) return;\n var _this$props2 = this.props,\n accountForScrollbars = _this$props2.accountForScrollbars,\n touchScrollTarget = _this$props2.touchScrollTarget;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = _this3.originalStyles[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, this.listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, this.listenerOptions);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return ScrollLock;\n}(Component);\n\nScrollLock.defaultProps = {\n accountForScrollbars: true\n};\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _ref$1 = process.env.NODE_ENV === \"production\" ? {\n name: \"1dsbpcp\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\"\n} : {\n name: \"1dsbpcp\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbEJsb2NrLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEVSIsImZpbGUiOiJTY3JvbGxCbG9jay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG4vKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IFB1cmVDb21wb25lbnQsIHR5cGUgRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IE5vZGVSZXNvbHZlciBmcm9tICcuL05vZGVSZXNvbHZlcic7XG5pbXBvcnQgU2Nyb2xsTG9jayBmcm9tICcuL1Njcm9sbExvY2svaW5kZXgnO1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogRWxlbWVudDwqPixcbiAgaXNFbmFibGVkOiBib29sZWFuLFxufTtcbnR5cGUgU3RhdGUgPSB7XG4gIHRvdWNoU2Nyb2xsVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwsXG59O1xuXG4vLyBOT1RFOlxuLy8gV2Ugc2hvdWxkbid0IG5lZWQgdGhpcyBhZnRlciB1cGRhdGluZyB0byBSZWFjdCB2MTYuMy4wLCB3aGljaCBpbnRyb2R1Y2VzOlxuLy8gLSBjcmVhdGVSZWYoKSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjcmVhdGVyZWZcbi8vIC0gZm9yd2FyZFJlZigpIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGZvcndhcmRyZWZcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Nyb2xsQmxvY2sgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBzdGF0ZSA9IHsgdG91Y2hTY3JvbGxUYXJnZXQ6IG51bGwgfTtcblxuICAvLyBtdXN0IGJlIGluIHN0YXRlIHRvIHRyaWdnZXIgYSByZS1yZW5kZXIsIG9ubHkgcnVucyBvbmNlIHBlciBpbnN0YW5jZVxuICBnZXRTY3JvbGxUYXJnZXQgPSAocmVmOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgIGlmIChyZWYgPT09IHRoaXMuc3RhdGUudG91Y2hTY3JvbGxUYXJnZXQpIHJldHVybjtcbiAgICB0aGlzLnNldFN0YXRlKHsgdG91Y2hTY3JvbGxUYXJnZXQ6IHJlZiB9KTtcbiAgfTtcblxuICAvLyB0aGlzIHdpbGwgY2xvc2UgdGhlIG1lbnUgd2hlbiBhIHVzZXIgY2xpY2tzIG91dHNpZGVcbiAgYmx1clNlbGVjdElucHV0ID0gKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGlzRW5hYmxlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHRvdWNoU2Nyb2xsVGFyZ2V0IH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgLy8gYmFpbCBlYXJseSBpZiBub3QgZW5hYmxlZFxuICAgIGlmICghaXNFbmFibGVkKSByZXR1cm4gY2hpbGRyZW47XG5cbiAgICAvKlxuICAgICAqIERpdlxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGJsb2NrcyBzY3JvbGxpbmcgb24gbm9uLWJvZHkgZWxlbWVudHMgYmVoaW5kIHRoZSBtZW51XG5cbiAgICAgKiBOb2RlUmVzb2x2ZXJcbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgKiB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQgdG8gXCJ1bmxvY2tcIiBzY3JvbGwgb25cbiAgICAgKiBtb2JpbGUgZGV2aWNlc1xuXG4gICAgICogU2Nyb2xsTG9ja1xuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGFjdHVhbGx5IGRvZXMgdGhlIHNjcm9sbCBsb2NraW5nXG4gICAgICovXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmJsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgICA8Tm9kZVJlc29sdmVyIGlubmVyUmVmPXt0aGlzLmdldFNjcm9sbFRhcmdldH0+e2NoaWxkcmVufTwvTm9kZVJlc29sdmVyPlxuICAgICAgICB7dG91Y2hTY3JvbGxUYXJnZXQgPyAoXG4gICAgICAgICAgPFNjcm9sbExvY2sgdG91Y2hTY3JvbGxUYXJnZXQ9e3RvdWNoU2Nyb2xsVGFyZ2V0fSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\n// NOTE:\n// We shouldn't need this after updating to React v16.3.0, which introduces:\n// - createRef() https://reactjs.org/docs/react-api.html#reactcreateref\n// - forwardRef() https://reactjs.org/docs/react-api.html#reactforwardref\nvar ScrollBlock = /*#__PURE__*/function (_PureComponent) {\n _inherits(ScrollBlock, _PureComponent);\n\n var _super = _createSuper$2(ScrollBlock);\n\n function ScrollBlock() {\n var _this;\n\n _classCallCheck(this, ScrollBlock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n touchScrollTarget: null\n };\n\n _this.getScrollTarget = function (ref) {\n if (ref === _this.state.touchScrollTarget) return;\n\n _this.setState({\n touchScrollTarget: ref\n });\n };\n\n _this.blurSelectInput = function () {\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n return _this;\n }\n\n _createClass(ScrollBlock, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n isEnabled = _this$props.isEnabled;\n var touchScrollTarget = this.state.touchScrollTarget; // bail early if not enabled\n\n if (!isEnabled) return children;\n /*\n * Div\n * ------------------------------\n * blocks scrolling on non-body elements behind the menu\n * NodeResolver\n * ------------------------------\n * we need a reference to the scrollable element to \"unlock\" scroll on\n * mobile devices\n * ScrollLock\n * ------------------------------\n * actually does the scroll locking\n */\n\n return jsx(\"div\", null, jsx(\"div\", {\n onClick: this.blurSelectInput,\n css: _ref$1\n }), jsx(NodeResolver, {\n innerRef: this.getScrollTarget\n }, children), touchScrollTarget ? jsx(ScrollLock, {\n touchScrollTarget: touchScrollTarget\n }) : null);\n }\n }]);\n\n return ScrollBlock;\n}(PureComponent);\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ScrollCaptor = /*#__PURE__*/function (_Component) {\n _inherits(ScrollCaptor, _Component);\n\n var _super = _createSuper$3(ScrollCaptor);\n\n function ScrollCaptor() {\n var _this;\n\n _classCallCheck(this, ScrollCaptor);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.isBottom = false;\n _this.isTop = false;\n _this.scrollTarget = void 0;\n _this.touchStart = void 0;\n\n _this.cancelScroll = function (event) {\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.handleEventDelta = function (event, delta) {\n var _this$props = _this.props,\n onBottomArrive = _this$props.onBottomArrive,\n onBottomLeave = _this$props.onBottomLeave,\n onTopArrive = _this$props.onTopArrive,\n onTopLeave = _this$props.onTopLeave;\n var _this$scrollTarget = _this.scrollTarget,\n scrollTop = _this$scrollTarget.scrollTop,\n scrollHeight = _this$scrollTarget.scrollHeight,\n clientHeight = _this$scrollTarget.clientHeight;\n var target = _this.scrollTarget;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && _this.isBottom) {\n if (onBottomLeave) onBottomLeave(event);\n _this.isBottom = false;\n }\n\n if (isDeltaPositive && _this.isTop) {\n if (onTopLeave) onTopLeave(event);\n _this.isTop = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !_this.isBottom) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n _this.isBottom = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !_this.isTop) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n _this.isTop = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n _this.cancelScroll(event);\n }\n };\n\n _this.onWheel = function (event) {\n _this.handleEventDelta(event, event.deltaY);\n };\n\n _this.onTouchStart = function (event) {\n // set touch start so we can calculate touchmove delta\n _this.touchStart = event.changedTouches[0].clientY;\n };\n\n _this.onTouchMove = function (event) {\n var deltaY = _this.touchStart - event.changedTouches[0].clientY;\n\n _this.handleEventDelta(event, deltaY);\n };\n\n _this.getScrollTarget = function (ref) {\n _this.scrollTarget = ref;\n };\n\n return _this;\n }\n\n _createClass(ScrollCaptor, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListening(this.scrollTarget);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListening(this.scrollTarget);\n }\n }, {\n key: \"startListening\",\n value: function startListening(el) {\n // bail early if no element is available to attach to\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', this.onWheel, false);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', this.onTouchStart, false);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', this.onTouchMove, false);\n }\n }\n }, {\n key: \"stopListening\",\n value: function stopListening(el) {\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', this.onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', this.onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', this.onTouchMove, false);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(NodeResolver, {\n innerRef: this.getScrollTarget\n }, this.props.children);\n }\n }]);\n\n return ScrollCaptor;\n}(Component);\n\nfunction ScrollCaptorSwitch(_ref) {\n var _ref$isEnabled = _ref.isEnabled,\n isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled,\n props = _objectWithoutProperties(_ref, [\"isEnabled\"]);\n\n return isEnabled ? /*#__PURE__*/React.createElement(ScrollCaptor, props) : props.children;\n}\n\nvar instructionsAriaMessage = function instructionsAriaMessage(event) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var isSearchable = context.isSearchable,\n isMulti = context.isMulti,\n label = context.label,\n isDisabled = context.isDisabled,\n tabSelectsValue = context.tabSelectsValue;\n\n switch (event) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n case 'input':\n return \"\".concat(label ? label : 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n }\n};\nvar valueEventAriaMessage = function valueEventAriaMessage(event, context) {\n var value = context.value,\n isDisabled = context.isDisabled;\n if (!value) return;\n\n switch (event) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(value, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(value, \" is disabled. Select another option.\") : \"option \".concat(value, \", selected.\");\n }\n};\nvar valueFocusAriaMessage = function valueFocusAriaMessage(_ref) {\n var focusedValue = _ref.focusedValue,\n getOptionLabel = _ref.getOptionLabel,\n selectValue = _ref.selectValue;\n return \"value \".concat(getOptionLabel(focusedValue), \" focused, \").concat(selectValue.indexOf(focusedValue) + 1, \" of \").concat(selectValue.length, \".\");\n};\nvar optionFocusAriaMessage = function optionFocusAriaMessage(_ref2) {\n var focusedOption = _ref2.focusedOption,\n getOptionLabel = _ref2.getOptionLabel,\n options = _ref2.options;\n return \"option \".concat(getOptionLabel(focusedOption), \" focused\").concat(focusedOption.isDisabled ? ' disabled' : '', \", \").concat(options.indexOf(focusedOption) + 1, \" of \").concat(options.length, \".\");\n};\nvar resultsAriaMessage = function resultsAriaMessage(_ref3) {\n var inputValue = _ref3.inputValue,\n screenReaderMessage = _ref3.screenReaderMessage;\n return \"\".concat(screenReaderMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n};\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$1,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // initialize with source styles\n var styles = _objectSpread$1({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$4(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$4(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$4() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar defaultProps = {\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component);\n\n var _super = _createSuper$4(Select);\n\n // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.call(this, _props);\n _this.state = {\n ariaLiveSelection: '',\n ariaLiveContext: '',\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n menuOptions: {\n render: [],\n focusable: []\n },\n selectValue: []\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.clearFocusValueOnUpdate = false;\n _this.commonProps = void 0;\n _this.components = void 0;\n _this.hasGroups = false;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.inputIsHiddenAfterUpdate = void 0;\n _this.instancePrefix = '';\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n\n _this.focusedOptionRef = null;\n\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n\n _this.menuListRef = null;\n\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n\n _this.inputRef = null;\n\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n\n _this.cacheComponents = function (components) {\n _this.components = defaultComponents({\n components: components\n });\n };\n\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n onChange(newValue, _objectSpread$2(_objectSpread$2({}, actionMeta), {}, {\n name: name\n }));\n };\n\n _this.setValue = function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.inputIsHiddenAfterUpdate = !isMulti;\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.clearFocusValueOnUpdate = true;\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti;\n var selectValue = _this.state.selectValue;\n\n if (isMulti) {\n if (_this.isOptionSelected(newValue, selectValue)) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n\n _this.announceAriaLiveSelection({\n event: 'deselect-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n if (!_this.isOptionDisabled(newValue, selectValue)) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n // announce that option is disabled\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue),\n isDisabled: true\n }\n });\n }\n }\n } else {\n if (!_this.isOptionDisabled(newValue, selectValue)) {\n _this.setValue(newValue, 'select-option');\n\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n // announce that option is disabled\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue),\n isDisabled: true\n }\n });\n }\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n\n _this.removeValue = function (removedValue) {\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValue = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n\n _this.onChange(newValue.length ? newValue : null, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.announceAriaLiveSelection({\n event: 'remove-value',\n context: {\n value: removedValue ? _this.getOptionLabel(removedValue) : ''\n }\n });\n\n _this.focusInput();\n };\n\n _this.clearValue = function () {\n _this.onChange(null, {\n action: 'clear'\n });\n };\n\n _this.popValue = function () {\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValue = selectValue.slice(0, selectValue.length - 1);\n\n _this.announceAriaLiveSelection({\n event: 'pop-value',\n context: {\n value: lastSelectedValue ? _this.getOptionLabel(lastSelectedValue) : ''\n }\n });\n\n _this.onChange(newValue.length ? newValue : null, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n };\n\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n\n _this.getOptionLabel = function (data) {\n return _this.props.getOptionLabel(data);\n };\n\n _this.getOptionValue = function (data) {\n return _this.props.getOptionValue(data);\n };\n\n _this.getStyles = function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n\n _this.getElementId = function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n };\n\n _this.getActiveDescendentId = function () {\n var menuIsOpen = _this.props.menuIsOpen;\n var _this$state = _this.state,\n menuOptions = _this$state.menuOptions,\n focusedOption = _this$state.focusedOption;\n if (!focusedOption || !menuIsOpen) return undefined;\n var index = menuOptions.focusable.indexOf(focusedOption);\n var option = menuOptions.render[index];\n return option && option.key;\n };\n\n _this.announceAriaLiveSelection = function (_ref2) {\n var event = _ref2.event,\n context = _ref2.context;\n\n _this.setState({\n ariaLiveSelection: valueEventAriaMessage(event, context)\n });\n };\n\n _this.announceAriaLiveContext = function (_ref3) {\n var event = _ref3.event,\n context = _ref3.context;\n\n _this.setState({\n ariaLiveContext: instructionsAriaMessage(event, _objectSpread$2(_objectSpread$2({}, context), {}, {\n label: _this.props['aria-label']\n }))\n });\n };\n\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n };\n\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n\n _this.onControlMouseDown = function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.inputIsHiddenAfterUpdate = !isMulti;\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n\n _this.onTouchStart = function (_ref4) {\n var touches = _ref4.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n\n _this.onTouchMove = function (_ref5) {\n var touches = _ref5.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n };\n\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n };\n\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n };\n\n _this.handleInputChange = function (event) {\n var inputValue = event.currentTarget.value;\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n\n _this.onInputFocus = function (event) {\n var _this$props5 = _this.props,\n isSearchable = _this$props5.isSearchable,\n isMulti = _this$props5.isMulti;\n\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n\n _this.setState({\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n };\n\n _this.onInputBlur = function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n };\n\n _this.shouldHideSelectedOptions = function () {\n var _this$props6 = _this.props,\n hideSelectedOptions = _this$props6.hideSelectedOptions,\n isMulti = _this$props6.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n };\n\n _this.onKeyDown = function (event) {\n var _this$props7 = _this.props,\n isMulti = _this$props7.isMulti,\n backspaceRemovesValue = _this$props7.backspaceRemovesValue,\n escapeClearsValue = _this$props7.escapeClearsValue,\n inputValue = _this$props7.inputValue,\n isClearable = _this$props7.isClearable,\n isDisabled = _this$props7.isDisabled,\n menuIsOpen = _this$props7.menuIsOpen,\n onKeyDown = _this$props7.onKeyDown,\n tabSelectsValue = _this$props7.tabSelectsValue,\n openMenuOnFocus = _this$props7.openMenuOnFocus;\n var _this$state2 = _this.state,\n focusedOption = _this$state2.focusedOption,\n focusedValue = _this$state2.focusedValue,\n selectValue = _this$state2.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n };\n\n _this.buildMenuOptions = function (props, selectValue) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue,\n options = props.options;\n\n var toOption = function toOption(option, id) {\n var isDisabled = _this.isOptionDisabled(option, selectValue);\n\n var isSelected = _this.isOptionSelected(option, selectValue);\n\n var label = _this.getOptionLabel(option);\n\n var value = _this.getOptionValue(option);\n\n if (_this.shouldHideSelectedOptions() && isSelected || !_this.filterOption({\n label: label,\n value: value,\n data: option\n }, inputValue)) {\n return;\n }\n\n var onHover = isDisabled ? undefined : function () {\n return _this.onOptionHover(option);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this.selectOption(option);\n };\n var optionId = \"\".concat(_this.getElementId('option'), \"-\").concat(id);\n return {\n innerProps: {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n },\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: 'option',\n value: value\n };\n };\n\n return options.reduce(function (acc, item, itemIndex) {\n if (item.options) {\n // TODO needs a tidier implementation\n if (!_this.hasGroups) _this.hasGroups = true;\n var items = item.options;\n var children = items.map(function (child, i) {\n var option = toOption(child, \"\".concat(itemIndex, \"-\").concat(i));\n if (option) acc.focusable.push(child);\n return option;\n }).filter(Boolean);\n\n if (children.length) {\n var groupId = \"\".concat(_this.getElementId('group'), \"-\").concat(itemIndex);\n acc.render.push({\n type: 'group',\n key: groupId,\n data: item,\n options: children\n });\n }\n } else {\n var option = toOption(item, \"\".concat(itemIndex));\n\n if (option) {\n acc.render.push(option);\n acc.focusable.push(item);\n }\n }\n\n return acc;\n }, {\n render: [],\n focusable: []\n });\n };\n\n var _value = _props.value;\n _this.cacheComponents = memoizeOne(_this.cacheComponents, exportedEqual).bind(_assertThisInitialized(_this));\n\n _this.cacheComponents(_props.components);\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n\n var _selectValue = cleanValue(_value);\n\n _this.buildMenuOptions = memoizeOne(_this.buildMenuOptions, function (newArgs, lastArgs) {\n var _ref6 = newArgs,\n _ref7 = _slicedToArray(_ref6, 2),\n newProps = _ref7[0],\n newSelectValue = _ref7[1];\n\n var _ref8 = lastArgs,\n _ref9 = _slicedToArray(_ref8, 2),\n lastProps = _ref9[0],\n lastSelectValue = _ref9[1];\n\n return newSelectValue === lastSelectValue && newProps.inputValue === lastProps.inputValue && newProps.options === lastProps.options;\n }).bind(_assertThisInitialized(_this));\n\n var _menuOptions = _props.menuIsOpen ? _this.buildMenuOptions(_props, _selectValue) : {\n render: [],\n focusable: []\n };\n\n _this.state.menuOptions = _menuOptions;\n _this.state.selectValue = _selectValue;\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n var _this$props8 = this.props,\n options = _this$props8.options,\n value = _this$props8.value,\n menuIsOpen = _this$props8.menuIsOpen,\n inputValue = _this$props8.inputValue; // re-cache custom components\n\n this.cacheComponents(nextProps.components); // rebuild the menu options\n\n if (nextProps.value !== value || nextProps.options !== options || nextProps.menuIsOpen !== menuIsOpen || nextProps.inputValue !== inputValue) {\n var selectValue = cleanValue(nextProps.value);\n var menuOptions = nextProps.menuIsOpen ? this.buildMenuOptions(nextProps, selectValue) : {\n render: [],\n focusable: []\n };\n var focusedValue = this.getNextFocusedValue(selectValue);\n var focusedOption = this.getNextFocusedOption(menuOptions.focusable);\n this.setState({\n menuOptions: menuOptions,\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue\n });\n } // some updates should toggle the state of the input visibility\n\n\n if (this.inputIsHiddenAfterUpdate != null) {\n this.setState({\n inputIsHidden: this.inputIsHiddenAfterUpdate\n });\n delete this.inputIsHiddenAfterUpdate;\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props9 = this.props,\n isDisabled = _this$props9.isDisabled,\n menuIsOpen = _this$props9.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programatically disabled while focused\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n }\n }, {\n key: \"onMenuOpen\",\n // ==============================\n // Consumer Handlers\n // ==============================\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n var _this$props10 = this.props,\n isSearchable = _this$props10.isSearchable,\n isMulti = _this$props10.isMulti;\n this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n isFocused = _this$state3.isFocused;\n var menuOptions = this.buildMenuOptions(this.props, selectValue);\n var _this$props11 = this.props,\n isMulti = _this$props11.isMulti,\n tabSelectsValue = _this$props11.tabSelectsValue;\n var openAtIndex = focusOption === 'first' ? 0 : menuOptions.focusable.length - 1;\n\n if (!isMulti) {\n var selectedIndex = menuOptions.focusable.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.inputIsHiddenAfterUpdate = false;\n this.setState({\n menuOptions: menuOptions,\n focusedValue: null,\n focusedOption: menuOptions.focusable[openAtIndex]\n }, function () {\n _this2.onMenuOpen();\n\n _this2.announceAriaLiveContext({\n event: 'menu',\n context: {\n tabSelectsValue: tabSelectsValue\n }\n });\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$props12 = this.props,\n isMulti = _this$props12.isMulti,\n isSearchable = _this$props12.isSearchable;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue; // Only multiselects support value focusing\n\n if (!isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n this.announceAriaLiveContext({\n event: 'value'\n });\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n if (nextFocus === -1) {\n this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var _this$props13 = this.props,\n pageSize = _this$props13.pageSize,\n tabSelectsValue = _this$props13.tabSelectsValue;\n var _this$state5 = this.state,\n focusedOption = _this$state5.focusedOption,\n menuOptions = _this$state5.menuOptions;\n var options = menuOptions.focusable;\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n this.announceAriaLiveContext({\n event: 'menu',\n context: {\n tabSelectsValue: tabSelectsValue\n }\n });\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n this.announceAriaLiveContext({\n event: 'menu',\n context: {\n isDisabled: isOptionDisabled(options[nextFocus]),\n tabSelectsValue: tabSelectsValue\n }\n });\n }\n }, {\n key: \"getTheme\",\n // ==============================\n // Getters\n // ==============================\n value: function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread$2(_objectSpread$2({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getValue = this.getValue,\n setValue = this.setValue,\n selectOption = this.selectOption,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n cx: cx,\n clearValue: clearValue,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n setValue: setValue,\n selectProps: props,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"getNextFocusedValue\",\n value: function getNextFocusedValue(nextSelectValue) {\n if (this.clearFocusValueOnUpdate) {\n this.clearFocusValueOnUpdate = false;\n return null;\n }\n\n var _this$state6 = this.state,\n focusedValue = _this$state6.focusedValue,\n lastSelectValue = _this$state6.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"getNextFocusedOption\",\n value: function getNextFocusedOption(options) {\n var lastFocusedOption = this.state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.state.menuOptions.render.length;\n }\n }, {\n key: \"countOptions\",\n value: function countOptions() {\n return this.state.menuOptions.focusable.length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props14 = this.props,\n isClearable = _this$props14.isClearable,\n isMulti = _this$props14.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return typeof this.props.isOptionDisabled === 'function' ? this.props.isOptionDisabled(option, selectValue) : false;\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n var _this3 = this;\n\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof this.props.isOptionSelected === 'function') {\n return this.props.isOptionSelected(option, selectValue);\n }\n\n var candidate = this.getOptionValue(option);\n return selectValue.some(function (i) {\n return _this3.getOptionValue(i) === candidate;\n });\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return this.props.filterOption ? this.props.filterOption(option, inputValue) : true;\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n // ==============================\n // Composition Handlers\n // ==============================\n value: function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n // ==============================\n // Touch Handlers\n // ==============================\n value: function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"constructAriaLiveMessage\",\n // ==============================\n // Renderers\n // ==============================\n value: function constructAriaLiveMessage() {\n var _this$state7 = this.state,\n ariaLiveContext = _this$state7.ariaLiveContext,\n selectValue = _this$state7.selectValue,\n focusedValue = _this$state7.focusedValue,\n focusedOption = _this$state7.focusedOption;\n var _this$props15 = this.props,\n options = _this$props15.options,\n menuIsOpen = _this$props15.menuIsOpen,\n inputValue = _this$props15.inputValue,\n screenReaderStatus = _this$props15.screenReaderStatus; // An aria live message representing the currently focused value in the select.\n\n var focusedValueMsg = focusedValue ? valueFocusAriaMessage({\n focusedValue: focusedValue,\n getOptionLabel: this.getOptionLabel,\n selectValue: selectValue\n }) : ''; // An aria live message representing the currently focused option in the select.\n\n var focusedOptionMsg = focusedOption && menuIsOpen ? optionFocusAriaMessage({\n focusedOption: focusedOption,\n getOptionLabel: this.getOptionLabel,\n options: options\n }) : ''; // An aria live message representing the set of focusable results and current searchterm/inputvalue.\n\n var resultsMsg = resultsAriaMessage({\n inputValue: inputValue,\n screenReaderMessage: screenReaderStatus({\n count: this.countOptions()\n })\n });\n return \"\".concat(focusedValueMsg, \" \").concat(focusedOptionMsg, \" \").concat(resultsMsg, \" \").concat(ariaLiveContext);\n }\n }, {\n key: \"renderInput\",\n value: function renderInput() {\n var _this$props16 = this.props,\n isDisabled = _this$props16.isDisabled,\n isSearchable = _this$props16.isSearchable,\n inputId = _this$props16.inputId,\n inputValue = _this$props16.inputValue,\n tabIndex = _this$props16.tabIndex,\n form = _this$props16.form;\n var Input = this.components.Input;\n var inputIsHidden = this.state.inputIsHidden;\n var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/React.createElement(DummyInput, _extends({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n\n var _this$commonProps = this.commonProps,\n cx = _this$commonProps.cx,\n theme = _this$commonProps.theme,\n selectProps = _this$commonProps.selectProps;\n return /*#__PURE__*/React.createElement(Input, _extends({\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n cx: cx,\n getStyles: this.getStyles,\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n selectProps: selectProps,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n theme: theme,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this4 = this;\n\n var _this$components = this.components,\n MultiValue = _this$components.MultiValue,\n MultiValueContainer = _this$components.MultiValueContainer,\n MultiValueLabel = _this$components.MultiValueLabel,\n MultiValueRemove = _this$components.MultiValueRemove,\n SingleValue = _this$components.SingleValue,\n Placeholder = _this$components.Placeholder;\n var commonProps = this.commonProps;\n var _this$props17 = this.props,\n controlShouldRenderValue = _this$props17.controlShouldRenderValue,\n isDisabled = _this$props17.isDisabled,\n isMulti = _this$props17.isMulti,\n inputValue = _this$props17.inputValue,\n placeholder = _this$props17.placeholder;\n var _this$state8 = this.state,\n selectValue = _this$state8.selectValue,\n focusedValue = _this$state8.focusedValue,\n isFocused = _this$state8.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: \"\".concat(_this4.getOptionValue(opt)).concat(index),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this4.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this4.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this4.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var ClearIndicator = this.components.ClearIndicator;\n var commonProps = this.commonProps;\n var _this$props18 = this.props,\n isDisabled = _this$props18.isDisabled,\n isLoading = _this$props18.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var LoadingIndicator = this.components.LoadingIndicator;\n var commonProps = this.commonProps;\n var _this$props19 = this.props,\n isDisabled = _this$props19.isDisabled,\n isLoading = _this$props19.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$components2 = this.components,\n DropdownIndicator = _this$components2.DropdownIndicator,\n IndicatorSeparator = _this$components2.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var DropdownIndicator = this.components.DropdownIndicator;\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this5 = this;\n\n var _this$components3 = this.components,\n Group = _this$components3.Group,\n GroupHeading = _this$components3.GroupHeading,\n Menu = _this$components3.Menu,\n MenuList = _this$components3.MenuList,\n MenuPortal = _this$components3.MenuPortal,\n LoadingMessage = _this$components3.LoadingMessage,\n NoOptionsMessage = _this$components3.NoOptionsMessage,\n Option = _this$components3.Option;\n var commonProps = this.commonProps;\n var _this$state9 = this.state,\n focusedOption = _this$state9.focusedOption,\n menuOptions = _this$state9.menuOptions;\n var _this$props20 = this.props,\n captureMenuScroll = _this$props20.captureMenuScroll,\n inputValue = _this$props20.inputValue,\n isLoading = _this$props20.isLoading,\n loadingMessage = _this$props20.loadingMessage,\n minMenuHeight = _this$props20.minMenuHeight,\n maxMenuHeight = _this$props20.maxMenuHeight,\n menuIsOpen = _this$props20.menuIsOpen,\n menuPlacement = _this$props20.menuPlacement,\n menuPosition = _this$props20.menuPosition,\n menuPortalTarget = _this$props20.menuPortalTarget,\n menuShouldBlockScroll = _this$props20.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props20.menuShouldScrollIntoView,\n noOptionsMessage = _this$props20.noOptionsMessage,\n onMenuScrollToTop = _this$props20.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props20.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props) {\n // for performance, the menu options in state aren't changed when the\n // focused option changes so we calculate additional props based on that\n var isFocused = focusedOption === props.data;\n props.innerRef = isFocused ? _this5.getFocusedOptionRef : undefined;\n return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, props, {\n isFocused: isFocused\n }), _this5.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = menuOptions.render.map(function (item) {\n if (item.type === 'group') {\n var type = item.type,\n group = _objectWithoutProperties(item, [\"type\"]);\n\n var headingId = \"\".concat(item.key, \"-heading\");\n return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, group, {\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this5.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option);\n }));\n } else if (item.type === 'option') {\n return render(item);\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref10) {\n var ref = _ref10.ref,\n _ref10$placerProps = _ref10.placerProps,\n placement = _ref10$placerProps.placement,\n maxHeight = _ref10$placerProps.maxHeight;\n return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this5.onMenuMouseDown,\n onMouseMove: _this5.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/React.createElement(ScrollCaptorSwitch, {\n isEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom\n }, /*#__PURE__*/React.createElement(ScrollBlock, {\n isEnabled: menuShouldBlockScroll\n }, /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: _this5.getMenuListRef,\n isLoading: isLoading,\n maxHeight: maxHeight\n }), menuUI))));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this6 = this;\n\n var _this$props21 = this.props,\n delimiter = _this$props21.delimiter,\n isDisabled = _this$props21.isDisabled,\n isMulti = _this$props21.isMulti,\n name = _this$props21.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this6.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this6.getOptionValue(opt)\n });\n }) : /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return /*#__PURE__*/React.createElement(\"div\", null, input);\n }\n } else {\n var _value2 = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value2\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n if (!this.state.isFocused) return null;\n return /*#__PURE__*/React.createElement(A11yText, {\n \"aria-live\": \"polite\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n id: \"aria-selection-event\"\n }, \"\\xA0\", this.state.ariaLiveSelection), /*#__PURE__*/React.createElement(\"span\", {\n id: \"aria-context\"\n }, \"\\xA0\", this.constructAriaLiveMessage()));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$components4 = this.components,\n Control = _this$components4.Control,\n IndicatorsContainer = _this$components4.IndicatorsContainer,\n SelectContainer = _this$components4.SelectContainer,\n ValueContainer = _this$components4.ValueContainer;\n var _this$props22 = this.props,\n className = _this$props22.className,\n id = _this$props22.id,\n isDisabled = _this$props22.isDisabled,\n menuIsOpen = _this$props22.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }]);\n\n return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\n\nexport { Select as S, defaultTheme as a, createFilter as c, defaultProps as d, mergeStyles as m };\n","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport { Component, createContext } from 'react';\nimport { jsx, keyframes, ClassNames } from '@emotion/core';\nimport { createPortal } from 'react-dom';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _css from '@emotion/css';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport AutosizeInput from 'react-input-autosize';\n\n// ==============================\n// NO OP\n// ==============================\nvar noop = function noop() {};\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n}\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n scrollTo(scrollParent, scrollDown);\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty(_ref3, alignToControl(placement), '100%'), _defineProperty(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty(_ref3, \"borderRadius\", borderRadius), _defineProperty(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty(_ref3, \"position\", 'absolute'), _defineProperty(_ref3, \"width\", '100%'), _defineProperty(_ref3, \"zIndex\", 1), _ref3;\n};\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n var _super = _createSuper(MenuPlacer);\n\n function MenuPlacer() {\n var _this;\n\n _classCallCheck(this, MenuPlacer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n };\n\n _this.getPlacement = function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n };\n\n _this.getUpdatedProps = function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread(_objectSpread({}, _this.props), {}, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n };\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className)\n }, innerProps, {\n ref: innerRef\n }), children);\n};\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isMulti = props.isMulti,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n var _super2 = _createSuper(MenuPortal);\n\n function MenuPortal() {\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _this2.state = {\n placement: null\n };\n\n _this2.getPortalPlacement = function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n };\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n controlElement = _this$props2.controlElement,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", {\n css: getStyles('menuPortal', state)\n }, children);\n return jsx(PortalPlacementContext.Provider, {\n value: {\n getPortalPlacement: this.getPortalPlacement\n }\n }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {\n var arrA = isArray(a),\n arrB = isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (arrA != arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length) {\n return false;\n }\n\n for (i = length; i-- !== 0;) {\n if (!hasProp.call(b, keys[i])) return false;\n } // end fast-deep-equal\n // Custom handling for React\n\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n } // fast-deep-equal index.js 2.0.1\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nfunction exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (error.message && error.message.match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n}\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n isMulti = props.isMulti,\n getStyles = props.getStyles,\n hasValue = props.hasValue;\n return jsx(\"div\", {\n css: getStyles('valueContainer', props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n return jsx(\"div\", {\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, children);\n};\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"19bqh2r\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\"\n} : {\n name: \"19bqh2r\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }), children || jsx(DownChevron, null));\n};\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\nvar loadingDotAnimations = keyframes(_templateObject());\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/_css({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", {\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\nvar GroupHeading = function GroupHeading(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n theme = props.theme,\n selectProps = props.selectProps,\n cleanProps = _objectWithoutProperties(props, [\"className\", \"cx\", \"getStyles\", \"theme\", \"selectProps\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', _objectSpread$1({\n theme: theme\n }, cleanProps)),\n className: cx({\n 'group-heading': true\n }, className)\n }, cleanProps));\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(_ref2) {\n var className = _ref2.className,\n cx = _ref2.cx,\n getStyles = _ref2.getStyles,\n innerRef = _ref2.innerRef,\n isHidden = _ref2.isHidden,\n isDisabled = _ref2.isDisabled,\n theme = _ref2.theme,\n selectProps = _ref2.selectProps,\n props = _objectWithoutProperties(_ref2, [\"className\", \"cx\", \"getStyles\", \"innerRef\", \"isHidden\", \"isDisabled\", \"theme\", \"selectProps\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', _objectSpread$2({\n theme: theme\n }, props))\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, props)));\n};\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n}\n\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n className = props.className,\n components = props.components,\n cx = props.cx,\n data = props.data,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref6) {\n var css = _ref6.css,\n emotionCx = _ref6.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread$3(_objectSpread$3({}, innerProps), {}, {\n className: emotionCx(css(getStyles('multiValue', props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread$3({\n className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n};\n\nMultiValue.defaultProps = {\n cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread$4(_objectSpread$4({}, components), props.components);\n};\n\nexport { isDocumentElement as A, exportedEqual as B, cleanValue as C, scrollIntoView as D, noop as E, components as F, handleInputChange as G, MenuPlacer as M, containerCSS as a, css as b, clearIndicatorCSS as c, dropdownIndicatorCSS as d, groupHeadingCSS as e, indicatorSeparatorCSS as f, groupCSS as g, inputCSS as h, indicatorsContainerCSS as i, loadingMessageCSS as j, menuListCSS as k, loadingIndicatorCSS as l, menuCSS as m, menuPortalCSS as n, multiValueCSS as o, multiValueLabelCSS as p, multiValueRemoveCSS as q, noOptionsMessageCSS as r, optionCSS as s, placeholderCSS as t, css$1 as u, valueContainerCSS as v, isTouchCapable as w, isMobileDevice as x, defaultComponents as y, classNames as z };\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n defaultInputValue = _this$props2.defaultInputValue,\n defaultMenuIsOpen = _this$props2.defaultMenuIsOpen,\n defaultValue = _this$props2.defaultValue,\n props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _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 _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _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 _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nvar index = (function (condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n }\n\n throw new Error(prefix + ': ' + (message || ''));\n});\n\nexport default index;\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/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __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}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _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++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _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}"],"names":["ContextTypes","getAtlaskitAnalyticsEventHandlers","getAtlaskitAnalyticsContext","noop","AnalyticsListener","Component","constructor","props","super","this","getAnalyticsEventHandlers","channel","onEvent","context","event","eventChannel","contextValue","render","children","value","ExportedAnalyticsListener","compactButtonHeight","gridSize","fontSize","buttonHeight","getBackground","applyPropertyStyle","baseTheme","getBoxShadow","getColor","getCursor","state","getHeight","spacing","getLineHeight","getPadding","getTextDecoration","appearance","getTransition","getTransitionDuration","getVerticalAlign","getWidth","shouldFitContainer","staticStyles","alignItems","borderWidth","boxSizing","display","fontStyle","fontWeight","maxWidth","outline","textAlign","textDecoration","whiteSpace","mapAttributesToState","isDisabled","isActive","isFocus","isHover","isSelected","getLoadingStyle","isLoading","transition","opacity","composeRefs","refs","x","filter","r","forEach","ref","current","hex2rgba","hex","alpha","test","colorArr","substring","split","length","color","join","Error","fallbacks","background","light","colors","N20A","dark","DN70","N400","DN400","default","hover","N30A","DN60","active","B75","disabled","selected","N700","DN0","focusSelected","primary","B400","B100","B300","B500","B200","warning","Y300","Y200","Y400","danger","R400","R300","R500","link","N20","subtle","boxShadowColor","focus","Y500","R100","N500","N70","DN30","N0","N800","DN100","N200","N90","B50","DN300","property","mode","theme","propertyStyles","appearanceStyles","stateStyles","createTheme","themeProps","buttonStyles","borderRadius","boxShadow","cursor","height","lineHeight","padding","transitionDuration","verticalAlign","width","border","margin","pointerEvents","spinnerStyles","position","left","top","transform","followsIcon","rest","jsx","Object","assign","css","alignSelf","flex","overflow","textOverflow","icon","isOnlyChild","flexShrink","userSelect","fit","flexWrap","justifyContent","appearances","LoadingSpinner","arguments","invertSpinner","undefined","indexOf","styles","spinnerSize","size","Button","button","getComposedRefs","isInteractive","onMouseEnter","e","setState","onMouseLeave","onMouseDown","preventDefault","onMouseUp","onFocus","onBlur","getElement","href","onInnerClick","stopPropagation","componentDidMount","autoFocus","HTMLButtonElement","className","component","CustomComponent","consumerRef","iconAfter","iconBefore","testId","attributes","StyledButton","iconIsOnlyChild","createAnalyticsEvent","type","target","filterProps","InnerWrapper","onClick","IconWrapper","Content","defaultProps","createAndFireEventOnAtlaskit","createAndFireEvent","ButtonWithRef","displayName","withAnalyticsContext","componentName","packageName","packageVersion","withAnalyticsEvents","action","actionSubject","_super","AnalyticsContext","_this","call","getChildContext","getAnalyticsContext","data","ancestorData","__spread","__extends","prototype","Children","contextTypes","childContextTypes","AnalyticsEvent","clone","payload","JSON","parse","stringify","update","updater","__assign","UIAnalyticsEvent","hasFired","console","warn","handlers","fire","handler","consumerEvent","clonedEvent","defaultData","WrappedComponent","WithAnalyticsContext","_a","analyticsContext","__rest","analyticsData","name","AnalyticsContextConsumer","originalEventProps","patchedEventProps","updatePatchedEventProps","changedPropCallbacks","keys","createEventMap","p","mapCreateEventsToProps","changedPropNames","reduce","modified","propCallbackName","eventCreator","providedCallback","includes","args","_i","analyticsEvent","apply","wrappedComponentProps","WithAnalyticsEvents","presetSizes","xsmall","small","medium","large","xlarge","rotate","keyframes","loadIn","delay","providedSize","tokens","strokeColor","DN900","DN500","getStrokeColor","focusable","viewBox","xmlns","cx","cy","R50","R75","R200","Y50","Y75","Y100","G50","G75","G100","G200","G300","G400","G500","P50","P75","P100","P200","P300","P400","P500","T50","T75","T100","T200","T300","T400","T500","N10","N30","N40","N50","N60","N80","N100","N300","N600","N900","N10A","N40A","N50A","N60A","N70A","N80A","N90A","N100A","N200A","N300A","N400A","N500A","N600A","N700A","N800A","DN800","DN700","DN600","DN200","DN90","DN80","DN50","DN40","DN20","DN10","DN800A","DN700A","DN600A","DN500A","DN400A","DN300A","DN200A","DN100A","DN90A","DN80A","DN70A","DN60A","DN50A","DN40A","DN30A","DN20A","DN10A","backgroundActive","backgroundHover","backgroundOnLayer","text","textHover","textActive","subtleText","placeholderText","heading","subtleHeading","codeBlock","linkHover","linkActive","linkOutline","blue","teal","purple","red","yellow","green","skeleton","FLATTENED","CHANNEL","DEFAULT_THEME_MODE","THEME_MODES","fontSizeSmall","fontFamily","codeFontFamily","focusRing","outlineWidth","noFocusRing","layers","card","dialog","navigation","layer","blanket","modal","flag","spotlight","tooltip","visuallyHidden","clip","assistive","skeletonShimmer","backgroundColor","animationDuration","animationIterationCount","animationTimingFunction","animationDirection","from","to","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","createContext","Consumer","useContext","Provider","themeFn","valueFn","mixedFn","useCallback","getTheme","__ATLASKIT_THEME__","themed","modesOrVariant","variantModes","variantProp","variants","modes","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","getDerivedStateFromProps","_ref","prevState","_proto","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","timeout","mounting","performEnter","performExit","_this2","appearing","_ref2","nodeRef","maybeNode","maybeAppearing","timeouts","enterTimeout","onEnter","safeSetState","onEntering","onTransitionEnd","onEntered","_this3","onExit","onExiting","onExited","cancel","nextState","callback","setNextCallback","_this4","node","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","setTimeout","_this$props","childProps","TransitionGroupContext","contextType","propTypes","getChildMapping","mapFn","result","create","c","child","key","isValidElement","mapper","getProp","prop","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","prev","next","getValueForKey","i","nextKeysPending","pendingKeys","prevKey","push","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","hasNext","prevChild","isLeaving","cloneElement","bind","values","obj","map","k","TransitionGroup","handleExited","firstRender","mounted","currentChildMapping","childFactory","AnimatedInput","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","defineProperty","Fade","Tag","_ref$duration","duration","inProp","entering","entered","concat","exiting","exited","innerProps","style","Collapse","_Component","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","_isNativeReflectConstruct","Super","NewTarget","_len","Array","_key","rafID","isNaN","window","requestAnimationFrame","getBoundingClientRect","getStyle","cancelAnimationFrame","AnimatedMultiValue","cropWithEllipsis","AnimatedPlaceholder","isMulti","AnimatedSingleValue","AnimatedValueContainer","ownKeys$1","_objectSpread$1","makeAnimated","externalComponents","components","Input","MultiValue","Placeholder","SingleValue","ValueContainer","AnimatedComponents","SIZES_MAP","DEFAULT_SIZE","keyframeNames","templateObject_1","__makeTemplateObject","enterRotate","templateObject_2","leaveRotate","templateObject_3","leaveOpacity","templateObject_4","getSize","Container","templateObject_8","phase","templateObject_5","templateObject_6","templateObject_7","getStrokeWidth","Math","round","getStrokeCircumference","strokeRadius","PI","enterOpacity","smallEnterStroke","mediumEnterStroke","largeEnterStroke","xlargeEnterStroke","spinnerColor","spinnerColorInverted","invertColor","svgStyles","templateObject_12","circumference","templateObject_11","animProps","baseAnimation","templateObject_9","standardSizeName","find","sizeName","getEnterStrokeKeyframe","templateObject_10","Svg","templateObject_13","Outer","Spinner","transitionNode","idle","endListener","done","executeCallback","tagName","removeEventListener","addEventListener","validateSize","isCompleting","onComplete","ClearIndicator","primaryColor","DropdownIndicator","LoadingIndicator","getStyles","MultiValueRemove","secondaryColor","IndicatorSeparator","baseStyles","validationState","isCompact","control","isFocused","borderColor","borderColorHover","borderStyle","minHeight","msOverflowStyle","valueContainer","paddingLeft","paddingRight","paddingBottom","paddingTop","clearIndicator","loadingIndicator","dropdownIndicator","indicatorsContainer","paddingExcludingBorder","option","placeholder","singleValue","_ref4","menuList","multiValue","multiValueLabel","multiValueRemove","_ref5","createSelect","_class","_temp","AtlaskitSelect","enableAnimation","select","innerRef","cacheComponents","blur","onSelectRef","m","onClickPreventDefault","tabSelectsValue","exports","tslib_1","react_1","__importStar","styled_components_1","__importDefault","uuid_1","colors_1","constants_1","sizes","span","Icon","insertDynamicGradientID","svgStr","id","replace","Glyph","glyph","dangerouslySetGlyph","createElement","label","dangerouslySetInnerHTML","__html","role","sizeMap","_react","_interopRequireDefault","_Icon","__esModule","_extends","hasOwnProperty","HipchatChevronDownIcon","_default","SelectClearIcon","_getPrototypeOf2","_superPropBase","getPrototypeOf","_get","get","receiver","base","desc","_AnalyticsEvent","_props","_this$context","elemAfterInput","elemBeforeInput","forwardedRef","isReadOnly","isHovered","isInvalid","isMonospaced","isRequired","container","readOnly","required","input","disabledBackgroundColor","defaultBackgroundColor","defaultBackgroundColorFocus","defaultBackgroundColorHover","defaultBorderColor","defaultBorderColorFocus","transparent","textColor","placeholderTextColor","disabledRules","backgroundColorFocus","backgroundColorHover","borderColorFocus","invalidRules","standard","none","getContainerBorderColor","getPlaceholderColor","getPlaceholderStyle","getMaxWidth","wordWrap","minWidth","WebkitTextFillColor","WebkitOpacity","Textfield","document","activeElement","_this$state","setInputRef","handleOnFocus","handleOnBlur","handleOnMouseDown","ForwardRefTextfield","_props$analyticsConte","others","ManagerReferenceNodeContext","setRef","fn","safeInvoke","initialStyle","initialArrowStyle","InnerPopper","placement","popperNode","updatePopperInstance","arrowNode","enabled","order","eventsEnabled","positionFixed","modifiers","arrow","element","applyStyle","updateStateModifier","offsets","popper","arrowStyles","hide","popperInstance","destroy","destroyPopperInstance","referenceElement","getOptions","scheduleUpdate","enableEventListeners","disableEventListeners","arg","isArray","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","referenceNode","FlipBehavior","auto","right","bottom","Popper","getModifiers","side","flip","behavior","boundariesElement","offset","preventOverflow","escapeWithReference","createContainer","zIndex","setAttribute","getBody","body","zIndexToName","acc","layerName","getLayerName","firePortalEvent","eventName","detail","Number","CustomEvent","createEvent","params","bubbles","cancellable","initCustomEvent","getEvent","dispatchEvent","getPortalParent","parentElement","querySelector","parent","appendChild","Portal","canUseDOM","portalIsMounted","newContainer","replaceChild","removeChild","TooltipPrimitive","Tooltip","truncate","defaultStyle","transitionStyle","immediatelyHide","immediatelyShow","hoveredPayload","unhoveredPayload","SCROLL_OPTIONS","capture","passive","getMousePosition","mouseCoordinates","safeMouse","clientWidth","clientHeight","pendingHide","wrapperRef","targetRef","cancelPendingSetState","userInteraction","isVisible","renderTooltip","handleWindowScroll","handleMouseClick","hideTooltipOnClick","handleMouseDown","hideTooltipOnMouseDown","handleMouseOver","fakeMouseElement","clientX","clientY","handleShowTooltip","handleFocus","Boolean","content","defaultDelay","isHidePending","pending","flush","showTooltip","handleHideTooltip","flushed","handleMouseMove","removeScrollListener","_prevProps","onShow","onHide","shouldPositionTooltipNearMouse","mousePosition","TooltipContainer","tag","TargetContainer","tooltipPosition","onMouseOver","onMouseOut","onMouseMove","getAnimationStyles","_interopRequireWildcard","_defineProperty2","_classCallCheck2","_createClass2","_possibleConstructorReturn2","_inherits2","_styledComponents","_uuid","_theme","_constants","withConfig","componentId","QuestionCircleIcon","colorPalette8","colorPalette16","colorPalette24","colorPalette","palette","e100","e200","e300","e400","e500","baseHeading","headingSizes","h900","h800","h700","h600","h500","h400","h300","h200","h100","add","addend","subtract","subtrahend","multiply","factor","divide","divisor","getStylesheetResetCSS","buildThemeState","LegacyReset","AtlaskitThemeProvider","getThemeMode","hasAtlaskitThemeProvider","UNSAFE_componentWillMount","stylesheet","innerHTML","head","UNSAFE_componentWillReceiveProps","newProps","newThemeState","Theme","ThemeProvider","merged","orTextColor","preferred","Div","ResetTheme","linkColor","linkColorHover","linkColorActive","linkColorOutline","headingColor","subtleHeadingColor","subtleTextColor","Reset","withTheme","InnerComponent","AtlasKitThemeProvider","Label","styled","selectedColor","borderBottomStyle","Toggle","ariaLabel","isRight","React","Track","Thumb","RADIUS","WIDTH","defaultTheme","Switch","defaultTogglePosition","onChange","useMemo","uniqueId","togglePosition","setTogglePosition","useState","selectedItem","toggleRef","useRef","selectTogglePosition","selectedTogglePosition","createLabelOnClickMouseEventHandler","onKeyDown","keyCode","htmlFor","S","SelectWithoutAnalytics","EditionType","PricingEditionDropdownContainer","selectStyles","menuIsOpen","EditionSelect","editions","defaultEdition","onEditionChange","Select","classNamePrefix","options","defaultValue","getOptionLabel","mapEditionToLabel","getOptionValue","isSearchable","createSelectOnChangeEventHandler","FREE","FormattedMessage","messages","free","STANDARD","PREMIUM","premium","ENTERPRISE","enterprise","edition","newProductKey","productKey","defaultMessage","activePeriod","onPeriodChange","PricingPeriod","monthlyToggleLabel","annualToggleLabel","newPeriod","first","collection","last","Currency","currencyIsoCode","minimumFractionDigits","defaultMinimumFractionDigits","maximumFractionDigits","FormattedNumber","currency","isInteger","PricingSummaryContainer","MonthlyTotal","PriceDescriptionContainer","PriceDescription","PricingSummary","calculation","breakdown","total","period","units","breakdownItem","tier","pricingStrategy","unitLimitLower","unitLimitUpper","totalFormatted","summaryFreeHeading","summaryMonthlyHeading","summaryAnnualHeading","summaryMonthlyPrice","summaryAnnualPriceDescriptionFC","summaryMonthlyPriceDescriptionFree","summaryMonthlyPriceDescriptionFC","PricingStrategy","summaryMonthlyPriceDescriptionMPU","priceDescription","averagePrice","summaryUnitsDescriptionFC","summaryUnitsDescriptionMPU","unitsDescription","showBreakdown","onBreakdownToggle","hideBreakDown","showBreakDown","BORDER_COLOR","Title","ComparisonLink","BreakdownItemContainer","Operator","Header","UnitPriceContainer","UnitPrice","PricingDetails","Fragment","unitPrice","index","breakdownUnitRange","breakdownUnitPrice","breakdownUnits","Labels","breakpoints","firstBreakpoint","firstBreakpointLabel","breakpoint","calculatePosition","trackWidth","segment","min","max","lastBreakpoint","infer","Coefficients","radius","trackGutter","center","y","fill","x1","y1","x2","y2","stroke","TrackDivision","trackHeight","isLeftOuterSegment","isRightOuterSegment","TrackSVGDef","totalTrackWidth","thumbRadius","stopColor","stopOpacity","patternUnits","pricingPlan","tiers","isInBreakpoints","onUnitsChange","clientRect","onMouseEvent","percentage","pointToPoint","calculateUnits","createMouseEventHandler","useEffect","useOnMouseDown","tabIndex","nativeEvent","sliderValue","PricingPlanSlider","onValueChange","onResizeRef","setClientRect","onResize","useBoundingClientRectRef","SliderWithAnalytics","SanitizedHtml","sanitizeHtml","SanitizedFormattedHtmlMessage","messageDescriptor","escapeValues","html","mapValues","escape","AnnualBillingMessage","annualBillingHtml","MonthlyBillingMessage","users","starterTierPrice","firstTierPrice","starterMessageBreakpointUnitCount","perUserMessageBreakpointUnitCount","monthlyBillingFreeHtml","formattedStarterTierPrice","formattedFirstTierPrice","monthlyBillingStarterStandardHtml","monthlyBillingOver100UsersHtml","monthlyBillingHtml","BillingMessage","TooltipElement","UnitsTextField","minUnits","maxUnits","unitsText","setUnitsText","whatIsAUser","howManyUsers","newUnits","parseInt","lower","upper","userBoxValue","EnterpriseCtaContainer","EnterpriseCtaContainerText","ctaBtnStyle","EnterpriseEditionCta","ctaURL","talkToSales","ctaUrl","location","ctaLabel","ID_PREFIX","defineMessages","loading","priceCalculator","comparePlans","Root","InputsContainer","LeftColumn","RightColumn","PricingPlanSliderContainer","SingleEditionPricingPlanSliderContainer","PricingContainer","PeriodSwitchContainer","PricingBreakdownToggleContainer","PricingDetailsContainer","BillingMessageContainer","Equals","DesktopPricingCalculator","comparisonLink","isBreakdownVisible","onBreakdownVisibilityToggle","showNumUnitsTooltip","overrideMaxUnits","hidePeriodSwitch","enterpriseEditionSelected","hideBillingMessaging","isBreakdownToggleVisible","priceTier","priceObj","prices","price","PeriodSwitchWithAnalytics","PricingBreakdownToggleWithAnalytics","PricingBreakdownContainer","MobilePricingCalculator","DEFAULT_BREAKPOINTS","PricingCalculator","defaultEditionType","layout","defaultPeriod","defaultUnits","defaultBreakdownVisibility","intl","activeEdition","setEdition","setEnterpriseEditionSelected","setPeriod","setUnits","setIsBreakdownVisible","selectedEdition","usePricing","locale","toUpperCase","DEFAULT_CURRENCY_ISO_CODE","defaultCurrencyIsoCode","isPending","adjBreakpoints","finalBreakpoints","slice","injectIntl","sendAnalytics","analytic","eventPayload","tracking","log","setCurrencyIsoCode","labels","forceCurrencyIsoCode","LOCALIZED_PRICING_USE_GEO_CURRENCY","LOCALE_TO_CURRENCY","useGeoCurrency","pricingStore","useBundleContext","wacMobileBreakpoint","documentElement","lang","LOCALE_CACHE_KEY","US","JP","useAsync","Promise","resolve","currentLocale","sessionStorage","getItem","fetch","Environment","then","response","json","countryIsoCode","setItem","productCatalogClient","ProductCatalogClient","space","LOCALIZED_PRICING_CONTENTFUL_SPACE","environment","LOCALIZED_PRICING_CONTENTFUL_ENVIRONMENT","accessToken","LOCALIZED_PRICING_CONTENTFUL_ACCESS_TOKEN","ccpProductCatalogClient","CCPProductCatalogClient","LOCALIZED_CCP_PRICING_CONTENTFUL_ENVIRONMENT","LOCALIZED_CCP_PRICING_CONTENTFUL_ACCESS_TOKEN","ProductPricingStore","BundleContext","_propTypes2","_gud2","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","writable","configurable","setPrototypeOf","__proto__","MAX_SIGNED_31_BIT_INT","createEventEmitter","on","off","h","set","newValue","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","emitter","componentWillReceiveProps","oldValue","_Component2","_temp2","_len2","_key2","getValue","onUpdate","observedBits","module","_react2","_implementation2","classList","_hasClass","baseVal","contains","replaceClassName","origClass","classToRemove","RegExp","remove","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","timeoutId","clearTimer","clearTimeout","factory","g","safeIsNaN","areInputsEqual","newInputs","lastInputs","second","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","isBrowser","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","called","scheduled","isFunction","functionToCheck","getStyleComputedProperty","nodeType","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","_getStyleComputedProp","overflowX","overflowY","getReferenceNode","reference","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","scrollingElement","includeScroll","rect","scrollTop","scrollLeft","modifier","getBordersSize","axis","sideA","sideB","parseFloat","computedStyle","getWindowSizes","classCallCheck","createClass","descriptor","protoProps","staticProps","getClientRect","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","el","getBoundaries","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","sort","a","b","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","runModifiers","ends","findIndex","cur","match","isDestroyed","flipped","originalPlacement","isCreated","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","prefix","toCheck","removeAttribute","willChange","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","isNumeric","n","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","Defaults","shift","basePlacement","shiftvariation","_data$offsets","isVertical","shiftOffsets","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","str","toValue","index2","parseOffset","transformProp","popperStyles","priority","secondary","keepTogether","floor","opSide","_data$offsets$arrow","arrowElement","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","onLoad","modifierOptions","jquery","Utils","PopperUtils","keyList","hasProp","hasElementType","Element","equal","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","$$typeof","error","message","number","_createClass","sizerStyle","visibility","INPUT_PROPS_BLACKLIST","copyStyles","letterSpacing","textTransform","generateId","random","substr","AutosizeInput","inputRef","placeHolderSizerRef","placeHolderSizer","sizerRef","sizer","inputWidth","inputId","prevId","copyInputStyles","updateInputWidth","onAutosize","inputStyles","scrollWidth","newInputWidth","placeholderIsMinWidth","extraWidth","injectStyles","sizerValue","previousValue","currentValue","wrapperStyle","inputStyle","inputProps","_objectWithoutProperties","field","cleanInputProps","inputClassName","renderStyles","string","any","oneOfType","bool","func","componentWillMount","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","_reactDom","NodeResolver","findDOMNode","_NodeResolver","__WEBPACK_EXTERNAL_MODULE_1__","modules","moduleId","installedModules","l","d","getter","o","s","__webpack_exports__","_slicedToArray","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","_s","err","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery__","__WEBPACK_IMPORTED_MODULE_1_matchmediaquery___default","__WEBPACK_IMPORTED_MODULE_2_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects__","__WEBPACK_IMPORTED_MODULE_3_shallow_equal_objects___default","__WEBPACK_IMPORTED_MODULE_4__toQuery__","__WEBPACK_IMPORTED_MODULE_5__Context__","hyphenateKeys","useIsUpdate","useQuery","settings","getQuery","query","makeQuery","_React$useState4","setQuery","newQuery","device","deviceSettings","deviceFromProps","deviceFromContext","getDevice","_React$useState2","setDevice","newDevice","useDevice","mq","getMatchMedia","_React$useState6","setMq","isUpdate","dispose","useMatchMedia","matches","mediaQuery","_React$useState8","setMatches","updateMatches","addListener","removeListener","useMatches","__webpack_require__","toHyphenLower","uppercasePattern","msPattern","cache","hName","__WEBPACK_IMPORTED_MODULE_0_hyphenate_style_name__","__WEBPACK_IMPORTED_MODULE_1__mediaQuery__","rules","all","realKey","keyVal","Context","__WEBPACK_IMPORTED_MODULE_0__useMediaQuery__","__WEBPACK_IMPORTED_MODULE_1__Component__","__WEBPACK_IMPORTED_MODULE_2__toQuery__","__WEBPACK_IMPORTED_MODULE_3__Context__","Mql","forceStatic","evt","media","dynamicMatch","mql","staticMatch","listener","matchMedia","parseQuery","captures","RE_MEDIA_QUERY","expressions","parsed","inverse","expression","RE_MQ_EXPRESSION","feature","RE_MQ_FEATURE","toDecimal","ratio","numbers","decimal","toDpi","resolution","String","RE_RESOLUTION_UNIT","toPx","RE_LENGTH_UNIT","typeMatch","expressionsMatch","every","expValue","objA","objB","aKeys","bKeys","_defineProperty","__WEBPACK_IMPORTED_MODULE_0_prop_types__","__WEBPACK_IMPORTED_MODULE_0_prop_types___default","stringOrNumber","matchers","orientation","oneOf","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","maxHeight","minDeviceHeight","maxDeviceHeight","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","types","grid","aural","braille","handheld","print","projection","tty","tv","embossed","ReactIs","isElement","typeOf","REACT_ELEMENT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","$$typeofType","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_LAZY_TYPE","REACT_MEMO_TYPE","REACT_PROVIDER_TYPE","REACT_PORTAL_TYPE","isConcurrentMode","hasSymbol","for","REACT_SUSPENSE_LIST_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Lazy","Memo","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","emptyFunctionThatReturnsNull","printWarning","ReactPropTypesSecret","checkPropTypes","has","Function","throwOnDirectAccess","is","PropTypeError","stack","createChainableTypeChecker","validate","checkType","propName","propFullName","secret","ANONYMOUS","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","createPrimitiveTypeChecker","expectedType","propValue","getPropType","getPreciseType","isNode","iteratorFn","maybeIterable","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","entries","entry","propType","isSymbol","getPostfixForTypeWarning","ReactPropTypes","array","symbol","arrayOf","typeChecker","elementType","instanceOf","expectedClass","expectedClassName","objectOf","expectedValues","valuesString","arrayOfTypeCheckers","checker","shape","shapeTypes","exact","allKeys","resetWarningCache","PropTypes","toObject","val","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","typeSpecs","getStack","typeSpecName","ex","loggedTypeFailures","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","unsupportedIterableToArray","diacritics","letters","anyDiacritic","diacriticToBase","diacritic","j","stripDiacritics","trimString","defaultStringify","A11yText","DummyInput","out","emotion","STYLE_KEYS","LOCK_STYLES","preventTouchMove","allowTouchMove","preventInertiaScroll","totalScroll","scrollHeight","currentScroll","isTouchDevice","maxTouchPoints","activeScrollLocks","ScrollLock","_isNativeReflectConstruct$1","originalStyles","listenerOptions","accountForScrollbars","touchScrollTarget","targetStyle","currentPadding","adjustedPadding","_this$props2","_ref$1","ScrollBlock","_PureComponent","_isNativeReflectConstruct$2","getScrollTarget","blurSelectInput","isEnabled","PureComponent","ScrollCaptor","_isNativeReflectConstruct$3","isBottom","isTop","scrollTarget","touchStart","cancelScroll","handleEventDelta","delta","onBottomArrive","onBottomLeave","onTopArrive","onTopLeave","_this$scrollTarget","isDeltaPositive","availableScroll","shouldCancelScroll","onWheel","deltaY","onTouchStart","changedTouches","onTouchMove","startListening","stopListening","ScrollCaptorSwitch","_ref$isEnabled","instructionsAriaMessage","valueEventAriaMessage","isOptionDisabled","defaultStyles","group","groupHeading","indicatorSeparator","loadingMessage","menu","menuPortal","noOptionsMessage","mergeStyles","rsCss","primary75","primary50","primary25","dangerLight","neutral0","neutral5","neutral10","neutral20","neutral30","neutral40","neutral50","neutral60","neutral70","neutral80","neutral90","baseUnit","controlHeight","menuGutter","ownKeys$2","_objectSpread$2","backspaceRemovesValue","blurInputOnSelect","captureMenuScroll","closeMenuOnSelect","closeMenuOnScroll","controlShouldRenderValue","escapeClearsValue","filterOption","rawInput","_ignoreCase$ignoreAcc","ignoreCase","ignoreAccents","matchFrom","config","candidate","formatGroupLabel","isRtl","maxMenuHeight","minMenuHeight","menuPlacement","menuPosition","menuShouldBlockScroll","menuShouldScrollIntoView","openMenuOnFocus","openMenuOnClick","pageSize","screenReaderStatus","count","instanceId","_isNativeReflectConstruct$4","ariaLiveSelection","ariaLiveContext","focusedOption","focusedValue","inputIsHidden","menuOptions","selectValue","blockOptionHover","isComposing","clearFocusValueOnUpdate","commonProps","hasGroups","initialTouchX","initialTouchY","inputIsHiddenAfterUpdate","instancePrefix","openAfterFocus","scrollToFocusedOptionOnUpdate","userIsDragging","controlRef","getControlRef","focusedOptionRef","getFocusedOptionRef","menuListRef","getMenuListRef","getInputRef","focusInput","blurInput","actionMeta","setValue","onInputChange","onMenuClose","selectOption","_this$props3","isOptionSelected","announceAriaLiveSelection","removeValue","removedValue","clearValue","popValue","lastSelectedValue","custom","getElementId","getActiveDescendentId","announceAriaLiveContext","onMenuMouseDown","onMenuMouseMove","onControlMouseDown","openMenu","onDropdownIndicatorMouseDown","_this$props4","onClearIndicatorMouseDown","onScroll","HTMLElement","onCompositionStart","onCompositionEnd","touches","touch","item","deltaX","abs","onTouchEnd","onControlTouchEnd","onClearIndicatorTouchEnd","onDropdownIndicatorTouchEnd","handleInputChange","inputValue","currentTarget","onMenuOpen","onInputFocus","_this$props5","onInputBlur","onOptionHover","shouldHideSelectedOptions","_this$props6","hideSelectedOptions","_this$props7","isClearable","_this$state2","defaultPrevented","focusValue","shiftKey","focusOption","buildMenuOptions","_props$inputValue","toOption","onHover","onSelect","optionId","itemIndex","groupId","_value","_selectValue","_ref7","newSelectValue","_ref9","lastProps","_menuOptions","startListeningComposition","startListeningToTouch","_this$props8","getNextFocusedValue","getNextFocusedOption","_this$props9","stopListeningComposition","stopListeningToTouch","_this$props10","_this$state3","_this$props11","openAtIndex","selectedIndex","direction","_this$props12","_this$state4","focusedIndex","lastIndex","nextFocus","_this$props13","_this$state5","hasValue","selectProps","nextSelectValue","_this$state6","lastFocusedIndex","lastFocusedOption","_this$props14","formatOptionLabel","_this$state7","_this$props15","focusedValueMsg","valueFocusAriaMessage","focusedOptionMsg","optionFocusAriaMessage","resultsMsg","screenReaderMessage","resultsAriaMessage","countOptions","_this$props16","form","ariaAttributes","_this$commonProps","autoCapitalize","autoComplete","autoCorrect","isHidden","spellCheck","_this$components","MultiValueContainer","MultiValueLabel","_this$props17","_this$state8","opt","isOptionFocused","Remove","removeProps","_this$props18","_this$props19","_this$components2","_this5","_this$components3","Group","GroupHeading","Menu","MenuList","MenuPortal","LoadingMessage","NoOptionsMessage","Option","_this$state9","_this$props20","menuPortalTarget","onMenuScrollToTop","onMenuScrollToBottom","menuUI","hasOptions","headingId","Heading","headingProps","_message","menuPlacementProps","menuElement","M","_ref10","_ref10$placerProps","placerProps","appendTo","controlElement","_this6","_this$props21","delimiter","_value2","constructAriaLiveMessage","_this$components4","Control","IndicatorsContainer","SelectContainer","_this$props22","getCommonProps","renderLiveRegion","renderPlaceholderOrValue","renderInput","renderClearIndicator","renderLoadingIndicator","renderIndicatorSeparator","renderDropdownIndicator","renderMenu","renderFormField","applyPrefixToName","classNames","cleanValue","isDocumentElement","getScrollTop","pageYOffset","scrollTo","easeOutCubic","t","animatedScrollTo","change","increment","currentTime","animateScroll","scrollIntoView","menuEl","focusedEl","menuRect","focusedRect","overScroll","offsetTop","isTouchCapable","isMobileDevice","_createSuper","getMenuPlacement","shouldScroll","isFixedPosition","excludeStaticParent","overflowRx","docEl","defaultState","_menuEl$getBoundingCl","menuBottom","menuHeight","menuTop","containerTop","viewHeight","viewSpaceAbove","viewSpaceBelow","scrollSpaceAbove","scrollSpaceBelow","scrollDown","scrollUp","scrollDuration","_constrainedHeight","spaceAbove","_constrainedHeight2","coercePlacement","menuCSS","_ref2$theme","alignToControl","PortalPlacementContext","getPortalPlacement","MenuPlacer","getPlacement","getUpdatedProps","menuListCSS","WebkitOverflowScrolling","noticeCSS","_ref5$theme","noOptionsMessageCSS","loadingMessageCSS","menuPortalCSS","_ref6","_super2","getBoundingClientObj","scrollDistance","menuWrapper","createPortal","exportedEqual","containerCSS","valueContainerCSS","indicatorsContainerCSS","_templateObject","strings","raw","freeze","CrossIcon","DownChevron","baseCSS","_ref3$theme","dropdownIndicatorCSS","clearIndicatorCSS","indicatorSeparatorCSS","_ref4$theme","loadingDotAnimations","loadingIndicatorCSS","LoadingDot","animation","indicator","_ref$theme","groupCSS","groupHeadingCSS","inputCSS","ownKeys$3","_objectSpread$3","multiValueCSS","multiValueLabelCSS","multiValueRemoveCSS","MultiValueGeneric","ClassNames","emotionCx","optionCSS","WebkitTapHighlightColor","placeholderCSS","css$1","ownKeys$4","_objectSpread$4","cleanProps","indicators","defaultComponents","defaultInputValue","defaultMenuIsOpen","manageState","SelectComponent","StateManager","callProp","newObj","_addClass","_removeClass","_Transition","addClass","classes","removeClass","CSSTransition","getClassNames","removeClasses","activeClassName","reflowAndAddClass","appearClassName","doneClassName","enterClassName","isStringClassNames","_this$getClassNames6","_TransitionGroup","ReplaceTransition","_args","handleEnter","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","_len7","_key7","idx","originalArgs","_child$props","toArray","_React$Children$toArr","_reactLifecyclesCompat","parentGroup","transitionGroup","only","_propTypes","_ChildMapping","_assertThisInitialized","appeared","getInitialChildMapping","_CSSTransition","_ReplaceTransition","classNamesShape","timeoutsShape","condition","extendStatics","__","__decorate","decorators","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","reject","fulfilled","rejected","__generator","f","_","sent","trys","verb","pop","__createBinding","k2","__exportStar","__values","__read","ar","__spreadArrays","il","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","__asyncDelegator","__asyncValues","cooked","mod","__classPrivateFieldGet","privateMap","__classPrivateFieldSet","v1","v4","uuid","byteToHex","buf","bth","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","rnds","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","ii","_defineProperties","_getPrototypeOf","_typeof","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","hasPropertyDescriptor","assertThisInitialized","_setPrototypeOf","_toConsumableArray","arrayLikeToArray","iter"],"sourceRoot":""}