{"version":3,"file":"js/chunk-vendors-be881839-legacy.f5b65e5d.js","mappings":"odAAA,SAASA,EAAQC,GAAkC,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,CAAK,EAAGD,EAAQC,EAAM,CAE/U,SAASK,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,UAAY,KAAKP,EAAKQ,KAAKC,MAAMT,EAAMG,EAAU,CAAE,OAAOH,CAAM,CAEpV,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,CAAC,EAAGA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,GAAO,IAAKhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,GAAO,GAAI,CAAE,OAAON,CAAQ,CAEzf,SAASO,EAAgB1B,EAAKyB,EAAKK,GAAiK,OAApJL,KAAOzB,EAAOS,OAAOoB,eAAe7B,EAAKyB,EAAK,CAAEK,MAAOA,EAAOf,YAAY,EAAMgB,cAAc,EAAMC,UAAU,IAAkBhC,EAAIyB,GAAOK,EAAgB9B,CAAK,CAEhN,SAASiC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,oCAAwC,CAExJ,SAASC,EAAkBlB,EAAQmB,GAAS,IAAK,IAAIlB,EAAI,EAAGA,EAAIkB,EAAMhB,OAAQF,IAAK,CAAE,IAAImB,EAAaD,EAAMlB,GAAImB,EAAWxB,WAAawB,EAAWxB,aAAc,EAAOwB,EAAWR,cAAe,EAAU,UAAWQ,IAAYA,EAAWP,UAAW,GAAMvB,OAAOoB,eAAeV,EAAQoB,EAAWd,IAAKc,EAAa,CAAE,CAE5T,SAASC,EAAaL,EAAaM,EAAYC,GAAyN,OAAtMD,GAAYJ,EAAkBF,EAAY/B,UAAWqC,GAAiBC,GAAaL,EAAkBF,EAAaO,GAAcjC,OAAOoB,eAAeM,EAAa,YAAa,CAAEH,UAAU,IAAiBG,CAAa,CAE5R,SAASQ,IAAoX,OAAtTA,EAA9B,qBAAZC,SAA2BA,QAAQC,IAAcD,QAAQC,IAAqB,SAAc1B,EAAQ2B,EAAUC,GAAY,IAAIC,EAAOC,EAAe9B,EAAQ2B,GAAW,GAAKE,EAAL,CAAmB,IAAIE,EAAOzC,OAAOK,yBAAyBkC,EAAMF,GAAW,OAAII,EAAKL,IAAcK,EAAKL,IAAIM,KAAK9B,UAAUC,OAAS,EAAIH,EAAS4B,GAAoBG,EAAKpB,KAA5J,CAAmK,EAAYa,EAAK1B,MAAMmC,KAAM/B,UAAY,CAEja,SAAS4B,EAAe3C,EAAQwC,GAAY,OAAQrC,OAAOL,UAAUiD,eAAeF,KAAK7C,EAAQwC,GAA+C,GAAlCxC,EAASgD,EAAgBhD,GAAwB,OAAXA,EAAiB,MAAS,OAAOA,CAAQ,CAE7L,SAASiD,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrB,UAAU,sDAAyD3B,OAAOoB,eAAe2B,EAAU,YAAa,CAAE1B,MAAOrB,OAAOiD,OAAOD,GAAcA,EAAWrD,UAAW,CAAED,YAAa,CAAE2B,MAAO0B,EAAUxB,UAAU,EAAMD,cAAc,KAAWC,UAAU,IAAcyB,GAAYE,EAAgBH,EAAUC,EAAa,CAErb,SAASE,EAAgBC,EAAGC,GAA+G,OAA1GF,EAAkBlD,OAAOqD,gBAAkB,SAAyBF,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUD,EAAgBC,EAAGC,EAAI,CAEzK,SAASG,EAAaC,GAAW,IAAIC,EAA4BC,IAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQf,EAAgBW,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYhB,EAAgBF,MAAMjD,YAAaiE,EAASxB,QAAQ2B,UAAUF,EAAOhD,UAAWiD,EAAY,MAASF,EAASC,EAAMpD,MAAMmC,KAAM/B,WAAc,OAAOmD,EAA2BpB,KAAMgB,EAAS,CAAG,CAExa,SAASI,EAA2BC,EAAMtB,GAAQ,GAAIA,IAA2B,WAAlBpD,EAAQoD,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIf,UAAU,4DAA+D,OAAOsC,EAAuBD,EAAO,CAE/R,SAASC,EAAuBD,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIE,eAAe,6DAAgE,OAAOF,CAAM,CAErK,SAASN,IAA8B,GAAuB,qBAAZvB,UAA4BA,QAAQ2B,UAAW,OAAO,EAAO,GAAI3B,QAAQ2B,UAAUK,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ1E,UAAU2E,QAAQ5B,KAAKP,QAAQ2B,UAAUO,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOE,GAAK,OAAO,CAAO,CAAE,CAExU,SAAS1B,EAAgBM,GAAwJ,OAAnJN,EAAkB7C,OAAOqD,eAAiBrD,OAAOwE,eAAiB,SAAyBrB,GAAK,OAAOA,EAAEG,WAAatD,OAAOwE,eAAerB,EAAI,EAAUN,EAAgBM,EAAI,CAK5M,IAAIsB,EAA4B,SAAUC,GACxC5B,EAAU2B,EAAcC,GAExB,IAAIC,EAASpB,EAAakB,GAE1B,SAASA,EAAaG,GACpB,IAAIC,EAEAC,EAAYlE,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAK,CAAC,EASrF,OAPAY,EAAgBmB,KAAM8B,GAEtBI,EAAQF,EAAOjC,KAAKC,KAAMiC,EAAME,IAEhC,QAAiBb,EAAuBY,GAAQ,CAC9CG,SAAS,YAEJH,CACT,CAWA,OATA9C,EAAa0C,EAAc,KAAM,CAAC,CAChCzD,IAAK,WACLoB,IAAK,WACH,OAAO3B,EAAcA,EAAc,CAAC,EAAGyB,EAAKW,EAAgB4B,GAAe,WAAY9B,OAAQ,CAAC,EAAG,CACjGqC,QAAS,MAEb,KAGKP,CACT,CA9BgC,CA8B9B,K,WCtDEQ,EAAiB,KAEjBC,EAAyB,oDACzBC,EAA0B,cAC1BC,GAA0B,kBAG1BC,IAA4B,QAAO,CACrCC,KAAM,WACJ,MAAO,CACLC,OAAQ,GACRC,WAAY,KACZC,eAAgB,KAChBC,mBAAmB,EAEvB,EACAC,SAAU,CACRC,WAAY,WACV,OAAOjD,KAAK4C,OAAO1E,MACrB,EACAgF,cAAe,WACb,OAAOlD,KAAKiD,WAAa,CAC3B,GAEFE,MAAO,CACLF,WAAY,SAAoBG,EAAUC,GACpC,OACFrD,KAAKsD,oBAEDF,EAAW,GAAkB,IAAbC,GAElBrD,KAAKuD,iBACLvD,KAAKwD,gBACL,QAASC,SAASC,KAAM,eACF,IAAbN,GAAkBC,EAAW,IAEtCrD,KAAK2D,kBACL,QAAYF,SAASC,KAAM,gBAG7B,QAAQD,SAASC,KAAM,wBAAyBE,OAAOR,IAE3D,EACAR,OAAQ,SAAgBiB,GACtB,IAAI3B,EAAQlC,KAEZA,KAAKuD,kBACL,SAAU,WACRrB,EAAM4B,aAAaD,GAAY,GACjC,GACF,GAEFE,QAAS,CAEPC,cAAe,SAAuBC,GAEhCA,IAAyC,IAAhCjE,KAAK4C,OAAOsB,QAAQD,IAC/BjE,KAAK4C,OAAOhF,KAAKqG,EAErB,EACAE,gBAAiB,SAAyBF,GACxC,IAAIG,EAAQpE,KAAK4C,OAAOsB,QAAQD,GAE5BG,GAAS,IAEXpE,KAAK4C,OAAOyB,OAAOD,EAAO,GAErBH,EAAMK,mBAAsBL,EAAMM,cACrCvE,KAAKwE,WAAWP,GAGtB,EACAQ,cAAe,WACb,GAAI,OAAc,QAAOzE,KAAK6C,YAAa,CAEzC,IAAI6B,EAAMjB,SAASkB,cAAc,QACjC,QAASD,EAAK,mBACd,QAASA,EAAK,WACd,QAASA,EAAK,UAAW,QACzBjB,SAASC,KAAKkB,YAAYF,GAC1B1E,KAAK6C,YAAa,SAAU,QAAM6B,GAAKG,OAAQvC,GAC/CmB,SAASC,KAAKoB,YAAYJ,EAC5B,CAEA,OAAO1E,KAAK6C,YAAcP,CAC5B,EACAgB,kBAAmB,WACjB,GAAI,OAAc,QAAOtD,KAAK8C,gBAAiB,CAE7C,IAAI4B,EAAMjB,SAASkB,cAAc,QACjC,QAASD,EAAK,2BACdjB,SAASC,KAAKkB,YAAYF,GAC1B1E,KAAK8C,gBAAiB,QAAO4B,GAAKK,MAAQL,EAAIM,YAC9CvB,SAASC,KAAKoB,YAAYJ,EAC5B,CAEA,OAAO1E,KAAK8C,gBAAkB,CAChC,EAEAgB,aAAc,SAAsBlB,GAClC,IAAIqC,EAASjF,KAET6C,EAAa7C,KAAKyE,gBAClB3B,EAAiB9C,KAAKsD,oBAC1BV,EAAOxE,SAAQ,SAAU6F,EAAOG,GAE9BH,EAAMY,OAAShC,EAAauB,EAC5BH,EAAMnB,eAAiBA,EACvBmB,EAAMiB,MAAQd,IAAUa,EAAOrC,OAAO1E,OAAS,EAC/C+F,EAAMlB,kBAAoBkC,EAAOlC,iBACnC,GACF,EACAyB,WAAY,SAAoBP,GAC1BA,IACFA,EAAMY,OAAS7E,KAAKyE,gBACpBR,EAAMiB,OAAQ,EACdjB,EAAMlB,mBAAoB,EAE9B,EACAQ,eAAgB,WAEd,IAAI4B,GAAU,QAAO1B,SAASC,MAC1B0B,EAAOD,EAAQC,KACfC,EAAQF,EAAQE,MAEpBrF,KAAK+C,kBAAoBqC,EAAOC,EAAQC,OAAOC,UACjD,EACA/B,aAAc,WACZ,IAAIE,EAAOD,SAASC,KAOpB,GAHAA,EAAK8B,wBAA0B9B,EAAK8B,yBAA2B,GAC/D9B,EAAK+B,uBAAyB/B,EAAK+B,wBAA0B,GAEzDzF,KAAK+C,kBAAmB,CAC1B,IAAID,EAAiB9C,KAAK8C,gBAI1B,QAAUP,GAAwBnE,SAAQ,SAAUsH,GAClD,IAAIC,GAAgB,QAASD,EAAI,iBAAmB,IACpD,QAAQA,EAAI,qBAAsBC,IAClC,QAASD,EAAI,eAAgB,GAAGE,QAAO,SAAQ,QAAMF,GAAIG,aAAc,GAAK/C,EAAgB,OAE5FY,EAAK8B,wBAAwB5H,KAAK8H,EACpC,KAIA,QAAUlD,GAAyBpE,SAAQ,SAAUsH,GAGnD,IAAII,GAAe,QAASJ,EAAI,gBAAkB,IAClD,QAAQA,EAAI,oBAAqBI,IACjC,QAASJ,EAAI,cAAe,GAAGE,QAAO,SAAQ,QAAMF,GAAIK,YAAa,GAAKjD,EAAgB,OAE1FY,EAAK+B,uBAAuB7H,KAAK8H,EACnC,KAIA,QAAUjD,IAAyBrE,SAAQ,SAAUsH,GAGnD,IAAII,GAAe,QAASJ,EAAI,gBAAkB,IAClD,QAAQA,EAAI,oBAAqBI,IACjC,QAASJ,EAAI,cAAe,GAAGE,QAAO,SAAQ,QAAMF,GAAIK,YAAa,GAAKjD,EAAgB,OAE1FY,EAAK+B,uBAAuB7H,KAAK8H,EACnC,IAEA,IAAIC,GAAgB,QAASjC,EAAM,iBAAmB,IACtD,QAAQA,EAAM,qBAAsBiC,IACpC,QAASjC,EAAM,eAAgB,GAAGkC,QAAO,SAAQ,QAAMlC,GAAMmC,aAAc,GAAK/C,EAAgB,MAClG,CACF,EACAa,eAAgB,WACd,IAAID,EAAOD,SAASC,KAEhBA,EAAK8B,yBAEP9B,EAAK8B,wBAAwBpH,SAAQ,SAAUsH,IAEzC,QAAQA,EAAI,yBACd,QAASA,EAAI,gBAAgB,QAAQA,EAAI,uBAAyB,KAClE,QAAWA,EAAI,sBAEnB,IAGEhC,EAAK+B,wBAEP/B,EAAK+B,uBAAuBrH,SAAQ,SAAUsH,IAExC,QAAQA,EAAI,wBACd,QAASA,EAAI,eAAe,QAAQA,EAAI,sBAAwB,KAChE,QAAWA,EAAI,qBAEnB,IAGFhC,EAAK8B,wBAA0B,KAC/B9B,EAAK+B,uBAAyB,MAE1B,QAAQ/B,EAAM,yBAChB,QAASA,EAAM,gBAAgB,QAAQA,EAAM,uBAAyB,KACtE,QAAWA,EAAM,sBAErB,KAIOsC,GAAe,IAAItD,GChO9B,SAAS,GAAQxF,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,UAAY,KAAKP,EAAKQ,KAAKC,MAAMT,EAAMG,EAAU,CAAE,OAAOH,CAAM,CAEpV,SAAS,GAAcW,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQX,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAO,GAAgBN,EAAQM,EAAKF,EAAOE,GAAO,IAAKhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAW,GAAQd,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,GAAO,GAAI,CAAE,OAAON,CAAQ,CAEzf,SAAS,GAAgBnB,EAAKyB,EAAKK,GAAiK,OAApJL,KAAOzB,EAAOS,OAAOoB,eAAe7B,EAAKyB,EAAK,CAAEK,MAAOA,EAAOf,YAAY,EAAMgB,cAAc,EAAMC,UAAU,IAAkBhC,EAAIyB,GAAOK,EAAgB9B,CAAK,CAkChN,IAAIqJ,IAAkB,OAAe,UAAW,CAC9ChE,KAAM,KACNiE,cAAc,EACdC,MAAO,OAELC,GAAaH,GAAgBI,MAC7BC,GAAaL,GAAgB/G,MAC7BqH,GAAkBN,GAAgBO,KAClCC,GAAmBR,GAAgBE,MAEnCO,GAAmB,WACnBC,GAAc,MACdC,GAAgB,QAChBC,GAAiB,SACjBC,GAAgB,SAEhBC,GAAe,cACfC,GAAY,KACZC,GAAU,CAACH,GAAeC,GAAcC,IAGxCE,GAAkB,CACpBC,SAAS,EACTC,WAAW,EACXC,eAAe,EACfC,YAAY,EACZC,gBAAiB,CAAC,QAAS,UAGlB,IAAQ,SAAsB,QAAS,GAAc,GAAc,GAAc,CAAC,EAAGC,EAAA,GAAUlB,IAAa,CAAC,EAAG,CACzHmB,WAAW,QAAS,MACpBC,iBAAiB,QAAS,KAAkB,MAE5C,SAAUhJ,GACR,OAAO,OAAkBA,KAAU,EAAAiJ,EAAA,IAAcV,GAASvI,EAC5D,IACAkJ,eAAe,QAAS,MACxBC,WAAW,QAAS,MACpBC,iBAAiB,QAAS,MAC1BC,MAAM,QAAS,MAAmB,GAClCC,YAAY,QAAS,MACrBC,gBAAgB,QAAS,MAAmB,GAC5CC,aAAa,QAAS,KAAkB,UACxCC,iBAAiB,QAAS,MAC1BC,eAAe,QAAS,KAAkB,aAC1CC,UAAU,QAAS,MAAmB,GACtCC,cAAc,QAAS,MACvBC,aAAa,QAAS,MACtBC,iBAAiB,QAAS,MAC1BC,qBAAqB,QAAS,MAC9BC,aAAa,QAAS,MACtBC,WAAW,QAAS,KAAkB,UACtCC,mBAAmB,QAAS,MAC5BC,iBAAiB,QAAS,MAC1BC,qBAAqB,QAAS,MAC9BC,aAAa,QAAS,MACtBC,oBAAoB,QAAS,KAAkB,WAC/CC,kBAAkB,QAAS,KAAkB,SAC7CC,oBAAoB,QAAS,MAC7BC,WAAW,QAAS,KAAkB,UACtCC,mBAAmB,QAAS,MAE5BC,cAAc,QAAS,MAAmB,GAE1CC,YAAY,QAAS,MAAmB,GAExCC,YAAY,QAAS,MAAmB,GAExCC,iBAAiB,QAAS,MAAmB,GAC7CC,4BAA4B,QAAS,MACrCC,MAAM,QAAS,MAAmB,GAClCC,YAAY,QAAS,MACrBC,mBAAmB,QAAS,MAAmB,GAC/CC,cAAc,QAAS,MAAmB,GAC1CC,gBAAgB,QAAS,MAAmB,GAC5CC,QAAQ,QAAS,MAAmB,GACpCC,YAAY,QAAS,MAAmB,GACxCC,YAAY,QAAS,MAAmB,GACxCC,QAAQ,QAAS,MAAmB,GACpCC,SAAS,QAAS,KAAkB,MACpCC,aAAa,QAAS,MACtBC,WAAW,QAAS,KAAkB,WAEtCC,aAAa,QAAS,CAAC,KAAa,KAAkB,OACtDC,YAAY,QAAS,MAAmB,GACxCC,MAAM,QAAS,KAAkB,MACjCC,QAAQ,QAAS,MAAmB,GACpCC,OAAO,QAAS,MAChBC,YAAY,QAAS,MACrBC,WAAW,QAAS,MACpBC,aAAa,QAAS,MAAmB,GACzCC,UAAU,QAAS,KAAkB,SAClC,MAGMC,IAAsB,QAAO,CACtCC,KAAM,KACNC,OAAQ,CAACC,EAAA,EAAY1D,EAAA,EAASpB,GAAY,IAAuB,IAAmB,IAAqB,IAAoB,KAC7H+E,cAAc,EACdjM,MAAO,GACPyD,KAAM,WACJ,MAAO,CACLyI,UAAU,EAEVC,WAAW,EAEXC,iBAAiB,EAEjBC,QAAQ,EAERC,SAAS,EAETC,WAAW,EAEXC,WAAW,EAEXC,qBAAqB,EAErBC,oBAAoB,EAEpB9I,eAAgB,EAChB+B,OAAQmB,GAAavB,gBACrBS,OAAO,EACPnC,mBAAmB,EAEvB,EACAC,SAAU,CACR6I,QAAS,WACP,OAAO7L,KAAK8L,QACd,EACAC,aAAc,WACZ,OAAO/L,KAAK8L,OAAO,oBACrB,EACAE,cAAe,WACb,OAAOhM,KAAK8L,OAAO,qBACrB,EACAG,YAAa,WACX,OAAOjM,KAAK8L,OAAO,mBACrB,EACAI,aAAc,WACZ,OAAOlM,KAAK8L,OAAO,oBACrB,EACAK,eAAgB,WACd,OAAOnM,KAAK8L,OAAO,sBACrB,EACAM,cAAe,WACb,OAAOpM,KAAK8L,OAAO,qBACrB,EACAO,gBAAiB,WACf,OAAOrM,KAAK8L,OAAO,uBACrB,EACAQ,aAAc,WACZ,MAAO,CAAC,CACNC,MAAOvM,KAAK+J,OACZyC,KAAMxM,KAAKuL,QACVvL,KAAK2J,WACV,EACA8C,YAAa,WACX,IAAIC,EAAU,GAAG9G,OAAO5F,KAAK8C,eAAgB,MAC7C,MAAO,CACL6J,aAAc3M,KAAK+C,mBAAqB/C,KAAK4L,mBAAqBc,EAAU,GAC5E7G,aAAc7F,KAAK+C,oBAAsB/C,KAAK4L,mBAAqBc,EAAU,GAG7EE,QAAS5M,KAAKwL,QAAU,QAAU,OAEtC,EACAqB,cAAe,WACb,IAAIC,EAEJ,MAAO,EAAEA,EAAO,CAAC,EAAG,GAAgBA,EAAM,SAASlH,OAAO5F,KAAKwK,MAAOxK,KAAKwK,MAAO,GAAgBsC,EAAM,wBAAyB9M,KAAKqI,UAAW,GAAgByE,EAAM,0BAA2B9M,KAAKuK,YAAauC,GAAO9M,KAAKuI,YAClO,EACAwE,cAAe,WACb,IAAIC,EAEJ,MAAO,EAAEA,EAAQ,CAAC,EAAG,GAAgBA,EAAO,MAAMpH,OAAO5F,KAAK6I,iBAAkB7I,KAAK6I,iBAAkB,GAAgBmE,EAAO,QAAQpH,OAAO5F,KAAKoJ,mBAAoBpJ,KAAKoJ,mBAAoB,GAAgB4D,EAAO,UAAUpH,OAAO5F,KAAK8I,qBAAsB9I,KAAK8I,qBAAsBkE,GAAQhN,KAAK+I,YAC5S,EACAkE,aAAc,WACZ,MAAO,CAAC,CACN,UAAWjN,KAAK6K,aACf7K,KAAK2K,WACV,EACAuC,YAAa,WACX,IAAIC,EAEJ,MAAO,EAAEA,EAAQ,CAAC,EAAG,GAAgBA,EAAO,MAAMvH,OAAO5F,KAAK4H,eAAgB5H,KAAK4H,eAAgB,GAAgBuF,EAAO,QAAQvH,OAAO5F,KAAK8H,iBAAkB9H,KAAK8H,iBAAkBqF,GAAQnN,KAAK6H,UACtM,EACAuF,cAAe,WACb,IAAIC,EAEJ,MAAO,EAAEA,EAAQ,CAAC,EAAG,GAAgBA,EAAO,MAAMzH,OAAO5F,KAAKwI,iBAAkBxI,KAAKwI,iBAAkB,GAAgB6E,EAAO,QAAQzH,OAAO5F,KAAK4I,mBAAoB5I,KAAK4I,mBAAoB,GAAgByE,EAAO,UAAUzH,OAAO5F,KAAKyI,qBAAsBzI,KAAKyI,qBAAsB4E,GAAQrN,KAAK0I,YAC5S,EACA4E,gBAAiB,WAEf,MAAO,CACLC,SAAU,WACV1I,OAAQ7E,KAAK6E,OAEjB,EACA2I,UAAW,WACT,MAAO,CACLC,OAAQzN,KAAK0N,SACbC,MAAO3N,KAAK4N,QACZC,KAAM7N,KAAK6N,KACXC,GAAI9N,KAAK+N,KACTC,QAAShO,KAAKqL,UAElB,EACA4C,kCAAmC,WAEjC,OAAO,QAAOjO,KAAKyJ,4BAA4BjM,OAAO0Q,EAAA,GAAUC,KAAK,KAAKC,MAC5E,EACAC,cAAe,WAGb,IAAIC,EAAoBtO,KAAKyK,OAAiC,CAAC,EAAzBzK,KAAKsO,iBAC3C,OAAO,GAAc,GAAc,GAAc,CAAC,EAAGA,GAAmBtO,KAAKuO,SAAU,CAAC,EAAG,CACzF/G,GAAIxH,KAAK+L,cAEb,EACAyC,mBAAoB,WAClB,IAAInD,EAAYrL,KAAKqL,UACjB5D,EAAYzH,KAAKyH,UACrB,MAAO,CACLD,GAAIxH,KAAK6L,QACT4C,KAAM,SACN,cAAepD,EAAY,KAAO,OAClC,aAAcA,EAAY,OAAS,KACnC,aAAc5D,EACd,kBAAmBzH,KAAKuJ,YAAc9B,KACpCzH,KAAK0O,kBAAkB,OAA0B1O,KAAK4K,WAAa5K,KAAK0K,OAAS,KAAO1K,KAAKkM,aAC/F,mBAAoBlM,KAAKiM,YAE7B,GAEF9I,MAAO,GAAgB,CAAC,EAAGoD,IAAiB,SAAU1C,EAAU8K,GAC1D9K,IAAa8K,GACf3O,KAAK6D,EAAW,OAAS,SAE7B,IACA+K,QAAS,WAEP5O,KAAK6O,WAAa,KAClB7O,KAAK8O,cAAgB9O,KAAKsK,aAAe,IAC3C,EACAyE,QAAS,WAEP/O,KAAK6E,OAASmB,GAAavB,gBAG3BzE,KAAKgP,cAAa,QAAuB,KAAY,MAAkBhP,KAAKiP,aAC5EjP,KAAKgP,cAAa,QAAuB,KAAY,MAAkBhP,KAAKkP,aAC5ElP,KAAKgP,cAAa,QAAuB,KAAY,MAAoBhP,KAAKmP,eAG9EnP,KAAKgP,cAAa,QAAiB,KAAY,MAAkBhP,KAAKoP,gBAExC,IAA1BpP,KAAKuG,KACPvG,KAAKqP,UAAUrP,KAAKwM,KAExB,EACA8C,cAAe,WAEbtJ,GAAa7B,gBAAgBnE,MAC7BA,KAAKuP,aAAY,GAEbvP,KAAKqL,YACPrL,KAAKqL,WAAY,EACjBrL,KAAKuL,QAAS,EACdvL,KAAKsL,iBAAkB,EAE3B,EACAvH,QAAS,CACPwL,YAAa,WACX,IAAIC,EAAKvR,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,IAAmBA,UAAU,GACxE+B,KAAK6O,YAAc7O,KAAK6O,WAAWY,aACnCzP,KAAK6O,WAAa,KAEdW,IACFxP,KAAK6O,YAAa,OAAW7O,KAAK0P,MAAMC,QAAS3P,KAAK4P,mBAAmBC,KAAK7P,MAAOkH,IAEzF,EAEA4I,YAAa,SAAqBpR,GAC5BA,IAAUsB,KAAKuG,KACjBvG,KAAK+P,MAAMtJ,GAAkB/H,EAEjC,EAEAsR,WAAY,SAAoB/N,GAC9B,IAAIgO,EAAUhS,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAO,IAAI6D,EAAaG,EAAM,GAAc,GAAc,CAExDiO,YAAY,EACZnS,OAAQiC,KAAK0P,MAAMzL,OAASjE,KAAKmQ,KAAO,KACxCC,cAAe,KACf/N,QAAS,MACR4N,GAAU,CAAC,EAAG,CAEfI,UAAWrQ,KACXsQ,YAAatQ,KAAK6L,UAEtB,EAEAW,KAAM,WACJ,IAAIxM,KAAKqL,YAAarL,KAAKyL,UAS3B,GAAIzL,KAAK0L,UAIP1L,KAAKuQ,MAAM,KAAmBvQ,KAAKwM,UAJrC,CAUAxM,KAAKyL,WAAY,EAEjBzL,KAAK8O,cAAgB9O,KAAK8O,eAAiB9O,KAAKwQ,mBAChD,IAAIC,EAAYzQ,KAAKgQ,WAAW,KAAiB,CAC/CE,YAAY,IAId,GAFAlQ,KAAK0Q,UAAUD,GAEXA,EAAUE,kBAAoB3Q,KAAKqL,UAIrC,OAHArL,KAAKyL,WAAY,OAEjBzL,KAAK8P,aAAY,GAKnB9P,KAAK4Q,QAlBL,CAmBF,EAEA/C,KAAM,WACJ,IAAIxL,EAAUpE,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAK,GAElF,GAAK+B,KAAKqL,YAAarL,KAAK0L,UAA5B,CAKA1L,KAAK0L,WAAY,EACjB,IAAImF,EAAY7Q,KAAKgQ,WAAW,KAAiB,CAC/CE,WAAY7N,IAAYuE,GACxBvE,QAASA,GAAW,OAatB,GAVIA,IAAY2E,GACdhH,KAAK+P,MAAM,KAAec,GACjBxO,IAAYyE,GACrB9G,KAAK+P,MAAM,KAAmBc,GACrBxO,IAAY0E,IACrB/G,KAAK+P,MAAM,KAAkBc,GAG/B7Q,KAAK0Q,UAAUG,GAEXA,EAAUF,mBAAqB3Q,KAAKqL,UAItC,OAHArL,KAAK0L,WAAY,OAEjB1L,KAAK8P,aAAY,GAKnB9P,KAAKuP,aAAY,GAEjBvP,KAAKqL,WAAY,EAEjBrL,KAAK8P,aAAY,EA9BjB,CA+BF,EAEAgB,OAAQ,SAAgBC,GAClBA,IACF/Q,KAAK8O,cAAgBiC,GAGnB/Q,KAAKqL,UACPrL,KAAK6N,KAAKhH,IAEV7G,KAAKwM,MAET,EAEAgE,iBAAkB,WAGhB,IAAIQ,GAAgB,QAAkB,KAAa,CAACvN,SAASC,MAAQ,IASrE,OAAOsN,GAAiBA,EAAcC,MAAQD,EAAgB,IAChE,EAEAJ,OAAQ,WACN,IAAI1O,EAAQlC,KAGRgG,GAAa9C,eAAiBlD,KAAKgK,WAErChK,KAAKkR,kBAAiB,QAAiB,KAAY,MAAoBlR,KAAK4Q,SAI9E5K,GAAahC,cAAchE,MAE3BA,KAAKoL,UAAW,EAChBpL,KAAKqP,WAAU,WAGbnN,EAAMmJ,WAAY,EAClBnJ,EAAMuJ,WAAY,EAElBvJ,EAAM4N,aAAY,GAElB5N,EAAMmN,WAAU,WAGdnN,EAAMqN,aAAY,EACpB,GACF,IACF,EAEA4B,cAAe,WACbnR,KAAKsL,iBAAkB,EACvBtL,KAAKoR,gBAAe,EACtB,EACAC,QAAS,WACP,IAAIpM,EAASjF,KAEbA,KAAKwL,SAAU,GAIf,SAAU,YACR,SAAU,WACRvG,EAAOsG,QAAS,CAClB,GACF,GACF,EACA+F,aAAc,WACZ,IAAIC,EAASvR,KAEbA,KAAK4P,qBACL5P,KAAKsL,iBAAkB,GAKvB,SAAU,WACRiG,EAAOb,UAAUa,EAAOvB,WAAW,OAEnCuB,EAAOC,iBAAgB,GAEvBD,EAAOlC,WAAU,WAGfkC,EAAOE,YACT,GACF,GACF,EACAC,cAAe,WACb1R,KAAKsL,iBAAkB,EACvBtL,KAAKoR,gBAAe,GACpBpR,KAAKwR,iBAAgB,EACvB,EACAG,QAAS,WAEP3R,KAAKuL,QAAS,CAChB,EACAqG,aAAc,WACZ,IAAIC,EAAS7R,KAEbA,KAAKwL,SAAU,EACfxL,KAAKsL,iBAAkB,EACvBtL,KAAK4L,oBAAqB,EAC1B5L,KAAKoL,UAAW,EAChBpL,KAAKqP,WAAU,WACbwC,EAAOnG,WAAY,EACnB1F,GAAa7B,gBAAgB0N,GAE7BA,EAAOC,gBAIPD,EAAOnB,UAAUmB,EAAO7B,WAAW,MACrC,GACF,EACAU,UAAW,SAAmBqB,GAC5B,IAAI9P,EAAO8P,EAAQ9P,KAGnBjC,KAAKgS,YAAW,QAAiB,KAAY/P,GAAO8P,EAASA,EAAQzB,aACrEtQ,KAAK+P,MAAM9N,EAAM8P,EACnB,EAEAE,kBAAmB,WACjB,IAAIC,EAASlS,KAITiE,EAAQjE,KAAK0P,MAAMzL,MAEnBkO,EAAmB,SAASA,EAAiBhM,IAC/C,QAASlC,EAAO,UAAWkO,EAAkB,MAEzChM,EAAMpI,SAAWkG,IACnBiO,EAAOvG,qBAAsB,EAEjC,GAEA,QAAQ1H,EAAO,UAAWkO,EAAkB,KAC9C,EACAC,WAAY,SAAoBjM,GAC1BnG,KAAK2L,oBAGP3L,KAAK2L,qBAAsB,EAMxB3L,KAAKqL,YAAarL,KAAK4J,oBAAsB,QAASnG,SAASC,KAAMyC,EAAMpI,WAK3E,QAASiC,KAAK0P,MAAMC,QAASxJ,EAAMpI,SACtCiC,KAAK6N,KAAKnH,IAEd,EACAqH,KAAM,WACJ/N,KAAK6N,KAAK7G,GACZ,EACA0G,SAAU,WACR1N,KAAK6N,KAAK/G,GACZ,EACA8G,QAAS,WACP5N,KAAK6N,KAAK9G,GACZ,EACAsL,MAAO,SAAelM,GAEhBA,EAAMmM,UAAY,MAAYtS,KAAKqL,YAAcrL,KAAK6J,cACxD7J,KAAK6N,KAAKlH,GAEd,EAEA4L,aAAc,SAAsBpM,GAElC,IAAIwJ,EAAU3P,KAAK0P,MAAMC,QACrB5R,EAASoI,EAAMpI,OAEnB,KAAIiC,KAAK8J,iBAAmB9J,KAAKkF,QAAUlF,KAAKqL,YAAcsE,GAAWlM,WAAa1F,IAAU,QAAS4R,EAAS5R,IAAWiC,KAAKiO,oCAAqC,QAAQjO,KAAKiO,kCAAmClQ,GAAQ,IAA/N,CAIA,IAAIyU,GAAW,QAAYxS,KAAK0P,MAAMC,SAClC8C,EAAazS,KAAK0P,MAAM,eACxBgD,EAAU1S,KAAK0P,MAAM,YAEzB,GAAI+C,GAAc1U,IAAW0U,GAG3B,IAAI,QAAaD,EAAS,IAExB,YAEG,GAAIE,GAAW3U,IAAW2U,IAG3B,QAAaF,EAASA,EAAStU,OAAS,IAE1C,QAKJ,QAAayR,EAAS,CACpBgD,eAAe,GAxBjB,CA0BF,EAEAnB,gBAAiB,SAAyBhC,GACxCxP,KAAK4S,eAAepD,EAAI,UAAWxP,KAAKuS,aAC1C,EAEAnB,eAAgB,SAAwB5B,GACtCxP,KAAK6S,aAAarD,EAAI,SAAUxP,KAAK4P,oBACrC5P,KAAK6S,aAAarD,EAAI,oBAAqBxP,KAAK4P,mBAClD,EAEAX,YAAa,SAAqBzH,EAAIuJ,GAChCvJ,IAAOxH,KAAK6L,UACd7L,KAAK8O,cAAgBiC,GAAa/Q,KAAKwQ,mBACvCxQ,KAAKwM,OAET,EACA0C,YAAa,SAAqB1H,GAC5BA,IAAOxH,KAAK6L,SACd7L,KAAK6N,KAAK,QAEd,EACAsB,cAAe,SAAuB3H,EAAIuJ,GACpCvJ,IAAOxH,KAAK6L,SACd7L,KAAK8Q,OAAOC,EAEhB,EACA3B,cAAe,SAAuB2C,GAEhC/R,KAAKgK,YAAc+H,EAAQ1B,YAAcrQ,MAC3CA,KAAK6N,MAET,EAEA4D,WAAY,WACV,IAAIqB,EAAS9S,KAGT,OACF,SAAU,WACR,IAAIiE,EAAQ6O,EAAOpD,MAAMzL,MACrB0L,EAAUmD,EAAOpD,MAAMC,QAEvBqB,EAAgB8B,EAAOtC,mBAG3B,GAAIvM,GAAS0L,KAAaqB,KAAiB,QAASrB,EAASqB,IAAiB,CAC5E,IAAIlD,EAAKgF,EAAOpD,MAAM,aAClBjC,EAASqF,EAAOpD,MAAM,iBACtB/B,EAAQmF,EAAOpD,MAAM,gBAErBqD,EAAYD,EAAOpL,gBAGnBhC,EAAKqN,IAAc/L,IAAa8G,EAAKA,EAAGqC,KAAOrC,EAAKiF,IAAcjM,IAAiB2G,EAASA,EAAO0C,KAAO1C,EAASsF,IAAchM,IAAgB4G,EAAQA,EAAMwC,KAAOxC,EAAQgC,GAElL,QAAajK,GAETA,IAAOiK,GAETmD,EAAOzD,WAAU,WACfpL,EAAM+O,UAAY,CACpB,GAEJ,CACF,GAEJ,EACAlB,cAAe,WAGb,IAAIpM,EAAK1F,KAAKsK,aAAetK,KAAK8O,eAAiB,KACnD9O,KAAK8O,cAAgB,KACrB9O,KAAKqP,WAAU,WAEb3J,GAAK,QAASA,IAAM,QAAOA,GAAMA,EAE7BA,IAEFA,EAAKA,EAAGyK,KAAOzK,GACf,QAAaA,GAEjB,GACF,EACAkK,mBAAoB,WAClB,GAAI5P,KAAKqL,UAAW,CAClB,IAAIpH,EAAQjE,KAAK0P,MAAMzL,MACvBjE,KAAK4L,mBAAqB3H,EAAMgP,aAAexP,SAASyP,gBAAgBC,YAC1E,CACF,EACAC,UAAW,SAAmBC,GAE5B,IAAIC,EAAUD,IAEd,IAAKrT,KAAKuJ,WAAY,CAEpB,IAAIgK,EAAevT,KAAKwT,cAAc,KAAwBxT,KAAKwN,WAEnE,IAAK+F,EAAc,CACjB,IAAIE,EAAeJ,IAEdrT,KAAKwJ,kBACRiK,EAAeJ,EAAE,IAAc,CAC7BnU,MAAO,CACLyQ,QAAS3P,KAAKgJ,mBACd0K,SAAU1T,KAAKsL,gBACf7D,UAAWzH,KAAKiJ,iBAChB0K,YAAa3T,KAAKkJ,oBAAsBlJ,KAAKoJ,mBAE/CoG,GAAI,CACFoE,MAAO5T,KAAK4N,SAEdiG,IAAK,gBAEP,CAAC7T,KAAKwT,cAAc,SAGtBD,EAAe,CAACF,EAAErT,KAAK8K,SAAU,CAC/BgJ,YAAa,cACbC,MAAO/T,KAAKiN,aACZ/B,MAAO,CACL1D,GAAIxH,KAAKkM,cAGX8H,SAAUhU,KAAK0O,kBAAkB,MAAyB,CAAC,GAAI,EAAAuF,EAAA,GAAWjU,KAAK4K,UAAW5K,KAAK0K,QAEjG1K,KAAKwT,cAAc,KAAuBxT,KAAKwN,YAAaiG,EAC9D,CAEAH,EAAUD,EAAErT,KAAKmJ,UAAW,CAC1B2K,YAAa,eACbC,MAAO/T,KAAK+M,cACZ7B,MAAO,CACL1D,GAAIxH,KAAKgM,eAEX6H,IAAK,UACJ,CAACN,GACN,CAGA,IAAIW,EAAQb,EAAE,MAAO,CACnBS,YAAa,aACbC,MAAO/T,KAAKkN,YACZhC,MAAO,CACL1D,GAAIxH,KAAKiM,aAEX4H,IAAK,QACJ7T,KAAKwT,cAAc,KAAmBxT,KAAKwN,YAE1C2G,EAAUd,IAEd,IAAKrT,KAAKsJ,WAAY,CAEpB,IAAI8K,EAAepU,KAAKwT,cAAc,KAAwBxT,KAAKwN,WAEnE,IAAK4G,EAAc,CACjB,IAAIC,EAAgBhB,IAEfrT,KAAKkK,SACRmK,EAAgBhB,EAAE,IAAS,CACzBnU,MAAO,CACLoV,QAAStU,KAAKoI,cACdoC,KAAMxK,KAAKgI,WACX0L,SAAU1T,KAAKiI,gBAAkBjI,KAAK+H,MAAQ/H,KAAKsL,iBAGrD0I,SAAUhU,KAAK0O,kBAAkB,MAA0B,CAAC,GAAI,EAAAuF,EAAA,GAAWjU,KAAKmI,gBAAiBnI,KAAKkI,aACtGsH,GAAI,CACFoE,MAAO5T,KAAK0N,UAEdmG,IAAK,iBAEP7T,KAAKwT,cAAc,QAGrB,IAAIe,EAAYlB,EAAE,IAAS,CACzBnU,MAAO,CACLoV,QAAStU,KAAKqK,UACdG,KAAMxK,KAAKgI,WACX0L,SAAU1T,KAAKiK,YAAcjK,KAAK+H,MAAQ/H,KAAKsL,iBAGjD0I,SAAUhU,KAAK0O,kBAAkB,MAAsB,CAAC,GAAI,EAAAuF,EAAA,GAAWjU,KAAKoK,YAAapK,KAAKmK,SAC9FqF,GAAI,CACFoE,MAAO5T,KAAK+N,MAEd8F,IAAK,aAEP7T,KAAKwT,cAAc,OACnBY,EAAe,CAACC,EAAeE,EACjC,CAEAJ,EAAUd,EAAErT,KAAK2I,UAAW,CAC1BmL,YAAa,eACbC,MAAO/T,KAAKoN,cACZlC,MAAO,CACL1D,GAAIxH,KAAKoM,eAEXyH,IAAK,UACJ,CAACO,GACN,CAGA,IAAII,EAAgBnB,EAAE,MAAO,CAC3BS,YAAa,gBACbC,MAAO/T,KAAKsI,aACZ4C,MAAO,CACL1D,GAAIxH,KAAKmM,eACTsI,SAAU,MAEZZ,IAAK,WACJ,CAACP,EAASY,EAAOC,IAGhBO,EAAcrB,IACdsB,EAAiBtB,IAEjBrT,KAAKqL,YAAcrL,KAAK8J,iBAC1B4K,EAAcrB,EAAE,OAAQ,CACtBnI,MAAO,CACLuJ,SAAU,KAEZZ,IAAK,aAEPc,EAAiBtB,EAAE,OAAQ,CACzBnI,MAAO,CACLuJ,SAAU,KAEZZ,IAAK,iBAKT,IAAIe,EAAevB,EAAE,MAAO,CAC1BS,YAAa,eACbC,MAAO/T,KAAK6M,cACZ2C,GAAI,CACFqF,UAAW7U,KAAKiS,mBAElB4B,IAAK,UACJ,CAACa,EAAaF,EAAeG,IAE5BG,EAASzB,EAAE,MAAO,CACpBS,YAAa,QACbC,MAAO/T,KAAKsM,aACZyI,MAAO/U,KAAKyM,YACZvB,MAAOlL,KAAKwO,mBACZgB,GAAI,CACFwF,QAAShV,KAAKqS,MACduB,MAAO5T,KAAKoS,YAEd6C,WAAY,CAAC,CACXjK,KAAM,OACNtM,MAAOsB,KAAKqL,YAEdwI,IAAK,SACJ,CAACe,IAKJE,EAASzB,EAAE,aAAc,CACvBnU,MAAO,CACLgW,WAAY,GACZC,aAAc,GACdC,iBAAkB,GAClBC,WAAY,GACZC,iBAAkB,GAClBC,aAAc,IAEhB/F,GAAI,CACFgG,YAAaxV,KAAKmR,cAClBsE,MAAOzV,KAAKqR,QACZqE,WAAY1V,KAAKsR,aACjBqE,YAAa3V,KAAK0R,cAClBkE,MAAO5V,KAAK2R,QACZkE,WAAY7V,KAAK4R,eAElB,CAACkD,IAEJ,IAAIgB,EAAYzC,IAkBhB,OAhBKrT,KAAKqJ,cAAgBrJ,KAAKqL,YAC7ByK,EAAYzC,EAAE,MAAO,CACnBS,YAAa,iBACb5I,MAAO,CACL1D,GAAIxH,KAAKqM,kBAGbrM,KAAKwT,cAAc,QAGrBsC,EAAYzC,EAAE,IAAc,CAC1BnU,MAAO,CACL6K,OAAQ/J,KAAK+J,SAEd,CAAC+L,IAEGzC,EAAE,MAAO,CACd0B,MAAO/U,KAAKsN,gBACZpC,MAAOlL,KAAKqO,cACZhQ,IAAK,eAAeuH,OAAO5F,KAAK,QAC/B,CAAC8U,EAAQgB,GACd,GAEFC,OAAQ,SAAgB1C,GACtB,OAAIrT,KAAKyK,OACAzK,KAAK0J,MAAQ1J,KAAKoL,SAAWiI,IAAMrT,KAAKoT,UAAUC,GAElDrT,KAAKoL,SAAWiI,IAAMA,EAAE,IAAe,CAACrT,KAAKoT,UAAUC,IAElE,I,mFCj7BF,SAAS,GAAgBvU,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,oCAAwC,CAExJ,SAAS,GAAkBjB,EAAQmB,GAAS,IAAK,IAAIlB,EAAI,EAAGA,EAAIkB,EAAMhB,OAAQF,IAAK,CAAE,IAAImB,EAAaD,EAAMlB,GAAImB,EAAWxB,WAAawB,EAAWxB,aAAc,EAAOwB,EAAWR,cAAe,EAAU,UAAWQ,IAAYA,EAAWP,UAAW,GAAMvB,OAAOoB,eAAeV,EAAQoB,EAAWd,IAAKc,EAAa,CAAE,CAE5T,SAAS,GAAaJ,EAAaM,EAAYC,GAAyN,OAAtMD,GAAY,GAAkBN,EAAY/B,UAAWqC,GAAiBC,GAAa,GAAkBP,EAAaO,GAAcjC,OAAOoB,eAAeM,EAAa,YAAa,CAAEH,UAAU,IAAiBG,CAAa,CAE5R,SAAS,GAAQ7B,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,UAAY,KAAKP,EAAKQ,KAAKC,MAAMT,EAAMG,EAAU,CAAE,OAAOH,CAAM,CAEpV,SAAS,GAAcW,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQX,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAO,GAAgBN,EAAQM,EAAKF,EAAOE,GAAO,IAAKhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAW,GAAQd,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,GAAO,GAAI,CAAE,OAAON,CAAQ,CAEzf,SAAS,GAAgBnB,EAAKyB,EAAKK,GAAiK,OAApJL,KAAOzB,EAAOS,OAAOoB,eAAe7B,EAAKyB,EAAK,CAAEK,MAAOA,EAAOf,YAAY,EAAMgB,cAAc,EAAMC,UAAU,IAAkBhC,EAAIyB,GAAOK,EAAgB9B,CAAK,CAEhN,SAASoZ,GAAmBC,GAAO,OAAOC,GAAmBD,IAAQE,GAAiBF,IAAQG,GAA4BH,IAAQI,IAAsB,CAExJ,SAASA,KAAuB,MAAM,IAAIrX,UAAU,uIAAyI,CAE7L,SAASoX,GAA4B5V,EAAG8V,GAAU,GAAK9V,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAO+V,GAAkB/V,EAAG8V,GAAS,IAAIE,EAAInZ,OAAOL,UAAUyZ,SAAS1W,KAAKS,GAAGkW,MAAM,GAAI,GAAiE,MAAnD,WAANF,GAAkBhW,EAAEzD,cAAayZ,EAAIhW,EAAEzD,YAAYiO,MAAgB,QAANwL,GAAqB,QAANA,EAAoBG,MAAMC,KAAKpW,GAAc,cAANgW,GAAqB,2CAA2CK,KAAKL,GAAWD,GAAkB/V,EAAG8V,QAAzG,CAA7O,CAA+V,CAE/Z,SAASH,GAAiBW,GAAQ,GAAsB,qBAAXja,QAAmD,MAAzBia,EAAKja,OAAOC,WAA2C,MAAtBga,EAAK,cAAuB,OAAOH,MAAMC,KAAKE,EAAO,CAE7J,SAASZ,GAAmBD,GAAO,GAAIU,MAAMI,QAAQd,GAAM,OAAOM,GAAkBN,EAAM,CAE1F,SAASM,GAAkBN,EAAKe,IAAkB,MAAPA,GAAeA,EAAMf,EAAI/X,UAAQ8Y,EAAMf,EAAI/X,QAAQ,IAAK,IAAIF,EAAI,EAAGiZ,EAAO,IAAIN,MAAMK,GAAMhZ,EAAIgZ,EAAKhZ,IAAOiZ,EAAKjZ,GAAKiY,EAAIjY,GAAM,OAAOiZ,CAAM,CAkBtL,IAAIC,GAAY,WACZC,GAAiB,aAKjBC,GAAa,CAAC,MAAMxR,OAAOoQ,IAAmB,SAAK,QAAK,GAAY,CAAC,OAAQ,OAAQ,aAAc,SAAU,eAE7GqB,GAAkB,WAA4B,EAG9CC,GAAe,CACjBC,cAAe,UACf7M,MAAO,cACPP,QAAS,WACTjC,YAAa,gBAIXsP,GAAgB,SAAuBvH,GACzC,OAAOmH,GAAWK,QAAO,SAAUC,EAAMrZ,GAKvC,OAJK,QAAY4R,EAAQ5R,MACvBqZ,EAAKrZ,GAAO4R,EAAQ5R,IAGfqZ,CACT,GAAG,CAAC,EACN,EAGI,GAAS,SAAgBC,GAI3B,IAAIC,EAAUD,EAAIE,OAAO,CACvB7M,KAAM,KACN8M,QAAS/M,GACTE,OAAQ,CAAC,MACT8M,UAAW,WAEL/X,KAAKmQ,KAAOnQ,KAAKmQ,IAAI6H,YACvBhY,KAAKmQ,IAAI6H,WAAWlT,YAAY9E,KAAKmQ,IAEzC,EACApB,QAAS,WACP,IAAI7M,EAAQlC,KAGRiY,EAAgB,WAClB/V,EAAMmN,WAAU,YAEd,SAAU,WACRnN,EAAMgW,UACR,GACF,GACF,EAGAlY,KAAKmY,SAAS5H,MAAM,KAA2B0H,GAE/CjY,KAAKuQ,MAAM,KAAmB0H,GAI1BjY,KAAKoY,SAAWpY,KAAKqY,QAIvBrY,KAAKuQ,MAAM,KAAgCvQ,KAAKsY,OAAO,UAAWL,IAIpEjY,KAAKwM,MACP,IAIE+L,EAAc,SAAqBC,EAAQtZ,GAC7C,IAAIuZ,EAAWxa,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAKoZ,GAEnF,KAAI,EAAAqB,GAAA,IAAcxB,OAAc,EAAAwB,GAAA,IAAqBxB,IAArD,CASA,IAAIyB,GAAS,QAAwBH,EAAQZ,EAAS,CAEpDgB,UAAW,GAAc,GAAc,GAAc,CAAC,EAAGpB,IAAc,SAAmB,QAAe,CAAC,EAAG,CAE3GhO,iBAAiB,EACjBD,aAAcrK,EAAMwL,OAASxL,EAAM0L,aAClC,QAAK1L,GAAO,QAAKoY,MAAiB,CAAC,EAAG,CAEvC5N,MAAM,EACN3B,MAAM,EACNiG,SAAS,EACThE,YAAY,EACZF,gBAAgB,MAYpB,OARA,QAAKwN,IAAclZ,SAAQ,SAAUoI,IAC9B,QAAYtH,EAAMsH,MAGrBmS,EAAOE,OAAOvB,GAAa9Q,KAAS,QAAOtH,EAAMsH,IAErD,IAEO,IAAIsS,SAAQ,SAAUC,EAASC,GACpC,IAAIC,GAAW,EACfN,EAAOpI,MAAM,MAA2B,WACjC0I,GAEHD,EAAO,IAAIE,MAAM,gDAErB,IACAP,EAAOQ,IAAI,MAAiB,SAAUC,GACpC,IAAKA,EAAazI,iBAAkB,CAClC,IAAI3P,EAASyX,EAASW,GAEjBA,EAAazI,mBAChBsI,GAAW,EACXF,EAAQ/X,GAEZ,CACF,IAEA,IAAI0D,EAAMjB,SAASkB,cAAc,OACjClB,SAASC,KAAKkB,YAAYF,GAC1BiU,EAAOU,OAAO3U,EAChB,GApDA,CAqDF,EAII4U,EAAa,SAAoBd,EAAQ7I,GAC3C,IAAIM,EAAUhS,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/Ewa,EAAWxa,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAK,KAEnF,GAAK0R,KAAW,EAAA+I,GAAA,IAAqBxB,OAAc,EAAAwB,GAAA,IAAcxB,MAAe,QAAWuB,GAK3F,OAAOF,EAAYC,EAAQ,GAAc,GAAc,CAAC,EAAGhB,GAAcvH,IAAW,CAAC,EAAG,CACtFsH,cAAe5H,IACb8I,EACN,EAGIc,EAAuB,WACzB,SAASA,EAAQC,GACf,GAAgBxZ,KAAMuZ,IAGtB,QAAOvZ,KAAM,CACXyZ,IAAKD,EACLE,OAAO,QAAaF,MAGtB,QAAiBxZ,KAAM,CACrByZ,KAAK,UACLC,OAAO,WAEX,CA6EA,OAzEA,GAAaH,EAAS,CAAC,CACrBlb,IAAK,OACLK,MAAO,SAAc8I,GACnB,GAAIA,GAAMxH,KAAK0Z,MAAO,CAGpB,IAFA,IAAIC,EAEKC,EAAO3b,UAAUC,OAAQ2b,EAAO,IAAIlD,MAAMiD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGD,EAAKC,EAAO,GAAK7b,UAAU6b,IAG5BH,EAAc3Z,KAAK0Z,OAAO3J,MAAMlS,MAAM8b,EAAa,EAAC,QAAuB,KAAY,QAASnS,GAAI5B,OAAOiU,GAC9G,CACF,GAEC,CACDxb,IAAK,OACLK,MAAO,SAAc8I,GACnB,GAAIA,GAAMxH,KAAK0Z,MAAO,CAGpB,IAFA,IAAIK,EAEKC,EAAQ/b,UAAUC,OAAQ2b,EAAO,IAAIlD,MAAMqD,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGJ,EAAKI,EAAQ,GAAKhc,UAAUgc,IAG7BF,EAAe/Z,KAAK0Z,OAAO3J,MAAMlS,MAAMkc,EAAc,EAAC,QAAuB,KAAY,QAASvS,GAAI5B,OAAOiU,GAChH,CACF,GAKC,CACDxb,IAAK,WACLK,MAAO,SAAkBwb,GACvB,IAAIjK,EAAUhS,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAG/EiB,EAAQ,GAAc,GAAc,CAAC,EAAG+Q,GAAU,CAAC,EAAG,CAExD/F,QAAQ,EACRD,YAAY,EACZX,YAAY,EACZiO,cAAe2C,IAGjB,OAAOZ,EAAWtZ,KAAKyZ,IAAKS,EAAShb,GAAO,WAE1C,OAAO,CACT,GACF,GAGC,CACDb,IAAK,gBACLK,MAAO,SAAuBwb,GAC5B,IAAIjK,EAAUhS,UAAUC,OAAS,QAAsBkE,IAAjBnE,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAG/EiB,EAAQ,GAAc,GAAc,CAAC,EAAG+Q,GAAU,CAAC,EAAG,CAExD/F,QAAQ,EACRD,YAAY,EACZhC,gBAAgB,EAChBqB,YAAY,IAGd,OAAOgQ,EAAWtZ,KAAKyZ,IAAKS,EAAShb,GAAO,SAAUka,GACpD,IAAI/W,EAAU+W,EAAa/W,QAC3B,MAAmB,OAAZA,GAAsC,WAAZA,GAA+B,IAClE,GACF,KAGKkX,CACT,CA5F2B,GA+F3B5B,EAAItR,MAAM,CACR8T,aAAc,WAGZna,KAAKmX,IAAkB,IAAIoC,EAAQvZ,KACrC,KAIG,QAAe2X,EAAI3a,UAAWka,MACjC,QAAeS,EAAI3a,UAAWka,GAAW,CACvCzX,IAAK,WAMH,OAJKO,MAASA,KAAKmX,MACjB,EAAAuB,GAAA,IAAK,IAAK9S,OAAOsR,GAAW,0DAA8D,MAGrFlX,KAAKmX,GACd,GAGN,EAEWiD,IAA6B,SAAc,CACpDC,QAAS,CACPC,OAAQ,MCvTRC,IAA2B,SAAc,CAC3CC,WAAY,CACVzP,OAAQA,IAEVkK,WAAY,CACVwF,QAAS,MAGXJ,QAAS,CACPD,cAAeA,K,wICbnB,SAAS9b,EAAgB1B,EAAKyB,EAAKK,GAAiK,OAApJL,KAAOzB,EAAOS,OAAOoB,eAAe7B,EAAKyB,EAAK,CAAEK,MAAOA,EAAOf,YAAY,EAAMgB,cAAc,EAAMC,UAAU,IAAkBhC,EAAIyB,GAAOK,EAAgB9B,CAAK,CAOzM,IAAI,GAAQ,QAAsB,CACvCyI,OAAO,QAAS,MAAmB,GACnCqV,KAAK,QAAS,KAAkB,OAChCC,eAAe,QAAS,KAAkB,QACzC,MAGQC,GAA2B,QAAO,CAC3C5P,KAAM,KACN6P,YAAY,EACZ3b,MAAO,EACP6W,OAAQ,SAAgB1C,EAAGvG,GACzB,IAAI5N,EAAQ4N,EAAK5N,MACbyD,EAAOmK,EAAKnK,KACZmY,EAAWhO,EAAKgO,SAChBH,EAAgBzb,EAAMyb,cACtBI,EAA0B,QAAlBJ,EAA0B,QAA4B,WAAlBA,EAA6B,MAE7EA,EACA,OAAOtH,EAAEnU,EAAMwb,KAAK,OAAU/X,EAAM,CAClCmR,YAAa,cACbC,MAAOzV,EAAgB,CACrB,oBAAqBY,EAAMmG,OAC1B,cAAcO,OAAOmV,GAAQA,KAC9BD,EACN,IC3BS,GAAQ,QAAsB,CACvCJ,KAAK,QAAS,KAAkB,QAC/B,MAGQM,GAA0B,QAAO,CAC1ChQ,KAAM,KACN6P,YAAY,EACZ3b,MAAO,EACP6W,OAAQ,SAAgB1C,EAAGvG,GACzB,IAAI5N,EAAQ4N,EAAK5N,MACbyD,EAAOmK,EAAKnK,KACZmY,EAAWhO,EAAKgO,SACpB,OAAOzH,EAAEnU,EAAMwb,KAAK,OAAU/X,EAAM,CAClCmR,YAAa,eACXgH,EACN,ICZS,GAAQ,QAAsB,CACvCG,QAAQ,QAAS,MAAmB,GACpCC,YAAY,QAAS,MAAmB,GACxCR,KAAK,QAAS,KAAkB,OAChCC,eAAe,QAAS,KAAkB,QACzC,MAGQQ,GAAsB,QAAO,CACtCnQ,KAAM,KACN6P,YAAY,EACZ3b,MAAO,EACP6W,OAAQ,SAAgB1C,EAAGvG,GACzB,IAAI5N,EAAQ4N,EAAK5N,MACbyD,EAAOmK,EAAKnK,KACZyY,EAAQtO,EAAKsO,MACbC,EAAcvO,EAAKuO,YACnBP,EAAWhO,EAAKgO,SAChBG,EAAS/b,EAAM+b,OACfC,EAAahc,EAAMgc,WACnBP,EAAgBzb,EAAMyb,cACtBW,EAAYL,EAASH,EAAW,GAEpC,IAAKG,EAAQ,CACX,IAAIzN,EAAY,CAAC,EACbqL,EAASuC,IACTG,EAAeF,GAAe,CAAC,EACnCC,EAAU1d,KAAKyV,EAAE2H,GAAY,OAAc,KAAmBxN,EAAW+N,EAAc1C,KACvF,IAAI2C,GAAS,OAAc,KAAiBhO,EAAW+N,EAAc1C,GAEjE2C,GACFF,EAAUJ,EAAa,OAAS,WAAW7H,EAAEuH,EAAa,CACxD1b,MAAO,CACLmG,MAAO6V,EACPP,cAAeA,IAEhBa,GAEP,CAEA,OAAOnI,EAAEnU,EAAMwb,KAAK,OAAU/X,EAAM,CAClCmR,YAAa,UACXwH,EACN,I,WChDEG,GAA2B,QAAc,CAC3CjB,WAAY,CACVW,OAAQA,EACRP,YAAaA,EACbI,WAAYA,I","sources":["webpack://frog/./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal-event.class.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/modal/helpers/modal-manager.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/modal/modal.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/modal/index.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/media/media.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/media/index.js"],"sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } Object.defineProperty(subClass, \"prototype\", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object';\n\nvar BvModalEvent = /*#__PURE__*/function (_BvEvent) {\n _inherits(BvModalEvent, _BvEvent);\n\n var _super = _createSuper(BvModalEvent);\n\n function BvModalEvent(type) {\n var _this;\n\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvModalEvent);\n\n _this = _super.call(this, type, eventInit); // Freeze our new props as readonly, but leave them enumerable\n\n defineProperties(_assertThisInitialized(_this), {\n trigger: readonlyDescriptor()\n });\n return _this;\n }\n\n _createClass(BvModalEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(BvModalEvent), \"Defaults\", this)), {}, {\n trigger: null\n });\n }\n }]);\n\n return BvModalEvent;\n}(BvEvent); // Named exports\n\n\nexport { BvModalEvent };","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\nimport { extend } from '../../../vue';\nimport { IS_BROWSER } from '../../../constants/env';\nimport { addClass, getAttr, getBCR, getCS, getStyle, hasAttr, removeAttr, removeClass, requestAF, selectAll, setAttr, setStyle } from '../../../utils/dom';\nimport { isNull } from '../../../utils/inspect';\nimport { toFloat, toInteger } from '../../../utils/number'; // --- Constants ---\n// Default modal backdrop z-index\n\nvar DEFAULT_ZINDEX = 1040; // Selectors for padding/margin adjustments\n\nvar SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nvar SELECTOR_STICKY_CONTENT = '.sticky-top';\nvar SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'; // --- Main component ---\n// @vue/component\n\nvar ModalManager = /*#__PURE__*/extend({\n data: function data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalCount: function modalCount() {\n return this.modals.length;\n },\n modalsAreOpen: function modalsAreOpen() {\n return this.modalCount > 0;\n }\n },\n watch: {\n modalCount: function modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth();\n\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar();\n this.setScrollbar();\n addClass(document.body, 'modal-open');\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar();\n removeClass(document.body, 'modal-open');\n }\n\n setAttr(document.body, 'data-modal-open-count', String(newCount));\n }\n },\n modals: function modals(newValue) {\n var _this = this;\n\n this.checkScrollbar();\n requestAF(function () {\n _this.updateModals(newValue || []);\n });\n }\n },\n methods: {\n // Public methods\n registerModal: function registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n this.modals.push(modal);\n }\n },\n unregisterModal: function unregisterModal(modal) {\n var index = this.modals.indexOf(modal);\n\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1); // Reset the modal's data\n\n if (!modal._isBeingDestroyed && !modal._isDestroyed) {\n this.resetModal(modal);\n }\n }\n },\n getBaseZIndex: function getBaseZIndex() {\n if (IS_BROWSER && isNull(this.baseZIndex)) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n var div = document.createElement('div');\n addClass(div, 'modal-backdrop');\n addClass(div, 'd-none');\n setStyle(div, 'display', 'none');\n document.body.appendChild(div);\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX);\n document.body.removeChild(div);\n }\n\n return this.baseZIndex || DEFAULT_ZINDEX;\n },\n getScrollbarWidth: function getScrollbarWidth() {\n if (IS_BROWSER && isNull(this.scrollbarWidth)) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n var div = document.createElement('div');\n addClass(div, 'modal-scrollbar-measure');\n document.body.appendChild(div);\n this.scrollbarWidth = getBCR(div).width - div.clientWidth;\n document.body.removeChild(div);\n }\n\n return this.scrollbarWidth || 0;\n },\n // Private methods\n updateModals: function updateModals(modals) {\n var _this2 = this;\n\n var baseZIndex = this.getBaseZIndex();\n var scrollbarWidth = this.getScrollbarWidth();\n modals.forEach(function (modal, index) {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index;\n modal.scrollbarWidth = scrollbarWidth;\n modal.isTop = index === _this2.modals.length - 1;\n modal.isBodyOverflowing = _this2.isBodyOverflowing;\n });\n },\n resetModal: function resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex();\n modal.isTop = true;\n modal.isBodyOverflowing = false;\n }\n },\n checkScrollbar: function checkScrollbar() {\n // Determine if the body element is overflowing\n var _getBCR = getBCR(document.body),\n left = _getBCR.left,\n right = _getBCR.right;\n\n this.isBodyOverflowing = left + right < window.innerWidth;\n },\n setScrollbar: function setScrollbar() {\n var body = document.body; // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n\n body._paddingChangedForModal = body._paddingChangedForModal || [];\n body._marginChangedForModal = body._marginChangedForModal || [];\n\n if (this.isBodyOverflowing) {\n var scrollbarWidth = this.scrollbarWidth; // Adjust fixed content padding\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_FIXED_CONTENT).forEach(function (el) {\n var actualPadding = getStyle(el, 'paddingRight') || '';\n setAttr(el, 'data-padding-right', actualPadding);\n setStyle(el, 'paddingRight', \"\".concat(toFloat(getCS(el).paddingRight, 0) + scrollbarWidth, \"px\"));\n\n body._paddingChangedForModal.push(el);\n }); // Adjust sticky content margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_STICKY_CONTENT).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = getStyle(el, 'marginRight') || '';\n setAttr(el, 'data-margin-right', actualMargin);\n setStyle(el, 'marginRight', \"\".concat(toFloat(getCS(el).marginRight, 0) - scrollbarWidth, \"px\"));\n\n body._marginChangedForModal.push(el);\n }); // Adjust margin\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(function (el)\n /* istanbul ignore next */\n {\n var actualMargin = getStyle(el, 'marginRight') || '';\n setAttr(el, 'data-margin-right', actualMargin);\n setStyle(el, 'marginRight', \"\".concat(toFloat(getCS(el).marginRight, 0) + scrollbarWidth, \"px\"));\n\n body._marginChangedForModal.push(el);\n }); // Adjust body padding\n\n var actualPadding = getStyle(body, 'paddingRight') || '';\n setAttr(body, 'data-padding-right', actualPadding);\n setStyle(body, 'paddingRight', \"\".concat(toFloat(getCS(body).paddingRight, 0) + scrollbarWidth, \"px\"));\n }\n },\n resetScrollbar: function resetScrollbar() {\n var body = document.body;\n\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '');\n removeAttr(el, 'data-padding-right');\n }\n });\n }\n\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(function (el) {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '');\n removeAttr(el, 'data-margin-right');\n }\n });\n }\n\n body._paddingChangedForModal = null;\n body._marginChangedForModal = null; // Restore body padding\n\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '');\n removeAttr(body, 'data-padding-right');\n }\n }\n }\n}); // Create and export our modal manager instance\n\nexport var modalManager = new ModalManager();","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, extend } from '../../vue';\nimport { NAME_MODAL } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_CANCEL, EVENT_NAME_CHANGE, EVENT_NAME_CLOSE, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_OK, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { CODE_ESC } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement } from '../../constants/safe-types';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_MODAL_BACKDROP, SLOT_NAME_MODAL_CANCEL, SLOT_NAME_MODAL_FOOTER, SLOT_NAME_MODAL_HEADER, SLOT_NAME_MODAL_HEADER_CLOSE, SLOT_NAME_MODAL_OK, SLOT_NAME_MODAL_TITLE } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { attemptFocus, closest, contains, getActiveElement as _getActiveElement, getTabables, requestAF, select } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { htmlOrText } from '../../utils/html';\nimport { identity } from '../../utils/identity';\nimport { isString, isUndefinedOrNull } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { scopedStyleMixin } from '../../mixins/scoped-style';\nimport { BButton } from '../button/button';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition';\nimport { BVTransporter } from '../transporter/transporter';\nimport { BvModalEvent } from './helpers/bv-modal-event.class';\nimport { modalManager } from './helpers/modal-manager'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar TRIGGER_BACKDROP = 'backdrop';\nvar TRIGGER_ESC = 'esc';\nvar TRIGGER_FORCE = 'FORCE';\nvar TRIGGER_TOGGLE = 'toggle';\nvar BUTTON_CANCEL = 'cancel'; // TODO: This should be renamed to 'close'\n\nvar BUTTON_CLOSE = 'headerclose';\nvar BUTTON_OK = 'ok';\nvar BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]; // `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\n\nvar OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(PROP_TYPE_STRING, null,\n /* istanbul ignore next */\n function (value) {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value);\n }),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTag: makeProp(PROP_TYPE_STRING, 'footer'),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n})), NAME_MODAL); // --- Main component ---\n// @vue/component\n\nexport var BModal = /*#__PURE__*/extend({\n name: NAME_MODAL,\n mixins: [attrsMixin, idMixin, modelMixin, listenOnDocumentMixin, listenOnRootMixin, listenOnWindowMixin, normalizeSlotMixin, scopedStyleMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n isHidden: true,\n // If modal should not be in document\n isVisible: false,\n // Controls modal visible state\n isTransitioning: false,\n // Used for style control\n isShow: false,\n // Used for style control\n isBlock: false,\n // Used for style control\n isOpening: false,\n // To signal that the modal is in the process of opening\n isClosing: false,\n // To signal that the modal is in the process of closing\n ignoreBackdropClick: false,\n // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n };\n },\n computed: {\n modalId: function modalId() {\n return this.safeId();\n },\n modalOuterId: function modalOuterId() {\n return this.safeId('__BV_modal_outer_');\n },\n modalHeaderId: function modalHeaderId() {\n return this.safeId('__BV_modal_header_');\n },\n modalBodyId: function modalBodyId() {\n return this.safeId('__BV_modal_body_');\n },\n modalTitleId: function modalTitleId() {\n return this.safeId('__BV_modal_title_');\n },\n modalContentId: function modalContentId() {\n return this.safeId('__BV_modal_content_');\n },\n modalFooterId: function modalFooterId() {\n return this.safeId('__BV_modal_footer_');\n },\n modalBackdropId: function modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_');\n },\n modalClasses: function modalClasses() {\n return [{\n fade: !this.noFade,\n show: this.isShow\n }, this.modalClass];\n },\n modalStyles: function modalStyles() {\n var sbWidth = \"\".concat(this.scrollbarWidth, \"px\");\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n };\n },\n dialogClasses: function dialogClasses() {\n var _ref;\n\n return [(_ref = {}, _defineProperty(_ref, \"modal-\".concat(this.size), this.size), _defineProperty(_ref, 'modal-dialog-centered', this.centered), _defineProperty(_ref, 'modal-dialog-scrollable', this.scrollable), _ref), this.dialogClass];\n },\n headerClasses: function headerClasses() {\n var _ref2;\n\n return [(_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(this.headerBgVariant), this.headerBgVariant), _defineProperty(_ref2, \"text-\".concat(this.headerTextVariant), this.headerTextVariant), _defineProperty(_ref2, \"border-\".concat(this.headerBorderVariant), this.headerBorderVariant), _ref2), this.headerClass];\n },\n titleClasses: function titleClasses() {\n return [{\n 'sr-only': this.titleSrOnly\n }, this.titleClass];\n },\n bodyClasses: function bodyClasses() {\n var _ref3;\n\n return [(_ref3 = {}, _defineProperty(_ref3, \"bg-\".concat(this.bodyBgVariant), this.bodyBgVariant), _defineProperty(_ref3, \"text-\".concat(this.bodyTextVariant), this.bodyTextVariant), _ref3), this.bodyClass];\n },\n footerClasses: function footerClasses() {\n var _ref4;\n\n return [(_ref4 = {}, _defineProperty(_ref4, \"bg-\".concat(this.footerBgVariant), this.footerBgVariant), _defineProperty(_ref4, \"text-\".concat(this.footerTextVariant), this.footerTextVariant), _defineProperty(_ref4, \"border-\".concat(this.footerBorderVariant), this.footerBorderVariant), _ref4), this.footerClass];\n },\n modalOuterStyle: function modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n };\n },\n slotScope: function slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n };\n },\n computeIgnoreEnforceFocusSelector: function computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector).filter(identity).join(',').trim();\n },\n computedAttrs: function computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n var scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {};\n return _objectSpread(_objectSpread(_objectSpread({}, scopedStyleAttrs), this.bvAttrs), {}, {\n id: this.modalOuterId\n });\n },\n computedModalAttrs: function computedModalAttrs() {\n var isVisible = this.isVisible,\n ariaLabel = this.ariaLabel;\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby': this.hideHeader || ariaLabel || // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title) ? null : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n };\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']();\n }\n }),\n created: function created() {\n // Define non-reactive properties\n this.$_observer = null;\n this.$_returnFocus = this.returnFocus || null;\n },\n mounted: function mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex(); // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler);\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler);\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler); // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener); // Initially show modal?\n\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Ensure everything is back to normal\n modalManager.unregisterModal(this);\n this.setObserver(false);\n\n if (this.isVisible) {\n this.isVisible = false;\n this.isShow = false;\n this.isTransitioning = false;\n }\n },\n methods: {\n setObserver: function setObserver() {\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n this.$_observer = observeDom(this.$refs.content, this.checkModalOverflow.bind(this), OBSERVER_CONFIG);\n }\n },\n // Private method to update the v-model\n updateModel: function updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value);\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new BvModalEvent(type, _objectSpread(_objectSpread({\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null\n }, options), {}, {\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n }));\n },\n // Public method to show modal\n show: function show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show);\n /* istanbul ignore next */\n\n return;\n }\n\n this.isOpening = true; // Set the element to return focus to when closed\n\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement();\n var showEvent = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvent); // Don't show if canceled\n\n if (showEvent.defaultPrevented || this.isVisible) {\n this.isOpening = false; // Ensure the v-model reflects the current state\n\n this.updateModel(false);\n return;\n } // Show the modal\n\n\n this.doShow();\n },\n // Public method to hide modal\n hide: function hide() {\n var trigger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return;\n }\n\n this.isClosing = true;\n var hideEvent = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n }); // We emit specific event for one of the three built-in buttons\n\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvent);\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvent);\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvent);\n }\n\n this.emitEvent(hideEvent); // Hide if not canceled\n\n if (hideEvent.defaultPrevented || !this.isVisible) {\n this.isClosing = false; // Ensure v-model reflects current state\n\n this.updateModel(true);\n return;\n } // Stop observing for content changes\n\n\n this.setObserver(false); // Trigger the hide transition\n\n this.isVisible = false; // Update the v-model\n\n this.updateModel(false);\n },\n // Public method to toggle modal visibility\n toggle: function toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl;\n }\n\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE);\n } else {\n this.show();\n }\n },\n // Private method to get the current document active element\n getActiveElement: function getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n var activeElement = _getActiveElement(IS_BROWSER ? [document.body] : []); // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n\n\n return activeElement && activeElement.focus ? activeElement : null;\n },\n // Private method to finish showing modal\n doShow: function doShow() {\n var _this = this;\n\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow);\n return;\n }\n\n modalManager.registerModal(this); // Place modal in DOM\n\n this.isHidden = false;\n this.$nextTick(function () {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n _this.isVisible = true;\n _this.isOpening = false; // Update the v-model\n\n _this.updateModel(true);\n\n _this.$nextTick(function () {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n _this.setObserver(true);\n });\n });\n },\n // Transition handlers\n onBeforeEnter: function onBeforeEnter() {\n this.isTransitioning = true;\n this.setResizeEvent(true);\n },\n onEnter: function onEnter() {\n var _this2 = this;\n\n this.isBlock = true; // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n\n requestAF(function () {\n requestAF(function () {\n _this2.isShow = true;\n });\n });\n },\n onAfterEnter: function onAfterEnter() {\n var _this3 = this;\n\n this.checkModalOverflow();\n this.isTransitioning = false; // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n\n requestAF(function () {\n _this3.emitEvent(_this3.buildEvent(EVENT_NAME_SHOWN));\n\n _this3.setEnforceFocus(true);\n\n _this3.$nextTick(function () {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n _this3.focusFirst();\n });\n });\n },\n onBeforeLeave: function onBeforeLeave() {\n this.isTransitioning = true;\n this.setResizeEvent(false);\n this.setEnforceFocus(false);\n },\n onLeave: function onLeave() {\n // Remove the 'show' class\n this.isShow = false;\n },\n onAfterLeave: function onAfterLeave() {\n var _this4 = this;\n\n this.isBlock = false;\n this.isTransitioning = false;\n this.isModalOverflowing = false;\n this.isHidden = true;\n this.$nextTick(function () {\n _this4.isClosing = false;\n modalManager.unregisterModal(_this4);\n\n _this4.returnFocusTo(); // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n\n\n _this4.emitEvent(_this4.buildEvent(EVENT_NAME_HIDDEN));\n });\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type; // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId);\n this.$emit(type, bvEvent);\n },\n // UI event handlers\n onDialogMousedown: function onDialogMousedown() {\n var _this5 = this;\n\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n var modal = this.$refs.modal;\n\n var onceModalMouseup = function onceModalMouseup(event) {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n\n if (event.target === modal) {\n _this5.ignoreBackdropClick = true;\n }\n };\n\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE);\n },\n onClickOut: function onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false;\n return;\n } // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n\n\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return;\n } // If backdrop clicked, hide modal\n\n\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP);\n }\n },\n onOk: function onOk() {\n this.hide(BUTTON_OK);\n },\n onCancel: function onCancel() {\n this.hide(BUTTON_CANCEL);\n },\n onClose: function onClose() {\n this.hide(BUTTON_CLOSE);\n },\n onEsc: function onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC);\n }\n },\n // Document focusin listener\n focusHandler: function focusHandler(event) {\n // If focus leaves modal content, bring it back\n var content = this.$refs.content;\n var target = event.target;\n\n if (this.noEnforceFocus || !this.isTop || !this.isVisible || !content || document === target || contains(content, target) || this.computeIgnoreEnforceFocusSelector && closest(this.computeIgnoreEnforceFocusSelector, target, true)) {\n return;\n }\n\n var tabables = getTabables(this.$refs.content);\n var bottomTrap = this.$refs['bottom-trap'];\n var topTrap = this.$refs['top-trap'];\n\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return;\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return;\n }\n } // Otherwise focus the modal content container\n\n\n attemptFocus(content, {\n preventScroll: true\n });\n },\n // Turn on/off focusin listener\n setEnforceFocus: function setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler);\n },\n // Resize listener\n setResizeEvent: function setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow);\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow);\n },\n // Root listener handlers\n showHandler: function showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement();\n this.show();\n }\n },\n hideHandler: function hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event');\n }\n },\n toggleHandler: function toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl);\n }\n },\n modalListener: function modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide();\n }\n },\n // Focus control handlers\n focusFirst: function focusFirst() {\n var _this6 = this;\n\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(function () {\n var modal = _this6.$refs.modal;\n var content = _this6.$refs.content;\n\n var activeElement = _this6.getActiveElement(); // If the modal contains the activeElement, we don't do anything\n\n\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n var ok = _this6.$refs['ok-button'];\n var cancel = _this6.$refs['cancel-button'];\n var close = _this6.$refs['close-button']; // Focus the appropriate button or modal content wrapper\n\n var autoFocus = _this6.autoFocusButton;\n /* istanbul ignore next */\n\n var el = autoFocus === BUTTON_OK && ok ? ok.$el || ok : autoFocus === BUTTON_CANCEL && cancel ? cancel.$el || cancel : autoFocus === BUTTON_CLOSE && close ? close.$el || close : content; // Focus the element\n\n attemptFocus(el);\n\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n _this6.$nextTick(function () {\n modal.scrollTop = 0;\n });\n }\n }\n });\n }\n },\n returnFocusTo: function returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n var el = this.returnFocus || this.$_returnFocus || null;\n this.$_returnFocus = null;\n this.$nextTick(function () {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el;\n\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el;\n attemptFocus(el);\n }\n });\n },\n checkModalOverflow: function checkModalOverflow() {\n if (this.isVisible) {\n var modal = this.$refs.modal;\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight;\n }\n },\n makeModal: function makeModal(h) {\n // Modal header\n var $header = h();\n\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n var $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope);\n\n if (!$modalHeader) {\n var $closeButton = h();\n\n if (!this.hideHeaderClose) {\n $closeButton = h(BButtonClose, {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: {\n click: this.onClose\n },\n ref: 'close-button'\n }, // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]);\n }\n\n $modalHeader = [h(this.titleTag, {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: {\n id: this.modalTitleId\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) ? {} : htmlOrText(this.titleHtml, this.title)\n }, // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)), $closeButton];\n }\n\n $header = h(this.headerTag, {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: {\n id: this.modalHeaderId\n },\n ref: 'header'\n }, [$modalHeader]);\n } // Modal body\n\n\n var $body = h('div', {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: {\n id: this.modalBodyId\n },\n ref: 'body'\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)); // Modal footer\n\n var $footer = h();\n\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n var $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope);\n\n if (!$modalFooter) {\n var $cancelButton = h();\n\n if (!this.okOnly) {\n $cancelButton = h(BButton, {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL) ? {} : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: {\n click: this.onCancel\n },\n ref: 'cancel-button'\n }, // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL));\n }\n\n var $okButton = h(BButton, {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK) ? {} : htmlOrText(this.okTitleHtml, this.okTitle),\n on: {\n click: this.onOk\n },\n ref: 'ok-button'\n }, // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK));\n $modalFooter = [$cancelButton, $okButton];\n }\n\n $footer = h(this.footerTag, {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: {\n id: this.modalFooterId\n },\n ref: 'footer'\n }, [$modalFooter]);\n } // Assemble modal content\n\n\n var $modalContent = h('div', {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n }, [$header, $body, $footer]); // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n\n var $tabTrapTop = h();\n var $tabTrapBottom = h();\n\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: {\n tabindex: '0'\n },\n ref: 'top-trap'\n });\n $tabTrapBottom = h('span', {\n attrs: {\n tabindex: '0'\n },\n ref: 'bottom-trap'\n });\n } // Modal dialog wrapper\n\n\n var $modalDialog = h('div', {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: {\n mousedown: this.onDialogMousedown\n },\n ref: 'dialog'\n }, [$tabTrapTop, $modalContent, $tabTrapBottom]); // Modal\n\n var $modal = h('div', {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: {\n keydown: this.onEsc,\n click: this.onClickOut\n },\n directives: [{\n name: 'show',\n value: this.isVisible\n }],\n ref: 'modal'\n }, [$modalDialog]); // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n\n $modal = h('transition', {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$modal]); // Modal backdrop\n\n var $backdrop = h();\n\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h('div', {\n staticClass: 'modal-backdrop',\n attrs: {\n id: this.modalBackdropId\n }\n }, // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP));\n }\n\n $backdrop = h(BVTransition, {\n props: {\n noFade: this.noFade\n }\n }, [$backdrop]); // Assemble modal and backdrop in an outer
\n\n return h('div', {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: \"modal-outer-\".concat(this[COMPONENT_UID_KEY])\n }, [$modal, $backdrop]);\n }\n },\n render: function render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h);\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)]);\n }\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Plugin for adding `$bvModal` property to all Vue instances\nimport { NAME_MODAL, NAME_MSG_BOX } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { useParentMixin } from '../../../mixins/use-parent';\nimport { concat } from '../../../utils/array';\nimport { getComponentConfig } from '../../../utils/config';\nimport { requestAF } from '../../../utils/dom';\nimport { getRootActionEventName } from '../../../utils/events';\nimport { isUndefined, isFunction } from '../../../utils/inspect';\nimport { assign, defineProperties, defineProperty, hasOwnProperty, keys, omit, readonlyDescriptor } from '../../../utils/object';\nimport { pluginFactory } from '../../../utils/plugins';\nimport { warn, warnNotClient, warnNoPromiseSupport } from '../../../utils/warn';\nimport { createNewChildComponent } from '../../../utils/create-new-child-component';\nimport { getEventRoot } from '../../../utils/get-event-root';\nimport { BModal, props as modalProps } from '../modal'; // --- Constants ---\n\nvar PROP_NAME = '$bvModal';\nvar PROP_NAME_PRIV = '_bv__modal'; // Base modal props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray(keys(omit(modalProps, ['busy', 'lazy', 'noStacking', 'static', 'visible'])))); // Fallback event resolver (returns undefined)\n\nvar defaultResolver = function defaultResolver() {}; // Map prop names to modal slot names\n\n\nvar propsToSlots = {\n msgBoxContent: 'default',\n title: 'modal-title',\n okTitle: 'modal-ok',\n cancelTitle: 'modal-cancel'\n}; // --- Helper methods ---\n// Method to filter only recognized props that are not undefined\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!isUndefined(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Method to install `$bvModal` VM injection\n\n\nvar plugin = function plugin(Vue) {\n // Create a private sub-component that extends BModal\n // which self-destructs after hidden\n // @vue/component\n var BMsgBox = Vue.extend({\n name: NAME_MSG_BOX,\n extends: BModal,\n mixins: [useParentMixin],\n destroyed: function destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Self destruct handler\n var handleDestroy = function handleDestroy() {\n _this.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy); // Self destruct on route change\n\n /* istanbul ignore if */\n\n if (this.$router && this.$route) {\n // Destroy ourselves if route changes\n\n /* istanbul ignore next */\n this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, this.$watch('$router', handleDestroy));\n } // Show the `BMsgBox`\n\n\n this.show();\n }\n }); // Method to generate the on-demand modal message box\n // Returns a promise that resolves to a value returned by the resolve\n\n var asyncMsgBox = function asyncMsgBox(parent, props) {\n var resolver = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultResolver;\n\n if (warnNotClient(PROP_NAME) || warnNoPromiseSupport(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n } // Create an instance of `BMsgBox` component\n // We set parent as the local VM so these modals can emit events on\n // the app `$root`, as needed by things like tooltips and popovers\n // And it helps to ensure `BMsgBox` is destroyed when parent is destroyed\n\n\n var msgBox = createNewChildComponent(parent, BMsgBox, {\n // Preset the prop values\n propsData: _objectSpread(_objectSpread(_objectSpread({}, filterOptions(getComponentConfig(NAME_MODAL))), {}, {\n // Defaults that user can override\n hideHeaderClose: true,\n hideHeader: !(props.title || props.titleHtml)\n }, omit(props, keys(propsToSlots))), {}, {\n // Props that can't be overridden\n lazy: false,\n busy: false,\n visible: false,\n noStacking: false,\n noEnforceFocus: false\n })\n }); // Convert certain props to scoped slots\n\n keys(propsToSlots).forEach(function (prop) {\n if (!isUndefined(props[prop])) {\n // Can be a string, or array of VNodes.\n // Alternatively, user can use HTML version of prop to pass an HTML string.\n msgBox.$slots[propsToSlots[prop]] = concat(props[prop]);\n }\n }); // Return a promise that resolves when hidden, or rejects on destroyed\n\n return new Promise(function (resolve, reject) {\n var resolved = false;\n msgBox.$once(HOOK_EVENT_NAME_DESTROYED, function () {\n if (!resolved) {\n /* istanbul ignore next */\n reject(new Error('BootstrapVue MsgBox destroyed before resolve'));\n }\n });\n msgBox.$on(EVENT_NAME_HIDE, function (bvModalEvent) {\n if (!bvModalEvent.defaultPrevented) {\n var result = resolver(bvModalEvent); // If resolver didn't cancel hide, we resolve\n\n if (!bvModalEvent.defaultPrevented) {\n resolved = true;\n resolve(result);\n }\n }\n }); // Create a mount point (a DIV) and mount the msgBo which will trigger it to show\n\n var div = document.createElement('div');\n document.body.appendChild(div);\n msgBox.$mount(div);\n });\n }; // Private utility method to open a user defined message box and returns a promise.\n // Not to be used directly by consumers, as this method may change calling syntax\n\n\n var makeMsgBox = function makeMsgBox(parent, content) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var resolver = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n if (!content || warnNoPromiseSupport(PROP_NAME) || warnNotClient(PROP_NAME) || !isFunction(resolver)) {\n /* istanbul ignore next */\n return;\n }\n\n return asyncMsgBox(parent, _objectSpread(_objectSpread({}, filterOptions(options)), {}, {\n msgBoxContent: content\n }), resolver);\n }; // BvModal instance class\n\n\n var BvModal = /*#__PURE__*/function () {\n function BvModal(vm) {\n _classCallCheck(this, BvModal);\n\n // Assign the new properties to this instance\n assign(this, {\n _vm: vm,\n _root: getEventRoot(vm)\n }); // Set these properties as read-only and non-enumerable\n\n defineProperties(this, {\n _vm: readonlyDescriptor(),\n _root: readonlyDescriptor()\n });\n } // --- Instance methods ---\n // Show modal with the specified ID args are for future use\n\n\n _createClass(BvModal, [{\n key: \"show\",\n value: function show(id) {\n if (id && this._root) {\n var _this$_root;\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 (_this$_root = this._root).$emit.apply(_this$_root, [getRootActionEventName(NAME_MODAL, 'show'), id].concat(args));\n }\n } // Hide modal with the specified ID args are for future use\n\n }, {\n key: \"hide\",\n value: function hide(id) {\n if (id && this._root) {\n var _this$_root2;\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 (_this$_root2 = this._root).$emit.apply(_this$_root2, [getRootActionEventName(NAME_MODAL, 'hide'), id].concat(args));\n }\n } // The following methods require Promise support!\n // IE 11 and others do not support Promise natively, so users\n // should have a Polyfill loaded (which they need anyways for IE 11 support)\n // Open a message box with OK button only and returns a promise\n\n }, {\n key: \"msgBoxOk\",\n value: function msgBoxOk(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Pick the modal props we support from options\n var props = _objectSpread(_objectSpread({}, options), {}, {\n // Add in overrides and our content prop\n okOnly: true,\n okDisabled: false,\n hideFooter: false,\n msgBoxContent: message\n });\n\n return makeMsgBox(this._vm, message, props, function () {\n // Always resolve to true for OK\n return true;\n });\n } // Open a message box modal with OK and CANCEL buttons\n // and returns a promise\n\n }, {\n key: \"msgBoxConfirm\",\n value: function msgBoxConfirm(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Set the modal props we support from options\n var props = _objectSpread(_objectSpread({}, options), {}, {\n // Add in overrides and our content prop\n okOnly: false,\n okDisabled: false,\n cancelDisabled: false,\n hideFooter: false\n });\n\n return makeMsgBox(this._vm, message, props, function (bvModalEvent) {\n var trigger = bvModalEvent.trigger;\n return trigger === 'ok' ? true : trigger === 'cancel' ? false : null;\n });\n }\n }]);\n\n return BvModal;\n }(); // Add our instance mixin\n\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvModal` for each VM\n this[PROP_NAME_PRIV] = new BvModal(this);\n }\n }); // Define our read-only `$bvModal` instance property\n // Placed in an if just in case in HMR mode\n\n if (!hasOwnProperty(Vue.prototype, PROP_NAME)) {\n defineProperty(Vue.prototype, PROP_NAME, {\n get: function get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n warn(\"\\\"\".concat(PROP_NAME, \"\\\" must be accessed from a Vue instance \\\"this\\\" context.\"), NAME_MODAL);\n }\n\n return this[PROP_NAME_PRIV];\n }\n });\n }\n};\n\nexport var BVModalPlugin = /*#__PURE__*/pluginFactory({\n plugins: {\n plugin: plugin\n }\n});","import { BModal } from './modal';\nimport { VBModal } from '../../directives/modal/modal';\nimport { BVModalPlugin } from './helpers/bv-modal';\nimport { pluginFactory } from '../../utils/plugins';\nvar ModalPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BModal: BModal\n },\n directives: {\n VBModal: VBModal\n },\n // $bvModal injection\n plugins: {\n BVModalPlugin: BVModalPlugin\n }\n});\nexport { ModalPlugin, BModal };","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { extend, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","import { extend, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","import { BMedia } from './media';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body';\nimport { pluginFactory } from '../../utils/plugins';\nvar MediaPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BMedia: BMedia,\n BMediaAside: BMediaAside,\n BMediaBody: BMediaBody\n }\n});\nexport { MediaPlugin, BMedia, BMediaAside, BMediaBody };"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","configurable","writable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_get","Reflect","get","property","receiver","base","_superPropBase","desc","call","this","hasOwnProperty","_getPrototypeOf","_inherits","subClass","superClass","create","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","BvModalEvent","_BvEvent","_super","type","_this","eventInit","undefined","trigger","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","data","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","computed","modalCount","modalsAreOpen","watch","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","document","body","resetScrollbar","String","newValue","updateModals","methods","registerModal","modal","indexOf","unregisterModal","index","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","createElement","appendChild","zIndex","removeChild","width","clientWidth","_this2","isTop","_getBCR","left","right","window","innerWidth","_paddingChangedForModal","_marginChangedForModal","el","actualPadding","concat","paddingRight","actualMargin","marginRight","modalManager","_makeModelMixin","defaultValue","event","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","subtree","childList","characterData","attributes","attributeFilter","id","ariaLabel","autoFocusButton","array","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTag","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTag","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","lazy","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noFade","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","size","static","title","titleClass","titleHtml","titleSrOnly","titleTag","BModal","name","mixins","attrs","inheritAttrs","isHidden","isVisible","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","safeId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","display","dialogClasses","_ref","headerClasses","_ref2","titleClasses","bodyClasses","_ref3","footerClasses","_ref4","modalOuterStyle","position","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","identity","join","trim","computedAttrs","scopedStyleAttrs","bvAttrs","computedModalAttrs","role","hasNormalizedSlot","oldValue","created","$_observer","$_returnFocus","mounted","listenOnRoot","showHandler","hideHandler","toggleHandler","modalListener","$nextTick","beforeDestroy","setObserver","on","disconnect","$refs","content","checkModalOverflow","bind","updateModel","$emit","buildEvent","options","cancelable","$el","relatedTarget","vueTarget","componentId","$once","getActiveElement","showEvent","emitEvent","defaultPrevented","doShow","hideEvent","toggle","triggerEl","activeElement","focus","listenOnRootOnce","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","_this3","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","_this4","returnFocusTo","bvEvent","emitOnRoot","onDialogMousedown","_this5","onceModalMouseup","onClickOut","onEsc","keyCode","focusHandler","tabables","bottomTrap","topTrap","preventScroll","listenDocument","listenWindow","_this6","autoFocus","scrollTop","scrollHeight","documentElement","clientHeight","makeModal","h","$header","$modalHeader","normalizeSlot","$closeButton","disabled","textVariant","click","ref","staticClass","class","domProps","html","$body","$footer","$modalFooter","$cancelButton","variant","$okButton","$modalContent","tabindex","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","style","keydown","directives","enterClass","enterToClass","enterActiveClass","leaveClass","leaveActiveClass","leaveToClass","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","render","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","n","toString","slice","Array","from","test","iter","isArray","len","arr2","PROP_NAME","PROP_NAME_PRIV","BASE_PROPS","defaultResolver","propsToSlots","msgBoxContent","filterOptions","reduce","memo","Vue","BMsgBox","extend","extends","destroyed","parentNode","handleDestroy","$destroy","bvParent","$router","$route","$watch","asyncMsgBox","parent","resolver","warn","msgBox","propsData","$slots","Promise","resolve","reject","resolved","Error","$on","bvModalEvent","$mount","makeMsgBox","BvModal","vm","_vm","_root","_this$_root","_len","args","_key","_this$_root2","_len2","_key2","message","beforeCreate","BVModalPlugin","plugins","plugin","ModalPlugin","components","VBModal","tag","verticalAlign","BMediaAside","functional","children","align","BMediaBody","noBody","rightAlign","BMedia","slots","scopedSlots","$children","$scopedSlots","$aside","MediaPlugin"],"sourceRoot":""}