{"version":3,"file":"main.6a1068a5.js","mappings":"UAAIA,E,iBCAJ,IAAIC,EAAM,CACT,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,GACR,UAAW,IACX,aAAc,IACd,UAAW,GACX,aAAc,GACd,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,aAAc,GACd,gBAAiB,GACjB,aAAc,GACd,gBAAiB,GACjB,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,UAAW,GACX,aAAc,GACd,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,aAAc,GACd,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,aAAc,GACd,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,aAAc,GACd,UAAW,GACX,OAAQ,GACR,UAAW,GACX,WAAY,GACZ,cAAe,GACf,UAAW,GACX,aAAc,GACd,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,aAAc,GACd,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,YAAa,GACb,eAAgB,GAChB,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,OAAQ,GACR,UAAW,GACX,QAAS,GACT,WAAY,GACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,aAAc,IACd,gBAAiB,IACjB,WAAY,IACZ,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,YAAa,IACb,eAAgB,IAChB,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,KAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,IAEpBC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK,K,ucC/Rb,MAAMY,EAA+BC,GAA6B,OAAD,6BACpE,IACI,aAAaA,EACf,MAAOT,GACL,MAAMU,EAAQV,EAKd,OAJIU,EAAMC,WAEND,EAAMC,SAASC,KAAKX,MAAuBS,EAAMC,SAASC,KAAKX,OAAS,IAErEY,QAAQC,OAAOJ,O,yeCOvB,MAAMK,GAA4B,OAAoB,kBAAkB,GAG/E,IAAaC,EAAb,MAGIC,YAA4EC,EAAU,I,sFAAVA,IAF5E,+C,qDAA6EC,IAK7EC,cAAcC,EAAmCC,GAC7C,IAAIC,EAAO,cACXA,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,QAASC,KAAKT,QACdI,YAAAA,EACAM,IAAKL,EACLM,OAAQ,MACRC,QAAS,CACL,gBAAiBT,MAAAA,EAAwD,GAAKA,EAAgB,GAC9F,eAAgB,mBAChB,OAAU,qBAIlB,OAAOb,EAAmB,YAA6CiB,IAG3EM,uBAAuBC,EAAsCV,GACzD,IAAIC,EAAO,cACXA,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,MAAMS,EAAWD,EAEjB,IAAIP,EAA+B,CAC/BC,QAASC,KAAKT,QACdI,YAAAA,EACAV,KAAMqB,EACNL,IAAKL,EACLM,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,OAAU,qBAIlB,OAAOtB,EAAmB,YAAuBiB,MA3C5CT,EAAU,IADtB,SAIgB,YAAOD,IAA4B,e,iCAHvCC,GCvBN,MAAMkB,EAAsB,KAC/B,IACI,MACMC,EADMC,OAAOC,SAASC,OAAOC,UAAU,GAC1BC,MAAM,KAEzB,IAAK,MAAMC,KAAQN,EAAQ,CACvB,MAAMO,EAAOD,EAAKD,MAAM,KACxB,GAAgB,UAAZE,EAAK,GACL,OAAOA,EAAK,GAMpB,OAFAC,IAEO,GACT,SAGE,OAFAA,IAEO,KAITA,EAAqB,KAEvBC,QAAQlC,MAAM,uC,0UCblB,IAAamC,EAAb,oBACI,kD,yDACA,+C,yDAMA,mC,gDAAO,KACHlB,KAAKmB,iBAAmBZ,OAG5B,0D,gDAA8B,KAC1BP,KAAKoB,UAAUC,MAAM,kCAAmC,CACpDC,aAActB,KAAKmB,iBACnBI,KAAM,IAAIC,UAIlB,yD,gDAA8BC,IAC1BzB,KAAKoB,UAAUC,MAAM,iCAAkC,CACnDC,aAActB,KAAKmB,iBACnBI,KAAM,IAAIC,KACVC,QAAAA,OAIR,2C,gDAAe,KACXzB,KAAKoB,UAAUC,MAAM,gBAAiB,CAClCC,aAActB,KAAKmB,iBACnBI,KAAM,IAAIC,UAIlB,2C,gDAAe,KACXxB,KAAKoB,UAAUC,MAAM,gBAAiB,CAClCC,aAActB,KAAKmB,iBACnBI,KAAM,IAAIC,UAIlB,0C,gDAAc,KACVxB,KAAKoB,UAAUC,MAAM,sBAAuB,CACxCC,aAActB,KAAKmB,iBACnBI,KAAM,IAAIC,UAIlB,6C,gDAAkBvC,IACde,KAAKoB,UAAUC,MAAM,yBAA0B,CAC3CC,aAActB,KAAKmB,iBACnBI,KAAM,IAAIC,KACVvC,KAAAA,OAIR,mD,gDAAuB,CAACyC,EAAmBC,KACvC3B,KAAKoB,UAAUC,MAAM,0BAA2B,CAC5CC,aAActB,KAAKmB,iBACnBS,WAAYF,EACZC,QAAAA,OAxDJP,gBACA,OAAQX,OAAeW,YALlBF,EAAc,IAD1B,UACYA,G,YCTN,MAAMW,EAA0B9C,GAAmB+C,GACtD,aAAwBA,IAAU/C,EAEzBgD,EAAuBC,GAAuBF,GACvDA,EAAMG,OAASD,GAAa,0CAA0CA,KAE7DE,EACT,CAACnD,EAAeoD,EAAa,KAC5BL,GACGA,GAASA,IAAUK,IAAe,mCAAmCC,KAAKN,IAAU/C,ECX/EsD,EAAuBpD,IAChCwB,OAAO6B,OAAOC,YAAYtD,EAAM,MCDpC,IAAYuD,GAAZ,SAAYA,GACR,uBACA,yBAFJ,CAAYA,IAAAA,EAAM,KCAX,MCAMC,EAASxB,Q,yxBC2Bf,MAAMyB,EAAqB,IAYlC,IAAaC,EAAb,MA0CIrD,YACoCsD,EACDC,G,6FADCD,I,4FACDC,IA3CvB,yC,yDAEA,wC,gDAAY,CAAEC,MAAO,EAAGC,OAAQ,KAEhC,+C,yDAEA,2C,iDAAe,IAEf,0C,iDAAc,IAEd,yC,iDAAa,IAEb,wC,iDAAY,IAEZ,qC,yDAEA,wC,gDAAyC,IAAI,EAAAC,UAAU,CAC/DC,KAAM,IAAI,IAAwB,IAAIC,WAClCrB,EAAuB,oBACvBE,EA9BmB,KAgCvBoB,YAAa,IAAI,IAAwB,IAAID,WACzCrB,EAAuB,4BACvBK,EAAgB,8BAEpBP,QAAS,IAAI,IAA2B,IAAIuB,WACxCrB,EAAuB,uBACvBE,EAAoBW,QAqBpB,2C,gDAAgBU,IACpBpD,KAAKoD,UAAYA,KAGb,kD,gDAAuBjC,IAC3BnB,KAAKmB,iBAAmBA,KAGpB,4C,gDAAiBkC,IACrBrD,KAAKqD,WAAaA,KAGd,2C,gDAAgBC,IACpBtD,KAAKsD,UAAYA,KAGb,4C,gDAAiBC,IACrBvD,KAAKuD,aAAeA,KAGhB,2C,gDAAgBC,IACpBxD,KAAKwD,YAAcA,KAGf,4C,gDAAiBC,IACrBzD,KAAKyD,WAAaA,KAGd,wC,gDAAaC,IACjB1D,KAAK0D,OAASA,KAGlB,mC,gDAAO,KAGH,GAFA1D,KAAK4C,eAAee,OAEhBlD,OAAOmD,OAASnD,OAAOoD,IAGvB,OAFA7D,KAAK4C,eAAekB,mCACpBrB,EAAO1D,MAAM,wBAIjB,MAAMoC,EAAmBZ,IC/HD,IAACwD,EAAAA,EDiIR5C,EChIpB,sCAAkD4C,EDkI1C5C,IAILnB,KAAKgE,oBAAoB7C,GAEzBnB,KAAK6C,cACApD,cAAc0B,GACd8C,MAAK,EAAGhF,KAAMwE,MACXzD,KAAKkE,cAAcT,MAEtBU,QACAC,SAAQ,K,UACL,KAAoB,QAAf,EAAApE,KAAKyD,kBAAU,eAAEY,YAKlB,OAJArE,KAAK4C,eAAe0B,2BAChB,IAAIC,IAAIC,SAASC,UAAUC,eAE/BjC,EAAO1D,MAAM,6BAIjB,IAAI4F,GAAwB,EAC5B,MAAMC,EAAkB5E,KAAK6E,eAA8B,QAAf,EAAA7E,KAAKyD,kBAAU,eAAEY,YACvDS,EAAe9E,KAAK6E,eAAeL,SAASC,UAY9C,GATAE,EADAC,EACwBA,IAAoBE,GAEnB9E,KAAK+E,qBAC1BD,EACA9E,KAAKgF,oBAAmC,QAAf,EAAAhF,KAAKyD,kBAAU,eAAEY,aAK1CM,EAKA,OAJA3E,KAAK4C,eAAe0B,2BAChB,IAAIC,IAAIC,SAASC,UAAUC,eAE/BjC,EAAO1D,MAAM,sBAKrBiB,KAAKiF,cAAa,GAElB5C,EAAoB,CAAE6C,KAAM,UAE5BlF,KAAKmF,gBAAgBnF,KAAKoF,UAAUC,EAAElC,YAAa,eACnDnD,KAAKmF,gBAAgBnF,KAAKoF,UAAUC,EAAE1D,QAAS,WAC/C3B,KAAKmF,gBAAgBnF,KAAKoF,UAAUC,EAAEpC,KAAM,eAIxD,8C,gDAAkB,CAACqC,EAA6B5D,MAC5C,IAAA6D,WACI,IAAMD,EAAWvG,QACjBA,IACQA,GACAiB,KAAK4C,eAAe4C,qBAAqB9D,EAAW3C,SAMpE,yC,gDAAa,KACT,MACIsG,GAAG,YAAElC,EAAW,QAAExB,EAAO,KAAEsB,IAC3BjD,KAAKoF,UAETpF,KAAK4C,eAAe6C,gBAEpB,IAAAC,cAAY,KACR1F,KAAKoF,UAAY,IAAI,EAAApC,UAAU,CAC3BC,KAAM,IAAI,IAAwBjD,KAAKwD,YAAc,GAAKP,EAAKnB,OAAOoB,WAClErB,EAAuB,oBACvBE,EApLW,KAsLfoB,YAAa,IAAI,IACbnD,KAAKwD,YAAc,GAAKL,EAAYrB,OACtCoB,WACErB,EAAuB,4BACvBK,EAAgB,8BAEpBP,QAAS,IAAI,IACT3B,KAAKwD,YAAc,GAAK7B,EAAQG,OAClCoB,WACErB,EAAuB,uBACvBE,EAAoBW,SAKhC1C,KAAK2F,cAAa,GAEd3F,KAAK0D,SAAWlB,EAAOoD,OACvBvD,EAAoB,CAChB6C,KAAM,gBACNnC,OAAQ,OACRD,MAAO,SAGXT,EAAoB,CAChB6C,KAAM,gBACNnC,OAAQ,QACRD,MAAO,UAIf9C,KAAK6F,eAAc,MAGvB,0C,gDAAc,KACV7F,KAAK4C,eAAekD,eAEpBzD,EAAoB,CAChB6C,KAAM,gBACNnC,OAAQ,OACRD,MAAO,SAGX9C,KAAK6F,eAAc,MAGvB,2C,gDAAe,IAAY,kCACvB,MAAM,SAAEE,SAAmB/F,KAAKoF,UAAUY,WAE1C,IAAKD,GAAY/F,KAAKmB,iBAAkB,CACpCnB,KAAKiG,eAAc,GAEnB,MAAM,KAAEhD,EAAI,YAAEE,EAAW,QAAExB,IAAY,OAAc3B,KAAKoF,WAEpDnG,EAAO,CACTiH,YAAalG,KAAKmB,iBAClBgF,kBAAmBhD,EACnBxB,QAASA,EAAQyE,OACjBnD,KAAMA,EAAKmD,QAGfpG,KAAK4C,eAAeyD,eAAepH,GAEnC,UACUe,KAAK6C,cAAczC,uBAAuBnB,GAEhDe,KAAK4C,eAAe0D,cACpBtG,KAAKiG,eAAc,GACnBjG,KAAK2F,cAAa,GACpB,MAAOtH,WAMjB,6C,gDAA0BkI,IACtB,IACI,MAAM7B,EAAW,IAAIH,IAAIgC,GAAW7B,SAC9B8B,EAAU,OAEhB,OAAkC,IAA9B9B,EAAS+B,QAAQD,GACV9B,EAAS7E,QAAQ2G,EAAS,IAG9B9B,EACT,MAAOgC,GACL,WAIR,mD,gDAA+B,CAAC5B,EAAsB6B,KAClD,MAAMH,EAAU,OAChB,IAAII,EAAYD,EAKhB,OAJuC,IAAnCA,EAAcF,QAAQD,KACtBI,EAAYD,EAAc9G,QAAQ2G,EAAS,KAGxC1B,EAAa+B,SAASD,MAGjC,kD,gDAA+BE,GACpBA,EAAIjH,QAAQ,OAAQ,OAnO3B,IAAAkH,gBAAe/G,MAdLgH,2BACV,OACKhH,KAAKoF,UAAUC,EAAElC,YAAYrB,QAC7B9B,KAAKoF,UAAUC,EAAE1D,QAAQG,QACzB9B,KAAKoF,UAAUC,EAAEpC,KAAKnB,OACvB9B,KAAKuD,cACLvD,KAAKoF,UAAUW,WArCX,GAAX,EAAAkB,W,gBAAqD,mB,OAAA,IAA7B,EAAAC,+BAAA,EAAAA,+BAA6B,W,iCAE1C,GAAX,EAAAD,W,yDAEW,GAAX,EAAAA,W,gEAEW,GAAX,EAAAA,W,4DAEW,GAAX,EAAAA,W,2DAEW,GAAX,EAAAA,W,0DAEW,GAAX,EAAAA,W,yDAEW,GAAX,EAAAA,W,gBAA0B,mB,OAAA,IAANzE,GAAAA,GAAM,W,6BAEf,GAAX,EAAAyE,W,gBAA+B,mB,OAAA,IAAT,EAAAjE,WAAA,EAAAA,WAAS,W,gCAetB,GAAT,EAAAmE,S,4FAiBO,GAAP,EAAAC,O,4DAIO,GAAP,EAAAA,O,mEAIO,GAAP,EAAAA,O,6DAIO,GAAP,EAAAA,O,4DAIO,GAAP,EAAAA,O,6DAIO,GAAP,EAAAA,O,4DAIO,GAAP,EAAAA,O,6DAIO,GAAP,EAAAA,O,yDA7EQzE,EAAW,IADvB,SA4CQ,YAAOzB,IACP,YAAO7B,I,uBADsD,mB,OAAA,IAAd6B,GAAAA,GAAc,SACH,mBADG,OACH,IAAb7B,GAAAA,GAAa,YA5CtDsD,GEtCN,IAAI0E,EAAa,sBCSjB,MAAMC,GAAoB,QAAS,KACtC,OACI,qBACIN,EAAoB,aACpBzD,EAAY,aACZgE,EAAY,YACZC,EAAW,YACXhE,EAAW,WACXC,EAAU,UACV2B,KAEJ,OAAgBzC,IAGhB0C,GAAG,KAAEpC,EAAI,YAAEE,EAAW,QAAExB,IACxByD,EAEJ,IAAK3B,EACD,OAAO,KAGX,MAAM,qBACFgE,EAAoB,qBACpBC,EAAoB,oBACpBC,EAAmB,gBACnBC,EAAe,gBACfC,EAAe,cACfC,GACArE,EAAWsE,eAETC,EAAc,CAChBrG,QAAS,CACLsG,SAAWC,GAAevG,EAAQsG,SAASC,EAAMC,OAAOrG,OACxDE,UAAWU,EACXZ,MAAOH,EAAQG,MACf/C,MAAO4C,EAAQ5C,OAEnBkE,KAAM,CACFgF,SAAUhF,EAAKmF,sBACfpG,UHpBmB,GGqBnBF,MAAOmB,EAAKnB,MACZ/C,MAAOkE,EAAKlE,OAEhBsJ,MAAO,CACHJ,SAAU9E,EAAYiF,sBACtBtG,MAAOqB,EAAYrB,MACnB/C,MAAOoE,EAAYpE,OAEvBuJ,gBAAiB7E,EAAW8E,eAC5BC,oBAAqB/E,EAAW+E,oBAChCC,iBAAkBf,EAClBgB,iBAAkBjB,EAClBkB,cAAelF,EAAWN,YAC1ByF,UAAW,EACXC,gBAAiBlB,EACjBmB,cAAerF,EAAWsF,UAC1BC,YAAapB,EACbqB,YAAapB,EACbqB,UAAWpB,EACXqB,UAAW5F,EACXyD,qBAAAA,EACAoC,YAAY,EACZ7B,aAAAA,EACAC,YAAAA,EACAhE,YAAAA,GAGJ,OAAO,gBAAC,IAAiB,iBAAKwE,O,aCnE3B,MAAMqB,GAAmB,QAAS,KACrC,OACI,qBACIrC,EAAoB,aACpBzD,EAAY,aACZgE,EAAY,YACZ/D,EAAW,YACXgE,EAAW,WACX/D,EAAU,UACV2B,KAEJ,OAAgBzC,IAGhB0C,GAAG,KAAEpC,EAAI,YAAEE,EAAW,QAAExB,IACxByD,EAEJ,IAAK3B,EACD,OAAO,KAGX,MAAM,qBACFgE,EAAoB,qBACpBC,EAAoB,oBACpBC,EAAmB,gBACnBE,EAAe,gBACfD,EAAe,cACfE,GACArE,EAAWsE,eAETC,EAAc,CAChBrG,QAAS,CACLsG,SAAWC,GAAevG,EAAQsG,SAASC,EAAMC,OAAOrG,OACxDE,UAAWU,EACXZ,MAAOH,EAAQG,MACf/C,MAAO4C,EAAQ5C,OAEnBkE,KAAM,CACFgF,SAAUhF,EAAKmF,sBACfpG,UJpBmB,GIqBnBF,MAAOmB,EAAKnB,MACZ/C,MAAOkE,EAAKlE,OAEhBsJ,MAAO,CACHJ,SAAU9E,EAAYiF,sBACtBtG,MAAOqB,EAAYrB,MACnB/C,MAAOoE,EAAYpE,OAEvBuJ,gBAAiB7E,EAAW8E,eAC5BC,oBAAqB/E,EAAW+E,oBAChCC,iBAAkBf,EAClBgB,iBAAkBjB,EAClBkB,cAAelF,EAAWN,YAC1ByF,UAAW,EACXC,gBAAiBlB,EACjBmB,cAAerF,EAAWsF,UAC1BC,YAAapB,EACbqB,YAAapB,EACbqB,UAAWpB,EACXqB,UAAW5F,EACXyD,qBAAAA,EACAoC,YAAY,EACZ7B,aAAAA,EACAC,YAAAA,EACAhE,YAAAA,GAGJ,OAAO,gBAAC,IAAgB,iBAAKwE,OC9DjC,MAGasB,GAAsB,QAAS,KACxC,OAAO,YAAE9B,EAAW,WAAEnE,EAAU,WAAEkG,EAAU,WAAE9F,EAAU,UAAEL,EAAS,OAAEM,KACjE,OAAgBf,GAEd6G,GAAa,IAAAC,WAEnB,IAAAC,YAAU,MACFjG,MAAAA,OAAU,EAAVA,EAAYsF,YAAarF,IAAWlB,EAAOoD,SAC3C4D,EAAWG,QAAUC,YAAW,KAC5BC,aAAaL,EAAWG,SACxBJ,MACD,QAGR,CAAC9F,KAEJ,IAAAiG,YAAU,KACFrG,GAAcmG,EAAWG,SACzBE,aAAaL,EAAWG,WAE7B,CAACtG,IAEJ,MAAMyG,EACFC,KAAKC,MAAqE,IAA/DD,KAAKE,IAAI7G,EAAUL,OA1BvB,IA0BwCK,EAAUN,MAzBnD,MAyB2E,IAErF,OACI,uBACIoH,MACIJ,EAAQ,GAAKpG,IAAWlB,EAAO2H,QACzB,CAAEC,UAAW,SAASN,MAAUA,KAAUO,gBAAiB,qBAC3D7K,EAEVoJ,UAAW,IAAW,CAClB,UAAWlF,IAAWlB,EAAOoD,QAAUvC,EACvC,QAASK,IAAWlB,EAAOoD,QAAUvC,EACrC,gBAAkB,KAGrBA,EAAaK,IAAWlB,EAAOoD,OAAS,gBAACyD,EAAY,MAAM,gBAAC/B,EAAa,MAAM,KAChF,uBAAKsB,UAAU,2BACX,uBACI0B,QAASjH,EAAamE,EAAc+B,EACpCgB,MAAM,6BACN3B,UAAU,iBACV4B,QAAQ,YACRC,KAAK,OACL1H,OAAO,KACPD,MAAM,MAEN,qBAAG4H,OAAO,8BACN,0BACIC,GAAG,KACHC,GAAG,KACHC,EAAE,KACFJ,KAAMhH,MAAAA,OAAU,EAAVA,EAAYsE,eAAeH,mBAGzC,wBAAMkD,EAAE,KAAKC,EAAE,KAAKjI,MAAM,KAAKC,OAAO,OAAOiI,GAAG,IAAIP,KAAK,UACzD,wBACIQ,EAAE,0DACFR,KAAK,UAET,wBACIQ,EAAE,6pBACFR,KAAMhH,MAAAA,OAAU,EAAVA,EAAYsE,eAAeH,kBAErC,4BACI,0BACIsD,0BAA0B,OAC1BC,YAAY,iBACZlN,GAAG,uBACH8E,OAAO,KACPD,MAAM,KACNgI,EAAE,IACFC,EAAE,KAEF,2BAASK,aAAa,IAAIC,OAAO,uBACjC,iCACIC,OAAO,4CACPD,OAAO,YACPE,GAAG,cACHrG,KAAK,WAET,4BAAUsG,GAAG,MACb,kCAAgBC,aAAa,MAC7B,iCACIH,OAAO,oEACPpG,KAAK,WAET,2BACImG,OAAO,gCACPK,IAAI,qBACJC,KAAK,WAET,2BACID,IAAI,gCACJH,GAAG,gBACHF,OAAO,QACPM,KAAK,mBCpGxBC,GAAU,OAAQ,CAC3BC,WAAY,CAAClJ,EAAatD,EAAY6B,IADnB,EAGnB,QAAS,KACL,OAAO,aAAE4K,EAAY,UAAExI,EAAS,UAAEyI,EAAS,OAAErI,EAAM,KAAEC,KAAU,OAAgBhB,GAuB/E,OArBA,IAAA+G,WAAU/F,EAAM,CAACA,KAEjB,IAAA+F,YAAU,KACNjJ,OAAOuL,iBAAiB,WAAW,EAAG/M,KAAAA,MAClC,GAAmB,aAAfA,MAAAA,OAAI,EAAJA,EAAMiG,MAAoB,CAC1B,MAAM,OAAEnC,EAAM,MAAED,GAAU7D,EAEpBgN,EAAWnJ,GAAS,KAAOC,GAAU,IAE3C+I,EAAa,CAAEhJ,MAAAA,EAAOC,OAAAA,IAGlBgJ,EADAE,EACUzJ,EAAOoD,OAEPpD,EAAO2H,eAK9B,SAEY3K,IAAXkE,GAAwBJ,EACjB,KAIP,gBAAC,aAAgB,KACb,gBAACgG,EAAe,WC5C1B4C,EAAe1H,SAAS2H,cAAc,OAC5C3H,SAAS4H,KAAKC,YAAYH,GAE1B,SAAgB,gBAACN,EAAG,MAAKM,KCPrBI,EAA2B,GAG/B,SAASnO,EAAoBoO,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqB/M,IAAjBgN,EACH,OAAOA,EAAa5N,QAGrB,IAAID,EAAS2N,EAAyBC,GAAY,CACjDtO,GAAIsO,EACJE,QAAQ,EACR7N,QAAS,IAUV,OANA8N,EAAoBH,GAAUI,KAAKhO,EAAOC,QAASD,EAAQA,EAAOC,QAAST,GAG3EQ,EAAO8N,QAAS,EAGT9N,EAAOC,QAIfT,EAAoByO,EAAIF,EnB5BpB7O,EAAW,GACfM,EAAoB0O,EAAI,CAACxB,EAAQyB,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,EAAAA,EACnB,IAASC,EAAI,EAAGA,EAAItP,EAASoE,OAAQkL,IAAK,CAGzC,IAFA,IAAKL,EAAUC,EAAIC,GAAYnP,EAASsP,GACpCC,GAAY,EACPC,EAAI,EAAGA,EAAIP,EAAS7K,OAAQoL,MACpB,EAAXL,GAAsBC,GAAgBD,IAAavO,OAAOD,KAAKL,EAAoB0O,GAAGS,OAAOC,GAASpP,EAAoB0O,EAAEU,GAAKT,EAASO,MAC9IP,EAASU,OAAOH,IAAK,IAErBD,GAAY,EACTJ,EAAWC,IAAcA,EAAeD,IAG7C,GAAGI,EAAW,CACbvP,EAAS2P,OAAOL,IAAK,GACrB,IAAItC,EAAIkC,SACEvN,IAANqL,IAAiBQ,EAASR,IAGhC,OAAOQ,EAvBN2B,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAItP,EAASoE,OAAQkL,EAAI,GAAKtP,EAASsP,EAAI,GAAG,GAAKH,EAAUG,IAAKtP,EAASsP,GAAKtP,EAASsP,EAAI,GACrGtP,EAASsP,GAAK,CAACL,EAAUC,EAAIC,IoBJ/B7O,EAAoBsP,EAAK9O,IACxB,IAAI+O,EAAS/O,GAAUA,EAAOgP,WAC7B,IAAOhP,EAAiB,QACxB,IAAM,EAEP,OADAR,EAAoB8M,EAAEyC,EAAQ,CAAEE,EAAGF,IAC5BA,GCLRvP,EAAoB8M,EAAI,CAACrM,EAASiP,KACjC,IAAI,IAAIN,KAAOM,EACX1P,EAAoBC,EAAEyP,EAAYN,KAASpP,EAAoBC,EAAEQ,EAAS2O,IAC5E9O,OAAOqP,eAAelP,EAAS2O,EAAK,CAAEQ,YAAY,EAAMC,IAAKH,EAAWN,MCJ3EpP,EAAoB8P,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOlO,MAAQ,IAAImO,SAAS,cAAb,GACd,MAAO9P,GACR,GAAsB,iBAAXoC,OAAqB,OAAOA,QALjB,GCAxBtC,EAAoBC,EAAI,CAACgQ,EAAKC,IAAU5P,OAAO6P,UAAUC,eAAe5B,KAAKyB,EAAKC,GCClFlQ,EAAoB0M,EAAKjM,IACH,oBAAX4P,QAA0BA,OAAOC,aAC1ChQ,OAAOqP,eAAelP,EAAS4P,OAAOC,YAAa,CAAE3M,MAAO,WAE7DrD,OAAOqP,eAAelP,EAAS,aAAc,CAAEkD,OAAO,KCLvD3D,EAAoBuQ,IAAO/P,IAC1BA,EAAOgQ,MAAQ,GACVhQ,EAAOiQ,WAAUjQ,EAAOiQ,SAAW,IACjCjQ,G,MCER,IAAIkQ,EAAkB,CACrB,EAAG,GAaJ1Q,EAAoB0O,EAAEQ,EAAKyB,GAA0C,IAA7BD,EAAgBC,GAGxD,IAAIC,EAAuB,CAACC,EAA4B/P,KACvD,IAGIsN,EAAUuC,GAHThC,EAAUmC,EAAaC,GAAWjQ,EAGhBkO,EAAI,EAC3B,GAAGL,EAASqC,MAAMlR,GAAgC,IAAxB4Q,EAAgB5Q,KAAa,CACtD,IAAIsO,KAAY0C,EACZ9Q,EAAoBC,EAAE6Q,EAAa1C,KACrCpO,EAAoByO,EAAEL,GAAY0C,EAAY1C,IAGhD,GAAG2C,EAAS,IAAI7D,EAAS6D,EAAQ/Q,GAGlC,IADG6Q,GAA4BA,EAA2B/P,GACrDkO,EAAIL,EAAS7K,OAAQkL,IACzB2B,EAAUhC,EAASK,GAChBhP,EAAoBC,EAAEyQ,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgB/B,EAASK,IAAM,EAEhC,OAAOhP,EAAoB0O,EAAExB,IAG1B+D,EAAqBxL,KAAiD,2CAAIA,KAAiD,4CAAK,GACpIwL,EAAmBC,QAAQN,EAAqBO,KAAK,KAAM,IAC3DF,EAAmBG,KAAOR,EAAqBO,KAAK,KAAMF,EAAmBG,KAAKD,KAAKF,K,GC7CvF,IAAII,EAAsBrR,EAAoB0O,OAAErN,EAAW,CAAC,EAAE,EAAE,IAAI,IAAOrB,EAAoB,OAC/FqR,EAAsBrR,EAAoB0O,EAAE2C,I","sources":["webpack://@servicetitan/text2chat-widget/webpack/runtime/chunk loaded","webpack://@servicetitan/text2chat-widget//src/Text2Chat.Widget/Text2Chat.Widget.Web/ClientApp/node_modules/@servicetitan/marketing-integration-widgets/node_modules/moment/locale|sync|/^\\.\\/.*$/","webpack://@servicetitan/text2chat-widget/./src/app/utils/common-interfaces.ts","webpack://@servicetitan/text2chat-widget/./src/app/api/widget-data.api.ts","webpack://@servicetitan/text2chat-widget/./src/app/utils/get-widget-instance-id.ts","webpack://@servicetitan/text2chat-widget/./src/app/stores/analytics.store.ts","webpack://@servicetitan/text2chat-widget/./src/app/utils/field-custom-validations.ts","webpack://@servicetitan/text2chat-widget/./src/app/utils/post-message-to-parent.ts","webpack://@servicetitan/text2chat-widget/./src/app/enums/device.ts","webpack://@servicetitan/text2chat-widget/./src/app/utils/is-development-mode.ts","webpack://@servicetitan/text2chat-widget/./src/app/utils/console.ts","webpack://@servicetitan/text2chat-widget/./src/app/stores/widget.store.ts","webpack://@servicetitan/text2chat-widget/./src/app/utils/set-axios-defaults.ts","webpack://@servicetitan/text2chat-widget/./src/app/styles/animations.module.less?d100","webpack://@servicetitan/text2chat-widget/./src/app/components/desktop-widget/desktop-widget.tsx","webpack://@servicetitan/text2chat-widget/./src/app/components/mobile-widget/mobile-widget.tsx","webpack://@servicetitan/text2chat-widget/./src/app/components/widget-container/widget-container.tsx","webpack://@servicetitan/text2chat-widget/./src/app/app.tsx","webpack://@servicetitan/text2chat-widget/./src/index.tsx","webpack://@servicetitan/text2chat-widget/webpack/bootstrap","webpack://@servicetitan/text2chat-widget/webpack/runtime/compat get default export","webpack://@servicetitan/text2chat-widget/webpack/runtime/define property getters","webpack://@servicetitan/text2chat-widget/webpack/runtime/global","webpack://@servicetitan/text2chat-widget/webpack/runtime/hasOwnProperty shorthand","webpack://@servicetitan/text2chat-widget/webpack/runtime/make namespace object","webpack://@servicetitan/text2chat-widget/webpack/runtime/node module decorator","webpack://@servicetitan/text2chat-widget/webpack/runtime/jsonp chunk loading","webpack://@servicetitan/text2chat-widget/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var map = {\n\t\"./af\": 126,\n\t\"./af.js\": 126,\n\t\"./ar\": 127,\n\t\"./ar-dz\": 128,\n\t\"./ar-dz.js\": 128,\n\t\"./ar-kw\": 129,\n\t\"./ar-kw.js\": 129,\n\t\"./ar-ly\": 130,\n\t\"./ar-ly.js\": 130,\n\t\"./ar-ma\": 131,\n\t\"./ar-ma.js\": 131,\n\t\"./ar-sa\": 132,\n\t\"./ar-sa.js\": 132,\n\t\"./ar-tn\": 133,\n\t\"./ar-tn.js\": 133,\n\t\"./ar.js\": 127,\n\t\"./az\": 134,\n\t\"./az.js\": 134,\n\t\"./be\": 135,\n\t\"./be.js\": 135,\n\t\"./bg\": 136,\n\t\"./bg.js\": 136,\n\t\"./bm\": 137,\n\t\"./bm.js\": 137,\n\t\"./bn\": 138,\n\t\"./bn-bd\": 139,\n\t\"./bn-bd.js\": 139,\n\t\"./bn.js\": 138,\n\t\"./bo\": 140,\n\t\"./bo.js\": 140,\n\t\"./br\": 141,\n\t\"./br.js\": 141,\n\t\"./bs\": 142,\n\t\"./bs.js\": 142,\n\t\"./ca\": 143,\n\t\"./ca.js\": 143,\n\t\"./cs\": 144,\n\t\"./cs.js\": 144,\n\t\"./cv\": 145,\n\t\"./cv.js\": 145,\n\t\"./cy\": 146,\n\t\"./cy.js\": 146,\n\t\"./da\": 147,\n\t\"./da.js\": 147,\n\t\"./de\": 148,\n\t\"./de-at\": 149,\n\t\"./de-at.js\": 149,\n\t\"./de-ch\": 150,\n\t\"./de-ch.js\": 150,\n\t\"./de.js\": 148,\n\t\"./dv\": 151,\n\t\"./dv.js\": 151,\n\t\"./el\": 152,\n\t\"./el.js\": 152,\n\t\"./en-au\": 153,\n\t\"./en-au.js\": 153,\n\t\"./en-ca\": 154,\n\t\"./en-ca.js\": 154,\n\t\"./en-gb\": 155,\n\t\"./en-gb.js\": 155,\n\t\"./en-ie\": 156,\n\t\"./en-ie.js\": 156,\n\t\"./en-il\": 157,\n\t\"./en-il.js\": 157,\n\t\"./en-in\": 158,\n\t\"./en-in.js\": 158,\n\t\"./en-nz\": 159,\n\t\"./en-nz.js\": 159,\n\t\"./en-sg\": 160,\n\t\"./en-sg.js\": 160,\n\t\"./eo\": 161,\n\t\"./eo.js\": 161,\n\t\"./es\": 162,\n\t\"./es-do\": 163,\n\t\"./es-do.js\": 163,\n\t\"./es-mx\": 164,\n\t\"./es-mx.js\": 164,\n\t\"./es-us\": 165,\n\t\"./es-us.js\": 165,\n\t\"./es.js\": 162,\n\t\"./et\": 166,\n\t\"./et.js\": 166,\n\t\"./eu\": 167,\n\t\"./eu.js\": 167,\n\t\"./fa\": 168,\n\t\"./fa.js\": 168,\n\t\"./fi\": 169,\n\t\"./fi.js\": 169,\n\t\"./fil\": 170,\n\t\"./fil.js\": 170,\n\t\"./fo\": 171,\n\t\"./fo.js\": 171,\n\t\"./fr\": 33,\n\t\"./fr-ca\": 172,\n\t\"./fr-ca.js\": 172,\n\t\"./fr-ch\": 34,\n\t\"./fr-ch.js\": 34,\n\t\"./fr.js\": 33,\n\t\"./fy\": 35,\n\t\"./fy.js\": 35,\n\t\"./ga\": 36,\n\t\"./ga.js\": 36,\n\t\"./gd\": 37,\n\t\"./gd.js\": 37,\n\t\"./gl\": 38,\n\t\"./gl.js\": 38,\n\t\"./gom-deva\": 39,\n\t\"./gom-deva.js\": 39,\n\t\"./gom-latn\": 40,\n\t\"./gom-latn.js\": 40,\n\t\"./gu\": 41,\n\t\"./gu.js\": 41,\n\t\"./he\": 42,\n\t\"./he.js\": 42,\n\t\"./hi\": 43,\n\t\"./hi.js\": 43,\n\t\"./hr\": 44,\n\t\"./hr.js\": 44,\n\t\"./hu\": 45,\n\t\"./hu.js\": 45,\n\t\"./hy-am\": 46,\n\t\"./hy-am.js\": 46,\n\t\"./id\": 47,\n\t\"./id.js\": 47,\n\t\"./is\": 48,\n\t\"./is.js\": 48,\n\t\"./it\": 49,\n\t\"./it-ch\": 50,\n\t\"./it-ch.js\": 50,\n\t\"./it.js\": 49,\n\t\"./ja\": 51,\n\t\"./ja.js\": 51,\n\t\"./jv\": 52,\n\t\"./jv.js\": 52,\n\t\"./ka\": 53,\n\t\"./ka.js\": 53,\n\t\"./kk\": 54,\n\t\"./kk.js\": 54,\n\t\"./km\": 55,\n\t\"./km.js\": 55,\n\t\"./kn\": 56,\n\t\"./kn.js\": 56,\n\t\"./ko\": 57,\n\t\"./ko.js\": 57,\n\t\"./ku\": 58,\n\t\"./ku.js\": 58,\n\t\"./ky\": 59,\n\t\"./ky.js\": 59,\n\t\"./lb\": 60,\n\t\"./lb.js\": 60,\n\t\"./lo\": 61,\n\t\"./lo.js\": 61,\n\t\"./lt\": 62,\n\t\"./lt.js\": 62,\n\t\"./lv\": 63,\n\t\"./lv.js\": 63,\n\t\"./me\": 64,\n\t\"./me.js\": 64,\n\t\"./mi\": 65,\n\t\"./mi.js\": 65,\n\t\"./mk\": 66,\n\t\"./mk.js\": 66,\n\t\"./ml\": 67,\n\t\"./ml.js\": 67,\n\t\"./mn\": 68,\n\t\"./mn.js\": 68,\n\t\"./mr\": 69,\n\t\"./mr.js\": 69,\n\t\"./ms\": 70,\n\t\"./ms-my\": 71,\n\t\"./ms-my.js\": 71,\n\t\"./ms.js\": 70,\n\t\"./mt\": 72,\n\t\"./mt.js\": 72,\n\t\"./my\": 73,\n\t\"./my.js\": 73,\n\t\"./nb\": 74,\n\t\"./nb.js\": 74,\n\t\"./ne\": 75,\n\t\"./ne.js\": 75,\n\t\"./nl\": 76,\n\t\"./nl-be\": 77,\n\t\"./nl-be.js\": 77,\n\t\"./nl.js\": 76,\n\t\"./nn\": 78,\n\t\"./nn.js\": 78,\n\t\"./oc-lnc\": 79,\n\t\"./oc-lnc.js\": 79,\n\t\"./pa-in\": 80,\n\t\"./pa-in.js\": 80,\n\t\"./pl\": 81,\n\t\"./pl.js\": 81,\n\t\"./pt\": 82,\n\t\"./pt-br\": 83,\n\t\"./pt-br.js\": 83,\n\t\"./pt.js\": 82,\n\t\"./ro\": 84,\n\t\"./ro.js\": 84,\n\t\"./ru\": 85,\n\t\"./ru.js\": 85,\n\t\"./sd\": 86,\n\t\"./sd.js\": 86,\n\t\"./se\": 87,\n\t\"./se.js\": 87,\n\t\"./si\": 88,\n\t\"./si.js\": 88,\n\t\"./sk\": 89,\n\t\"./sk.js\": 89,\n\t\"./sl\": 90,\n\t\"./sl.js\": 90,\n\t\"./sq\": 91,\n\t\"./sq.js\": 91,\n\t\"./sr\": 92,\n\t\"./sr-cyrl\": 93,\n\t\"./sr-cyrl.js\": 93,\n\t\"./sr.js\": 92,\n\t\"./ss\": 94,\n\t\"./ss.js\": 94,\n\t\"./sv\": 95,\n\t\"./sv.js\": 95,\n\t\"./sw\": 96,\n\t\"./sw.js\": 96,\n\t\"./ta\": 97,\n\t\"./ta.js\": 97,\n\t\"./te\": 98,\n\t\"./te.js\": 98,\n\t\"./tet\": 99,\n\t\"./tet.js\": 99,\n\t\"./tg\": 100,\n\t\"./tg.js\": 100,\n\t\"./th\": 101,\n\t\"./th.js\": 101,\n\t\"./tk\": 102,\n\t\"./tk.js\": 102,\n\t\"./tl-ph\": 103,\n\t\"./tl-ph.js\": 103,\n\t\"./tlh\": 104,\n\t\"./tlh.js\": 104,\n\t\"./tr\": 105,\n\t\"./tr.js\": 105,\n\t\"./tzl\": 106,\n\t\"./tzl.js\": 106,\n\t\"./tzm\": 107,\n\t\"./tzm-latn\": 108,\n\t\"./tzm-latn.js\": 108,\n\t\"./tzm.js\": 107,\n\t\"./ug-cn\": 109,\n\t\"./ug-cn.js\": 109,\n\t\"./uk\": 110,\n\t\"./uk.js\": 110,\n\t\"./ur\": 111,\n\t\"./ur.js\": 111,\n\t\"./uz\": 112,\n\t\"./uz-latn\": 113,\n\t\"./uz-latn.js\": 113,\n\t\"./uz.js\": 112,\n\t\"./vi\": 114,\n\t\"./vi.js\": 114,\n\t\"./x-pseudo\": 115,\n\t\"./x-pseudo.js\": 115,\n\t\"./yo\": 116,\n\t\"./yo.js\": 116,\n\t\"./zh-cn\": 117,\n\t\"./zh-cn.js\": 117,\n\t\"./zh-hk\": 118,\n\t\"./zh-hk.js\": 118,\n\t\"./zh-mo\": 119,\n\t\"./zh-mo.js\": 119,\n\t\"./zh-tw\": 120,\n\t\"./zh-tw.js\": 120\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 217;","import { AxiosResponse, AxiosPromise, AxiosError } from 'axios';\n\nexport { AxiosError };\n\nexport const makeCodedException = async (request: AxiosPromise) => {\n try {\n return await request;\n } catch (e) {\n const error = e as AxiosError;\n if (error.response) {\n // enforce ExceptionResponse structure onto error.response.data\n error.response.data.Error = error.response.data.Error || {};\n }\n return Promise.reject(error);\n }\n};\n\nexport function isValidationException(error: ExceptionData) {\n return error.FieldErrors !== undefined;\n}\n\nexport interface ExceptionResponse {\n Error: ExceptionData;\n}\n\nexport interface MockResponseConfig {\n response?: Partial>>;\n error?: Partial>;\n responseCount?: number;\n}\n\nexport const makeContent = (content: any, unspecifiedPaths: string[]) => {\n const paths = new Map();\n const pathsSegments = unspecifiedPaths.map(p => splitPath(p));\n\n return JSON.stringify(content, function (key, value) {\n const path =\n (paths.get(this) ?? '$') + (Array.isArray(this) ? '[*]' : key ? '.' + key : '');\n const originalValue = this[key];\n if (originalValue !== null && typeof originalValue === 'object') {\n paths.set(originalValue, path);\n }\n\n return matchPath(path, pathsSegments) && originalValue != null ? originalValue : value;\n });\n};\n\nconst splitPath = (path: string) => path.split(/\\.|(?=\\[\\*\\])/);\n\nconst matchPath = (path: string, pathsSegments: string[][]) => {\n const segments = splitPath(path);\n for (const pathSegments of pathsSegments) {\n if (\n pathSegments.length === segments.length &&\n segments.every((s, i) => s === pathSegments[i] || pathSegments[i] === '[*]')\n ) {\n return true;\n }\n }\n\n return false;\n};\n\nexport interface ExceptionData {\n Message: string;\n Code?: string | undefined;\n FieldErrors?: { [key: string]: string } | undefined;\n}\n","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated with ApiClientGenerator, using the NSwag toolchain\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from 'utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IWidgetData {\n getWidgetData(x_PublicToken: string | undefined, cancelToken?: CancelToken): AxiosPromise;\n submitHomeOwnerDetails(command: SaveHomeOwnerDetailsCommand, cancelToken?: CancelToken): AxiosPromise;\n}\n\nexport const BASE_URL_TOKEN_WidgetData = symbolToken('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class WidgetData implements IWidgetData {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_WidgetData) @optional() private readonly baseUrl = \"\") {\n }\n\n getWidgetData(x_PublicToken: string | undefined, cancelToken?: CancelToken): AxiosPromise {\n let url_ = \"/api/widget\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"X-PublicToken\": x_PublicToken !== undefined && x_PublicToken !== null ? \"\" + x_PublicToken : \"\",\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request(options_));\n }\n\n submitHomeOwnerDetails(command: SaveHomeOwnerDetailsCommand, cancelToken?: CancelToken): AxiosPromise {\n let url_ = \"/api/widget\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = command;\n\n let options_ = {\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request(options_));\n }\n}\n\nexport interface Text2ChatWidgetLoadingDataDTO {\n welcomeMessage: string;\n confirmationMessage: string;\n websiteUrl: string;\n phoneNumber: string;\n isEnabled: boolean;\n designSettings: DesignSettingsDTO;\n}\n\nexport interface DesignSettingsDTO {\n cardColorMask: string;\n buttonColorMask: string;\n headerColorMask: string;\n backgroundColorMask: string;\n textBubble1ColorMask: string;\n textBubble2ColorMask: string;\n}\n\nexport interface SaveHomeOwnerDetailsCommand {\n publicToken: string;\n mobilePhoneNumber: string;\n name: string;\n message: string;\n}\n","export const getWidgetInstanceId = () => {\n try {\n const url = window.location.search.substring(1);\n const qArray = url.split('&');\n\n for (const item of qArray) {\n const pArr = item.split('=');\n if (pArr[0] === 'token') {\n return pArr[1];\n }\n }\n\n throwErrorForToken();\n\n return '';\n } catch {\n throwErrorForToken();\n\n return '';\n }\n};\n\nconst throwErrorForToken = () => {\n // eslint-disable-next-line no-console\n console.error('Widget instance id is not provided');\n};\n","/* eslint-disable @typescript-eslint/naming-convention */\nimport { injectable } from '@servicetitan/react-ioc';\n\nimport { getWidgetInstanceId } from '../utils/get-widget-instance-id';\n\ninterface IAnalytics {\n track(eventName: string, params: Record): void;\n page(name: string): void;\n}\n\n@injectable()\nexport class AnalyticsStore {\n stepOpenedTimestamp: number | undefined;\n widgetInstanceId: string | undefined;\n\n get analytics(): IAnalytics {\n return (window as any).analytics;\n }\n\n init = () => {\n this.widgetInstanceId = getWidgetInstanceId();\n };\n\n widgetLoadedOutsideOfIframe = () => {\n this.analytics.track('widget loaded outside of iframe', {\n tenant_token: this.widgetInstanceId,\n date: new Date(),\n });\n };\n\n widgetLoadedInWrongWebsite = (website: string) => {\n this.analytics.track('widget loaded in wrong website', {\n tenant_token: this.widgetInstanceId,\n date: new Date(),\n website,\n });\n };\n\n widgetOpened = () => {\n this.analytics.track('widget opened', {\n tenant_token: this.widgetInstanceId,\n date: new Date(),\n });\n };\n\n widgetClosed = () => {\n this.analytics.track('widget closed', {\n tenant_token: this.widgetInstanceId,\n date: new Date(),\n });\n };\n\n messageSent = () => {\n this.analytics.track('widget message sent', {\n tenant_token: this.widgetInstanceId,\n date: new Date(),\n });\n };\n\n sendingMessage = (data: any) => {\n this.analytics.track('widget sending message', {\n tenant_token: this.widgetInstanceId,\n date: new Date(),\n data,\n });\n };\n\n trackValidationError = (fieldName: string, message: string) => {\n this.analytics.track('widget validation error', {\n tenant_token: this.widgetInstanceId,\n field_name: fieldName,\n message,\n });\n };\n}\n","import { FormValidators } from '@servicetitan/form/dist/form-validators';\n\nexport const requiredWithCustomText = (error: string) => (value: any) =>\n FormValidators.required(value) && error;\n\nexport const maxLengthValidation = (maxLength: number) => (value: string) =>\n value.length > maxLength && `# of characters cannot be greater than ${maxLength}.`;\n\nexport const phoneValidation =\n (error: string, emptyValue = '') =>\n (value: string) =>\n value && value !== emptyValue && !/\\([0-9]{3}\\) [0-9]{3}-[0-9]{4}$/i.test(value) && error;\n","export const postMessageToParent = (data: any) => {\n window.parent.postMessage(data, '*');\n};\n","export enum Device {\n Mobile,\n Desktop,\n}\n","export const isDevelopmentMode = () => {\n return process.env.NODE_ENV === 'development';\n};\n","export const logger = console;\n","import { action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport { FieldState, FormState } from 'formstate';\n\nimport {\n InputFieldState,\n TextAreaFieldState,\n formStateToJS,\n} from '@servicetitan/form/dist/form-helpers';\nimport { inject, injectable } from '@servicetitan/react-ioc';\n\nimport { WidgetData as WidgetDataApi, Text2ChatWidgetLoadingDataDTO } from '../api/widget-data.api';\n\nimport { AnalyticsStore } from './analytics.store';\n\nimport {\n maxLengthValidation,\n phoneValidation,\n requiredWithCustomText,\n} from '../utils/field-custom-validations';\nimport { getWidgetInstanceId } from '../utils/get-widget-instance-id';\nimport { postMessageToParent } from '../utils/post-message-to-parent';\nimport { setAxiosDefaults } from '../utils/set-axios-defaults';\n\nimport { Device } from '../enums/device';\nimport { isDevelopmentMode } from '../utils/is-development-mode';\nimport { logger } from '../utils/console';\n\nexport const MESSAGE_MAX_LENGTH = 150;\n\nexport const NAME_MAX_LENGTH = 70;\n\n/* eslint-disable @typescript-eslint/consistent-type-definitions */\ntype ContactFormState = {\n phoneNumber: InputFieldState;\n message: TextAreaFieldState;\n name: InputFieldState;\n};\n\n@injectable()\nexport class WidgetStore {\n @observable widgetData?: Text2ChatWidgetLoadingDataDTO;\n\n @observable pageSizes = { width: 0, height: 0 };\n\n @observable widgetInstanceId?: string;\n\n @observable isSubmitting = false;\n\n @observable isSubmitted = false;\n\n @observable showWidget = false;\n\n @observable isLoading = true;\n\n @observable device?: Device;\n\n @observable formState: FormState = new FormState({\n name: new InputFieldState('').validators(\n requiredWithCustomText('Name is required'),\n maxLengthValidation(NAME_MAX_LENGTH)\n ),\n phoneNumber: new InputFieldState('').validators(\n requiredWithCustomText('Phone Number is required'),\n phoneValidation('Phone Number is not valid')\n ),\n message: new TextAreaFieldState('').validators(\n requiredWithCustomText('Message is required'),\n maxLengthValidation(MESSAGE_MAX_LENGTH)\n ),\n });\n\n @computed get submitButtonDisabled() {\n return (\n !this.formState.$.phoneNumber.value ||\n !this.formState.$.message.value ||\n !this.formState.$.name.value ||\n this.isSubmitting ||\n this.formState.hasError\n );\n }\n\n constructor(\n @inject(AnalyticsStore) private analyticsStore: AnalyticsStore,\n @inject(WidgetDataApi) private widgetDataApi: WidgetDataApi\n ) {\n makeObservable(this);\n }\n\n @action setPageSizes = (pageSizes: { width: number; height: number }) => {\n this.pageSizes = pageSizes;\n };\n\n @action setWidgetInstanceId = (widgetInstanceId: string) => {\n this.widgetInstanceId = widgetInstanceId;\n };\n\n @action setShowWidget = (showWidget: boolean) => {\n this.showWidget = showWidget;\n };\n\n @action setIsLoading = (isLoading: boolean) => {\n this.isLoading = isLoading;\n };\n\n @action setSubmitting = (isSubmitting: boolean) => {\n this.isSubmitting = isSubmitting;\n };\n\n @action setSubmitted = (isSubmitted: boolean) => {\n this.isSubmitted = isSubmitted;\n };\n\n @action setWidgetData = (widgetData: Text2ChatWidgetLoadingDataDTO) => {\n this.widgetData = widgetData;\n };\n\n @action setDevice = (device: Device) => {\n this.device = device;\n };\n\n init = () => {\n this.analyticsStore.init();\n\n if (window.self === window.top) {\n this.analyticsStore.widgetLoadedOutsideOfIframe();\n logger.error('Wrong loading option');\n return;\n }\n\n const widgetInstanceId = getWidgetInstanceId();\n\n setAxiosDefaults(widgetInstanceId);\n\n if (!widgetInstanceId) {\n return;\n }\n\n this.setWidgetInstanceId(widgetInstanceId);\n\n this.widgetDataApi\n .getWidgetData(widgetInstanceId)\n .then(({ data: widgetData }) => {\n this.setWidgetData(widgetData);\n })\n .catch()\n .finally(() => {\n if (!this.widgetData?.websiteUrl) {\n this.analyticsStore.widgetLoadedInWrongWebsite(\n new URL(document.referrer).hostname\n );\n logger.error('Website url is not exist!');\n return;\n }\n\n let preventAccessToWidget = false;\n const websiteHostname = this.getUrlHostname(this.widgetData?.websiteUrl);\n const parentDomain = this.getUrlHostname(document.referrer);\n\n if (websiteHostname) {\n preventAccessToWidget = websiteHostname !== parentDomain;\n } else {\n preventAccessToWidget = !this.isSiteContainsDomain(\n parentDomain!,\n this.removeTrailingSlash(this.widgetData?.websiteUrl)\n );\n }\n\n if (!isDevelopmentMode()) {\n if (preventAccessToWidget) {\n this.analyticsStore.widgetLoadedInWrongWebsite(\n new URL(document.referrer).hostname\n );\n logger.error('Wrong parent page!');\n return;\n }\n }\n\n this.setIsLoading(false);\n\n postMessageToParent({ type: 'ready' });\n\n this.catchValidation(this.formState.$.phoneNumber, 'phoneNumber');\n this.catchValidation(this.formState.$.message, 'message');\n this.catchValidation(this.formState.$.name, 'name');\n });\n };\n\n catchValidation = (fieldState: FieldState, fieldName: string) => {\n reaction(\n () => fieldState.error,\n error => {\n if (error) {\n this.analyticsStore.trackValidationError(fieldName, error);\n }\n }\n );\n };\n\n openWidget = () => {\n const {\n $: { phoneNumber, message, name },\n } = this.formState;\n\n this.analyticsStore.widgetOpened();\n\n runInAction(() => {\n this.formState = new FormState({\n name: new InputFieldState(this.isSubmitted ? '' : name.value).validators(\n requiredWithCustomText('Name is required'),\n maxLengthValidation(NAME_MAX_LENGTH)\n ),\n phoneNumber: new InputFieldState(\n this.isSubmitted ? '' : phoneNumber.value\n ).validators(\n requiredWithCustomText('Phone Number is required'),\n phoneValidation('Phone Number is not valid')\n ),\n message: new TextAreaFieldState(\n this.isSubmitted ? '' : message.value\n ).validators(\n requiredWithCustomText('Message is required'),\n maxLengthValidation(MESSAGE_MAX_LENGTH)\n ),\n });\n });\n\n this.setSubmitted(false);\n\n if (this.device === Device.Mobile) {\n postMessageToParent({\n type: 'setFrameSizes',\n height: '100%',\n width: '100%',\n });\n } else {\n postMessageToParent({\n type: 'setFrameSizes',\n height: '800px',\n width: '420px',\n });\n }\n\n this.setShowWidget(true);\n };\n\n closeWidget = () => {\n this.analyticsStore.widgetClosed();\n\n postMessageToParent({\n type: 'setFrameSizes',\n height: '84px',\n width: '84px',\n });\n\n this.setShowWidget(false);\n };\n\n handleSubmit = async () => {\n const { hasError } = await this.formState.validate();\n\n if (!hasError && this.widgetInstanceId) {\n this.setSubmitting(true);\n\n const { name, phoneNumber, message } = formStateToJS(this.formState);\n\n const data = {\n publicToken: this.widgetInstanceId,\n mobilePhoneNumber: phoneNumber,\n message: message.trim(),\n name: name.trim(),\n };\n\n this.analyticsStore.sendingMessage(data);\n\n try {\n await this.widgetDataApi.submitHomeOwnerDetails(data);\n\n this.analyticsStore.messageSent();\n this.setSubmitting(false);\n this.setSubmitted(true);\n } catch (e) {\n // do nothing yet\n }\n }\n };\n\n private getUrlHostname = (targetUrl: string) => {\n try {\n const hostname = new URL(targetUrl).hostname;\n const pattern = 'www.';\n\n if (hostname.indexOf(pattern) === 0) {\n return hostname.replace(pattern, '');\n }\n\n return hostname;\n } catch (_) {\n return undefined;\n }\n };\n\n private isSiteContainsDomain = (parentDomain: string, webSiteDomain: string) => {\n const pattern = 'www.';\n let targetStr = webSiteDomain;\n if (webSiteDomain.indexOf(pattern) === 0) {\n targetStr = webSiteDomain.replace(pattern, '');\n }\n\n return parentDomain.includes(targetStr);\n };\n\n private removeTrailingSlash = (str: string) => {\n return str.replace(/\\/+$/, '');\n };\n}\n","import axios from 'axios';\n\nexport const setAxiosDefaults = (token?: string) => {\n (axios.defaults.headers as any)['X-PublicToken'] = token;\n};\n","// extracted by mini-css-extract-plugin\nexport var fadeInItem = \"fade-in-item__GtRxR\";\nexport var fadeIn = \"fadeIn__G4Tam\";","import React, { FC } from 'react';\nimport { observer } from 'mobx-react';\n\nimport { DesktopWidget as BaseDesktopWidget } from '@servicetitan/marketing-integration-widgets/dist/text2chat/components/desktop-widget';\nimport { useDependencies } from '@servicetitan/react-ioc';\n\nimport { MESSAGE_MAX_LENGTH, NAME_MAX_LENGTH, WidgetStore } from '../../stores/widget.store';\n\nimport * as AnimationStyles from '../../styles/animations.module.less';\n\nexport const DesktopWidget: FC = observer(() => {\n const [\n {\n submitButtonDisabled,\n isSubmitting,\n handleSubmit,\n closeWidget,\n isSubmitted,\n widgetData,\n formState,\n },\n ] = useDependencies(WidgetStore);\n\n const {\n $: { name, phoneNumber, message },\n } = formState;\n\n if (!widgetData) {\n return null;\n }\n\n const {\n textBubble1ColorMask,\n textBubble2ColorMask,\n backgroundColorMask,\n buttonColorMask,\n headerColorMask,\n cardColorMask,\n } = widgetData.designSettings;\n\n const widgetProps = {\n message: {\n onChange: (event: any) => message.onChange(event.target.value),\n maxLength: MESSAGE_MAX_LENGTH,\n value: message.value,\n error: message.error,\n },\n name: {\n onChange: name.onChangeNativeHandler,\n maxLength: NAME_MAX_LENGTH,\n value: name.value,\n error: name.error,\n },\n phone: {\n onChange: phoneNumber.onChangeNativeHandler,\n value: phoneNumber.value,\n error: phoneNumber.error,\n },\n greetingMessage: widgetData.welcomeMessage,\n confirmationMessage: widgetData.confirmationMessage,\n textBubble2Color: textBubble2ColorMask,\n textBubble1Color: textBubble1ColorMask,\n contactNumber: widgetData.phoneNumber,\n className: AnimationStyles.fadeInItem,\n backgroundColor: backgroundColorMask,\n notAvailable: !widgetData.isEnabled,\n buttonColor: buttonColorMask,\n headerColor: headerColorMask,\n cardColor: cardColorMask,\n isSending: isSubmitting,\n submitButtonDisabled,\n isViewMode: false,\n handleSubmit,\n closeWidget,\n isSubmitted,\n };\n\n return ;\n});\n","import React, { FC } from 'react';\nimport { observer } from 'mobx-react';\n\nimport { MobileWidget as BaseMobileWidget } from '@servicetitan/marketing-integration-widgets/dist/text2chat/components/mobile-widget';\nimport { useDependencies } from '@servicetitan/react-ioc';\n\nimport { MESSAGE_MAX_LENGTH, NAME_MAX_LENGTH, WidgetStore } from '../../stores/widget.store';\n\nimport * as AnimationStyles from '../../styles/animations.module.less';\n\nexport const MobileWidget: FC = observer(() => {\n const [\n {\n submitButtonDisabled,\n isSubmitting,\n handleSubmit,\n isSubmitted,\n closeWidget,\n widgetData,\n formState,\n },\n ] = useDependencies(WidgetStore);\n\n const {\n $: { name, phoneNumber, message },\n } = formState;\n\n if (!widgetData) {\n return null;\n }\n\n const {\n textBubble1ColorMask,\n textBubble2ColorMask,\n backgroundColorMask,\n headerColorMask,\n buttonColorMask,\n cardColorMask,\n } = widgetData.designSettings;\n\n const widgetProps = {\n message: {\n onChange: (event: any) => message.onChange(event.target.value),\n maxLength: MESSAGE_MAX_LENGTH,\n value: message.value,\n error: message.error,\n },\n name: {\n onChange: name.onChangeNativeHandler,\n maxLength: NAME_MAX_LENGTH,\n value: name.value,\n error: name.error,\n },\n phone: {\n onChange: phoneNumber.onChangeNativeHandler,\n value: phoneNumber.value,\n error: phoneNumber.error,\n },\n greetingMessage: widgetData.welcomeMessage,\n confirmationMessage: widgetData.confirmationMessage,\n textBubble2Color: textBubble2ColorMask,\n textBubble1Color: textBubble1ColorMask,\n contactNumber: widgetData.phoneNumber,\n className: AnimationStyles.fadeInItem,\n backgroundColor: backgroundColorMask,\n notAvailable: !widgetData.isEnabled,\n buttonColor: buttonColorMask,\n headerColor: headerColorMask,\n cardColor: cardColorMask,\n isSending: isSubmitting,\n submitButtonDisabled,\n isViewMode: false,\n handleSubmit,\n closeWidget,\n isSubmitted,\n };\n\n return ;\n});\n","import React, { FC, useEffect, useRef } from 'react';\nimport { observer } from 'mobx-react';\nimport classNames from 'classnames';\n\nimport { useDependencies } from '@servicetitan/react-ioc';\n\nimport { DesktopWidget } from '../desktop-widget/desktop-widget';\nimport { MobileWidget } from '../mobile-widget/mobile-widget';\n\nimport { WidgetStore } from '../../stores/widget.store';\n\nimport { Device } from '../../enums/device';\n\nimport * as Styles from './widget-container.module.less';\n\nconst HEIGHT = 810;\nconst WIDTH = 420;\n\nexport const WidgetContainer: FC = observer(() => {\n const [{ closeWidget, showWidget, openWidget, widgetData, pageSizes, device }] =\n useDependencies(WidgetStore);\n\n const timeoutRef = useRef();\n\n useEffect(() => {\n if (widgetData?.isEnabled && device !== Device.Mobile) {\n timeoutRef.current = setTimeout(() => {\n clearTimeout(timeoutRef.current);\n openWidget();\n }, 5000);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [widgetData]);\n\n useEffect(() => {\n if (showWidget && timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n }, [showWidget]);\n\n const scale =\n Math.floor(Math.min(pageSizes.height / HEIGHT, pageSizes.width / WIDTH) * 100) / 100;\n\n return (\n \n {showWidget ? device === Device.Mobile ? : : null}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n );\n});\n","import React, { FC, useEffect } from 'react';\nimport { observer } from 'mobx-react';\n\nimport { useDependencies, provide } from '@servicetitan/react-ioc';\n\nimport { WidgetContainer } from './components/widget-container/widget-container';\n\nimport { AnalyticsStore } from './stores/analytics.store';\nimport { WidgetStore } from './stores/widget.store';\n\nimport { WidgetData } from './api/widget-data.api';\n\nimport { Device } from './enums/device';\n\nimport './styles/app.css';\n\nexport const App: FC = provide({\n singletons: [WidgetStore, WidgetData, AnalyticsStore],\n})(\n observer(() => {\n const [{ setPageSizes, isLoading, setDevice, device, init }] = useDependencies(WidgetStore);\n\n useEffect(init, [init]);\n\n useEffect(() => {\n window.addEventListener('message', ({ data }) => {\n if (data?.type === 'setSize') {\n const { height, width } = data;\n // TODO: later will be checked by device not by height/width\n const isMobile = width <= 760 || height <= 600;\n\n setPageSizes({ width, height });\n\n if (isMobile) {\n setDevice(Device.Mobile);\n } else {\n setDevice(Device.Desktop);\n }\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (device === undefined || isLoading) {\n return null;\n }\n\n return (\n \n \n \n );\n })\n);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { App } from './app/app';\n\nconst appContainer = document.createElement('div');\ndocument.body.appendChild(appContainer);\n\nReactDOM.render(, appContainer);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_servicetitan_text2chat_widget\"] = self[\"webpackChunk_servicetitan_text2chat_widget\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [2,0,3], () => (__webpack_require__(201)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","makeCodedException","request","error","response","data","Promise","reject","BASE_URL_TOKEN_WidgetData","WidgetData","constructor","baseUrl","undefined","getWidgetData","x_PublicToken","cancelToken","url_","replace","options_","baseURL","this","url","method","headers","submitHomeOwnerDetails","command","content_","getWidgetInstanceId","qArray","window","location","search","substring","split","item","pArr","throwErrorForToken","console","AnalyticsStore","widgetInstanceId","analytics","track","tenant_token","date","Date","website","fieldName","message","field_name","requiredWithCustomText","value","maxLengthValidation","maxLength","length","phoneValidation","emptyValue","test","postMessageToParent","parent","postMessage","Device","logger","MESSAGE_MAX_LENGTH","WidgetStore","analyticsStore","widgetDataApi","width","height","FormState","name","validators","phoneNumber","pageSizes","showWidget","isLoading","isSubmitting","isSubmitted","widgetData","device","init","self","top","widgetLoadedOutsideOfIframe","token","setWidgetInstanceId","then","setWidgetData","catch","finally","websiteUrl","widgetLoadedInWrongWebsite","URL","document","referrer","hostname","preventAccessToWidget","websiteHostname","getUrlHostname","parentDomain","isSiteContainsDomain","removeTrailingSlash","setIsLoading","type","catchValidation","formState","$","fieldState","reaction","trackValidationError","widgetOpened","runInAction","setSubmitted","Mobile","setShowWidget","widgetClosed","hasError","validate","setSubmitting","publicToken","mobilePhoneNumber","trim","sendingMessage","messageSent","targetUrl","pattern","indexOf","_","webSiteDomain","targetStr","includes","str","makeObservable","submitButtonDisabled","observable","Text2ChatWidgetLoadingDataDTO","computed","action","fadeInItem","DesktopWidget","handleSubmit","closeWidget","textBubble1ColorMask","textBubble2ColorMask","backgroundColorMask","buttonColorMask","headerColorMask","cardColorMask","designSettings","widgetProps","onChange","event","target","onChangeNativeHandler","phone","greetingMessage","welcomeMessage","confirmationMessage","textBubble2Color","textBubble1Color","contactNumber","className","backgroundColor","notAvailable","isEnabled","buttonColor","headerColor","cardColor","isSending","isViewMode","MobileWidget","WidgetContainer","openWidget","timeoutRef","useRef","useEffect","current","setTimeout","clearTimeout","scale","Math","floor","min","style","Desktop","transform","transformOrigin","onClick","xmlns","viewBox","fill","filter","cx","cy","r","x","y","rx","d","colorInterpolationFilters","filterUnits","floodOpacity","result","values","in","dy","stdDeviation","in2","mode","App","singletons","setPageSizes","setDevice","addEventListener","isMobile","appContainer","createElement","body","appendChild","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","key","splice","n","getter","__esModule","a","definition","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","push","__webpack_exports__"],"sourceRoot":""}